4.2.2伪指令 伪指令是汇编程序能够识别并对汇编过程进行 某种控制的汇编命令。它不是单片机执行的指令, 所以没有对应的可执行目标码,汇编后产生的目 标程序中不会再出现伪指令。 、起始地址设定伪指令ORG 格式为: ORG表达式 该指令的功能是向汇编程序说明下面紧接的程序 段或数据段存放的起始地址。表达式通常为16进 制地址,也可以是已定义的标号地址。 16
16 伪指令是汇编程序能够识别并对汇编过程进行 某种控制的汇编命令。它不是单片机执行的指令, 所以没有对应的可执行目标码,汇编后产生的目 标程序中不会再出现伪指令。 一、起始地址设定伪指令 ORG 格式为: ORG 表达式 该指令的功能是向汇编程序说明下面紧接的程序 段或数据段存放的起始地址。表达式通常为16进 制地址,也可以是已定义的标号地址。 4.2.2 伪指令
ORG 8000H START: MOV A, 30H 此时规定该段程序的机器码从地址8000H单元开 始存放。 在每一个汇编语言源程序的开始,都要设置一条 oRG伪指令来指定该程序在存储器中存放的起始位置。 若省略ORG伪指令,则该程序段从0000H单元开始存 放。在一个源程序中,可以多次使用ORG伪指令规定 不同程序段或数据段存放的起始地址,但要求地址值 由小到大依序排列,不允许空间重叠
17 ORG 8000H START:MOV A,#30H … … 此时规定该段程序的机器码从地址8000H单元开 始存放。 在每一个汇编语言源程序的开始,都要设置一条 ORG伪指令来指定该程序在存储器中存放的起始位置。 若省略ORG伪指令,则该程序段从0000H单元开始存 放。在一个源程序中,可以多次使用ORG伪指令规定 不同程序段或数据段存放的起始地址,但要求地址值 由小到大依序排列,不允许空间重叠
二、汇编结束伪指令END 格式为: END 该指令的功能是结束汇编。 汇编程序遇到END伪指令后即结束汇编。处于 END之后的程序,汇编程序将不处理。 18
18 二、汇编结束伪指令 END 格式为: END 该指令的功能是结束汇编。 汇编程序遇到END伪指令后即结束汇编。处于 END之后的程序,汇编程序将不处理
三、字节数据定义伪指令DB [标号:]DB字节数据表 功能是从标号指定的地址开始,在ROM中定义字节数 据。字节数据表可以是一个或多个字节数据、字符串 或表达式。该伪指令将字节数据表中的数据根据从左 到右的顺序依次存放在指定的存储单元中。一个数据 占一个存储单元。例如: DB“ how are you?” 把字符串中的字符以ASC码的形式存放在连续的 ROM单元中。又如: DB-2,-4,-6,8,10,18 9 把6个数转换为十六进制表示(FEH,FCH,FAH,08H, 0AH,12H),并连续地存放在6个ROM
19 三、字节数据定义伪指令 DB [标号:] DB 字节数据表 功能是从标号指定的地址开始,在ROM中定义字节数 据。字节数据表可以是一个或多个字节数据、字符串 或表达式。该伪指令将字节数据表中的数据根据从左 到右的顺序依次存放在指定的存储单元中。一个数据 占一个存储单元。例如: DB “how are you?” 把字符串中的字符以ASCII码的形式存放在连续的 ROM单元中。又如: DB -2,-4,-6,8,10,18 把6个数转换为十六进制表示(FEH,FCH,FAH,08H, 0AH,12H),并连续地存放在6个ROM
该伪指令常用于存放数据表格。如要存放显 示用的十六进制的字形码,可以用多条DB 指令完成: DB cOh, 0F9H, 0A4H, 0BOH DB99H,92H,82H,0F8H DB80H,90H,88H,83H DB C6H, AlH, 86H, 84H
20 ◼ 该伪指令常用于存放数据表格。如要存放显 示用的十六进制的字形码,可以用多条DB 指令完成: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB C6H,A1H,86H,84H