高级语言( High Level Language) ◆优缺点:不针对某种具体的计算机,通用性强。用 高级语言编程不需了解计算机内部的结构和原理, 这种语言的形式更接近英语,对于非计算机专业的 人员比较易于掌握。 ◆高级语言程序易读、易编写,程序结构比较筒洁, 大量用于科学计算和事务处理 ◆用高级语言编写的源程序同样必须编译后,计算机 才能执行。编译程序比汇编程序复杂得多,需要占 用较大容量的存储器,编译的过程也要花费更多的 时间。 125446 16:17:5
16:17:59 高级语言(High Level Language) 优缺点:不针对某种具体的计算机,通用性强。用 高级语言编程不需了解计算机内部的结构和原理, 这种语言的形式更接近英语,对于非计算机专业的 人员比较易于掌握。 高级语言程序易读、易编写,程序结构比较简洁, 大量用于科学计算和事务处理。 用高级语言编写的源程序同样必须编译后,计算机 才能执行。编译程序比汇编程序复杂得多,需要占 用较大容量的存储器,编译的过程也要花费更多的 时间。 10 12:54:46
41.1助记符语言 ◇汇编语言的指令由操作码和操作数组成。 操作码用规定的英文缩写字母组成称为助记符。例如: MOVA#76H 表示将十六进制的数据76H送到累加器A中 ◆二进制机器语言是:01110100和01110110 ◆十六进制数是:74H,76H 74H:操作码,将一个数据传送到累加器A;76H:操作数。 4.1.2操作码 ◇操作码功能:表示对操作数进行什么操作 ◇表示形式:由英文缩写字母组成,容易理解和记忆。 ◇例,MOV:数据的传送;ADD:数据相加;ANL:逻辑与 25446 16:17:5
16:17:59 4.1.1 助记符语言 汇编语言的指令由操作码和操作数组成。 操作码用规定的英文缩写字母组成,称为助记符。例如: MOV A, #76H 表示将十六进制的数据76H送到累加器A中, 二进制机器语言是:01110100和01110110 十六进制数是:74H,76H。 74H: 操作码, 将一个数据传送到累加器A; 76H: 操作数。 11 12:54:46 操作码功能:表示对操作数进行什么操作。 表示形式:由英文缩写字母组成,容易理解和记忆。 例, MOV: 数据的传送; ADD:数据相加; ANL: 逻辑与 4.1.2 操作码
413操作数 MOV RO,#10H;MOV30HR1; ◇操作数功能:指出对什么数进行操作以及将操作的结 果放到何处。 ◇操作数的表示形式:可以是参与操作的数据,也可以 是参与操作的数据所在存储器的地址,还可以是数据 所在的寄存器等不同形式。 ◇寻找这些不同形式的操作数的方式称为寻址方式。 ◇立即数MOVA,#76H ◆定义:汇编语言指令中,直接参与操作的数据。 ◆表示方法:十进制格式、十六进制格式、二进制格式。 ◆数据进制区分是在数据后面加后缀:十进制数后缀为D 或省略,十六进制数后缀为H,二进制数后缀为B。 25446 16:17:5
16:17:59 4.1.3 操作数 操作数功能:指出对什么数进行操作以及将操作的结 果放到何处。 操作数的表示形式:可以是参与操作的数据,也可以 是参与操作的数据所在存储器的地址,还可以是数据 所在的寄存器等不同形式。 寻找这些不同形式的操作数的方式称为寻址方式。 12 12:54:46 立即数 定义:汇编语言指令中, 直接参与操作的数据。 表示方法:十进制格式、十六进制格式、二进制格式。 数据进制区分是在数据后面加后缀:十进制数后缀为D 或省略,十六进制数后缀为H, 二进制数后缀为B。 MOV A, #76H MOV R0, #10H ; MOV 30H, R1;
立即数 ◇注意 ◆参与操作的数据的位数要与参与操作的环境相匹配 ◆例如,指令MOVA,#71H,立即数71H是8位二进制 数01110001B的十六进制格式,而A是8位的寄存器, 所以给8位寄存器送的数据不能超出8位。 ◆同理,给十六位寄存器送的数据不能超出16位。 MOV DPTR.#1234H ◆数据只能是整数的格式,不能是小数的格式。逻辑 数据也和二进制数据的表示一样,可以用十进制 十六进制、二进制的数据格式表示。 125446 16:17:5
16:17:59 立即数 注意 参与操作的数据的位数要与参与操作的环境相匹配。 例如,指令MOV A, #71H,立即数71H是8位二进制 数01110001B的十六进制格式,而A是8位的寄存器, 所以给8位寄存器送的数据不能超出8位。 同理,给十六位寄存器送的数据不能超出16位。 MOV DPTR, #1234H 数据只能是整数的格式,不能是小数的格式。逻辑 数据也和二进制数据的表示一样,可以用十进制、 十六进制、二进制的数据格式表示。 13 12:54:46
立即数 ◆当汇编指令中的数据是十六进制且是以字母开头时, 该数据应加一个前导0,以表示后面的字母不是变量 而是数字 MOV A#OFFH ◆在8051内核单片机中,一个数据的前面有前缀#号则 表示后面的数据是立即数,如果数据的前面没有#号, 则说明该数据表示的是直接地址 125446 16:17:5
16:17:59 立即数 当汇编指令中的数据是十六进制且是以字母开头时, 该数据应加一个前导0,以表示后面的字母不是变量 而是数字。 MOV A, #0FFH, 在8051内核单片机中,一个数据的前面有前缀#号则 表示后面的数据是立即数,如果数据的前面没有#号, 则说明该数据表示的是直接地址。 14 12:54:46