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