弗原創IT教育中心 第9章汇编语言程序设计 本章要点 8051汇编语言语句结构的基本格式 @伪指令的功能和应用 汇编的概念 程序设计的步骤和基本方法 顺序程序 分支程序 @循环程序 查表程序 散转程序
第9章 汇编语言程序设计 本章要点 汇编语言程序设计 80C51汇编语言语句结构的基本格式 汇编语言语句结构的基本格式 伪指令的功能和应用 伪指令的功能和应用 汇编的概念 程序设计的步骤和基本方法 程序设计的步骤和基本方法 顺序程序 分支程序 循环程序 查表程序 散转程序
弗原創IT教育中心 §9-1汇编语言程序设计基本概念 9.1.1汇编语言及其语句结构 标号:操作码[目的操作数,源操作数];注释
§9-1 汇编语言程序设计基本概念 9.1.1 汇编语言及其语句结构 标号:操作码 [目的操作数,源操作数 目的操作数,源操作数 ];注释
弗原創IT教育中心 汇编语言程序设计中的数 计算机只能识别二进制数—机器指令,它原本是 不认识常用的十六进制数和十进制数的。 机器指令/目标代码 由0/1代码组成的操作码与操作数。 二进制数:由0/1组成、“逢2进1”的数制 如:01011110B(0~1后缀:B/b) +六进制数:便于读写记忆的二进制数的筒写形式。 (0~9,A~F后缀:H/h) ·BCD码:用二进制数表达的十进制数。 (0~9表示为:0000~1001B后缀:B/b,H/h)
汇编语言程序设计中的数 计算机只能识别二进制数——机器指令,它原本是 不认识常用的十六进制数和十进制数的。 机器指令/目标代码: 由0/1代码组成的操作码与操作数。 二进制数:由0/1组成、“逢2进1”的数制。 如:01011110B (0~1 后缀:B/b) 十六进制数:便于读写记忆的二进制数的简写形式。 (0~9,A~F 后缀:H/h) BCD码:用二进制数表达的十进制数。 (0~9表示为:0000~1001B 后缀:B/b,H/h)
弗原創IT教育中心 汇编语言编程基本规则 ←汇编语言:用助记符描述的指令的集合。 汇编程序:汇编语言编写的程序借助编译工具 编译成为目标代码,计算机才能识别。这个编译工具 称为汇编程序。 「标号:]操作码「目的操作数][,源操作数];注释 √指令中以AF开头的十六进制数前必须添一个 0”。 √二进制数必须带后级“B”或“b”;十六进制数必须 带后级“H”或“h”;十进制数的后缀是“D”或“d”或无
汇编语言编程基本规则 汇编语言:用助记符描述的指令的集合。 汇编程序:汇编语言编写的程序借助编译工具 编译成为目标代码,计算机才能识别。这个编译工具 称为汇编程序。 [标号:]操作码 [目的操作数][,源操作数][;注释] √指令中以 A —F 开头的十六进制数前必须添一个 “ 0 ” 。 √二进制数必须带后缀 “ B ” 或 “ b ”;十六进制数必须 带后缀 “ H ” 或 “ h ”;十进制数的后缀是 “ D ” 或 “ d ”或无
弗原創IT教育中心 9.1.2伪指令 在汇编时起控制作用,自身并不产生机器码,而 仅是为汇编服务的一些指令,称为伪指令。伪指令不属 于80C51指令系统。 常用的伪指令有以下几种 1.起始伪指令ORG( Origin) 格式:ORG16位地址 功能:规定0RG下面目标程序的起始地址。 ORG 0100H START: Mov A, #05H ADD A, #08H MOV 20H, A ORG0100H表示该伪指令下面第一条指令的起始地址 是0100H,即M0VA,#05H指令的第一个字节地址为 0100H,或标号 START代表的地址为0100H
9.1.2 伪指令 在汇编时起控制作用,自身并不产生机器码,而 仅是为汇编服务的一些指令,称为伪指令。伪指令不属 于80C51指令系统。 常用的伪指令有以下几种: ⒈ 起始伪指令 ORG(Origin) 功能:规定ORG下面目标程序的起始地址。 格式:ORG 16位地址 ORG 0100H START:MOV A,#05H ADD A,#08H MOV 20H,A ORG 0100H表示该伪指令下面第一条指令的起始地址 是0100H,即MOV A,#05H指令的第一个字节地址为 0100H,或标号START代表的地址为0100H
弗原創IT教育中心 2.结束伪指令END 格式:END 功能:汇编语言源程序的结束标志。 在ED后面的指令,汇编程序不再处理 3等值伪指令EQ( Equate) 格式:字符名称EU数据或汇编符号 功能:将一个数据或特定的汇编符号赋予规定 的字符名称。 例如: PP EQU R0;PP=RO Mov A, PP A RO 这里将PP等值为汇编符号R0,在指令中P就可以代替 RO来使用
⒉ 结束伪指令 END 功能:汇编语言源程序的结束标志。 在END后面的指令,汇编程序不再处理。 格式:END ⒊ 等值伪指令 EQU(Equate) 格式:字符名称 EQU 数据或汇编符号 功能:将一个数据或特定的汇编符号赋予规定 功能:将一个数据或特定的汇编符号赋予规定 的字符名称。 例如: PP EQU R0 ;PP=R0 MOV A,PP ;A R0 这里将PP等值为汇编符号R0,在指令中PP就可以代替 R0来使用
弗原創IT教育中心 4.数据地址赋值伪指令DATA 格式:字符名称DATA表达式 功能:将数据地址或代码地址赋予规定的 字符名称
⒋ 数据地址赋值伪指令 DATA 格式:字符名称 DATA 表达式 功能:将数据地址或代码地址赋予规定的 字符名称
弗原創IT教育中心 5.定义字节伪指令DB( Define byte) 格式:DB8位二进制数表 功能:从指定的地址单元开始,定义若干 个8位内存单元的数据。 数据与数据之间用“,”分割。 例如: ORG 4000H TAB:DB73H,45,“A”,“2 TABl: DB 101B 以上指令经汇编后,将对40009开始的若干内存单 元赋值。(4000=73H,(4001H):2DH(注:45的16 进制数)
⒌ 定义字节伪指令DB(Define Byte) 格式:DB 8位二进制数表 功能:从指定的地址单元开始,定义若干 个8位内存单元的数据。 数据与数据之间用“,”分割。 例如: ORG 4000H TAB: DB 73H,45,“A”,“2” TAB1:DB 101B 以上指令经汇编后,将对4000H开始的若干内存单 元赋值。 (4000H)=73H,(4001H):2DH(注:45的16 进制数)
弗原創IT教育中心 6.定义字伪指令DW( Define word) 格式:DW16位二进制数表 功能:从指定的地址单元开始,定义 若干个16位数据。 7.定义位地址伪指令BIT 功能:将位地址赋予所规定的字符名称。 格式:字符名称BT位地址 AQ BIT PO. 0 DEF BIT 30H 把P0.0的位地址赋给字符AQ,把位地址30H赋给字 符DEF。在其后的编程中,AQ可作P0.0使用,DEF可作 位地址30H使用
⒍ 定义字伪指令DW(Define Word) 格式:DW 16位二进制数表 功能:从指定的地址单元开始,定义 若干个16位数据。 ⒎ 定义位地址伪指令BIT 功能:将位地址赋予所规定的字符名称。 格式:字符名称 BIT 位地址 AQ BIT P0.0 DEF BIT 30H 把P0.0的位地址赋给字符AQ,把位地址30H赋给字 符DEF。在其后的编程中,AQ可作P0.0使用,DEF可作 位地址30H使用
弗原創IT教育中心 汇编 将汇编语言源程序转换为计算机所能识别 的机器语言代码程序的过程称为汇编。 汇编可分为: 1.手工汇编 2.计算机汇编
三.汇编 将汇编语言源程序转换为计算机所能识别 的机器语言代码程序的过程称为汇编。 汇编可分为: ⒈ 手工汇编 ⒉ 计算机汇编