8051汇编程序设计.ppt
文本预览下载声明
第四章 汇编语言程序设计 4-1 汇编程序约定 汇编语言程序: 用汇编语言编写的、完成特定功能的指令序列。 汇编程序: 能将汇编语言源程序转换成机器语言目标程序的系统软件。 一、汇编程序的约定 4-2 汇编的主要任务: 1)确定程序中每条汇编语言指令的指令机器码。 2)确定每条指令在存储器中的存放地址。 3)提供错误信息。 4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。 4-3. 汇编语言指令类型 4-4. 常用伪指令及其功能 1. ORG—(ORIGIN)起始地址指令:指明程序和数据块起始地址。 指令地址 机器码 源程序 ORG 2000H 2000H 78 30 MAIN: MOV R0,#30H 2002H E6 MOV A,@R0 … ORG 3000H 3000H 23 DB 23H,100,‘A’ 3001H 64 3002H 41 2. DB (Define Byte) 定义字节伪指令?指令格式为:<标号:> DB <8位二进制数表> 其含义是将8位二进制数表所表示的数据或数据串存入从标号开始的连续存储单元中。标号为可选项,它表示数据存储单元地址。 8位二进制数表是指一个字节或用逗号分开的字节数据。可以是用引号括起来的字符串。字符串中的字符按ASCII码存于连续的ROM中。例如: ORG 2000HTABLE: DB 73H,04,100,32,00,-2,”ABC” 表示字节串数据存入由TABLE标号为起始地址的连续存储器单元中。即从2000H存储单元开始依次连续存放数据为:73H,04H,64H,20H,00H,FEH,41H,42H,43H。 6. BIT 位定义伪指令 ? 用于给字符名称赋予位地址。 命令格式为:字符名称 BIT 位地址 其中,位地址可以是绝对地址,也可以是符号地址。 例:ABC BIT P3.1 把P3.1位地址赋值给ABC,在后面的编程中,ABC即可作为位地址P3.1使用。 * * 4-1 汇编程序的约定 4-2 汇编程序的任务 4-3 汇编语言指令类型 4-4常用伪指令及其功能 汇编语言程序到机器语言程序的转换过程称为汇编。 1.手工汇编:人工查指令表汇编。用于设计短小程序或调试程序的场合。 2.机器汇编:用汇编程序进行汇编。 1、汇编语言语句的格式 指令语句的格式为: 【标号】: 助记符 【操作数】 ;【注释】 伪指令语句的格式: 名字 定义符 参数 ;注释 两种语句都由四个部分组成。其中每一部分称为域也称为字段,各字段之间用一个空格或字段定界符分隔,常用的字段定界符有冒号“:”“逗号“,”和分号“;”。其中方括号括起来的是可选择部分。 ????格式说明?: 在指令语句中,标号位于一个语句的开头位置,由字母和数符组成,字母打头,冒号“:”结束。 标号中的字符个数一般不超过8个,若超过8个,则以前面的8个为有效,后面字符不起作用。 ????? 不能使用本汇编语言中已经定义了的符号作标号,比如指令助记符(如ADD) 、伪指令 (如END) 及寄存器符号名称(如PC) 。 ?????? 一条语句可以有标号,也可以没有标号,标号的有无取决于程序中的其它语句是否需要访问该条语句。 伪指令语句与指令语句主要不同是在其名字后面没有冒号。 操作码域: 是指令的助记符或定义符,用来表示指令的性质,规定这个指令语句的操作类型。 伪指令语句中的定义符规定这个指令语句的伪操作功能。对于标号缺省的语句,操作码域作为一行的开始。但在书写时,应与上一行的操作码对齐。 操作数域: 给出的是参与运算或进行其它操作的数据或这些数据的地址。 ?????? 操作数与操作码之间用空格“”分隔,若有两个操作数,这两个操作数之间必须用逗号“,”分开。操作数域若是数据的直接或间接地址,则必须满足寻址方式的规定。 ??操作数域出现的常数表示法: 十六进制数: 其末尾必须加“H”说明; 十六进制数以A、B、C、D、E、F开头,其前面必须添一个“0”进行引导说明, 二进制数: 其末尾必须用“B”说明。 十进制数: 可以不加后缀或加“D”说明。 80C51的操作数可以是寄存器寻址、直接地址等七种寻址方式。 字符: ‘H’ 字符串: “Hello”。 注释域: 注
显示全部