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