首页 理论教育伪指令及作用-单片机基础及应用

伪指令及作用-单片机基础及应用

【摘要】:伪指令是程序员发给汇编程序的命令,用来设置符号值、保留和初始化存储空间、控制用户程序代码的位置。在汇编时伪指令自身不产生机器码,不属于指令系统。常用的伪指令有以下几种。1.汇编起始地址命令ORG该命令总是出现在源程序的开头位置,用于规定目标程序的起始地址。在END之后所写的指令,汇编程序不再处理。一个源程序只能有一个END指令,并放在所有指令的最后。例如:以上指令经汇编后,将对1000H开始的若干内存单元赋值。

用汇编语言编写的程序称为汇编语言源程序,它不能直接被计算机识别,必须把它翻译成目标程序(机器语言程序),这个翻译过程称为“汇编”过程。把汇编语言源程序自动翻译成目标程序的程序称为“汇编程序”。伪指令(也称为汇编程序的控制命令)是程序员发给汇编程序的命令,用来设置符号值、保留和初始化存储空间、控制用户程序代码的位置。在汇编时伪指令自身不产生机器码,不属于指令系统。常用的伪指令有以下几种。

1.汇编起始地址命令ORG

该命令总是出现在源程序的开头位置,用于规定目标程序的起始地址。

命令格式为:[标号:] ORG 地址

其中,标号项是选择项,根据需要选用;地址项通常为16位绝对地址,但也可以使用标号或表达式表示。

例如,下列ORG命令规定标号START代表地址8000H,即目标程序的第一条指令从8000H开始:

汇编后的目标程序在程序存储器中存放的起始地址是8000H。

2.汇编终止命令END

命令格式为:[标号:] END [表达式]其中,[表达式]是选择项,只有主程序模块才有;[标号:]也是选择项,当源程序为主程序时才有,其值为主程序最后一条指令的符号地址。

END是汇编语言源程序的结束标志。在END之后所写的指令,汇编程序不再处理。一个源程序只能有一个END指令,并放在所有指令的最后。

3.赋值命令EQU

命令格式为:字符名称 EQU 赋值项

其中,赋值项可以是常数、地址、标号或表达式。其功能是将一个数或特定的汇编符号赋予规定的字符名称。赋值后,其值在整个程序中有效。例如:

EQU指令将PORT0赋值为汇编符号P0,在后面的指令中PORT0就可以代替P0来使用。(www.chuimin.cn)

4.定义字节命令DB

命令格式为:[标号:] DB 8位数表其中,8位数表可以是一字节常数或字符,或用逗号分开的字节串,或用引号括起来的字符串。其功能从指定的地址单元开始,定义若干个8位内存单元的内容。例如:

以上指令经汇编后,将对4000H开始的若干内存单元赋值。其结果为

5.定义数据字命令DW

命令格式为:[标号:] DW 16位数表其功能是从指定的地址单元开始,定义若干个16位内存单元的内容。因为16位需占用两个字节,所以高8位在前(低地址),低8位在后(高地址)。例如:

以上指令经汇编后,将对1000H开始的若干内存单元赋值。其结果为

6.定义存储区命令DS

命令格式为:[标号:] DS 16位数表其功能用于从指定地址开始,在程序存储器中保留指定数目的单元作为预留存储区,供程序运行使用。源程序汇编时,对预留单元不赋值。例如:

7.位定义命令BIT

命令格式为:字符名称 BIT 位地址其中,位地址可以是绝对地址,也可以是符号地址(即位符号名称)。其功能是用于给字符名称赋以位地址。例如:

AQ BIT P1.0

功能是把P 1.0的位地址赋给变量AQ,在其后的编程中AQ就可以作为位地址使用。