
3.4 汇编语言的伪指令
伪指令在形式上是一条指令,但它并不译成机器语言,只是为汇编时提供必需的控制信息命令。
1.程序地址定位伪指令ORG
基本格式:

功能:规定程序块或数据块存放的起始地址。在一个汇编语言程序中,可以多次定义ORG伪指令,但要求给定的地址由小到大安排,各段之间地址不能重叠。
2.汇编结束伪指令END
基本格式:

功能:结束汇编。汇编程序遇到END伪指令后即结束汇编。END之后的程序不予以处理。
例如:


3.赋值伪指令EQU
基本格式:

功能:EQU伪指令是把“项”赋给“字符名称”,这里的“字符名称”不同于标号(其后没有冒号),但它是必需的。用EQU赋过值的符号名可以用作数据地址、代码地址、位地址或是一个立即数。
4.定义字节伪指令DB
基本格式:

功能:从指定的地址单元开始,定义若干个8位内存单元的内容。该命令主要是在程序存储器的某一部分存入一组8位二进制数,或者是将一个数据表格存入程序存储器。这个伪指令在汇编以后,将影响程序存储器的内容。
例如:

经汇编后,从地址1000H处存储器的内容依次为0AAH和0~F的ASCII码。
5.定义字伪指令DW
指令格式:

功能:从指定的地址单元开始,定义若干个16位二进制数据,每个字占用两个单元,先存高8位,再存低8位。用法同DB伪指令。
6.定义空间伪指令DS
指令格式:

功能:从标号指定的单元开始保留表达式所代表的存储单元数。
例如:

7.位地址赋值指令BIT
基本格式:

功能:将位地址赋给本语句的标号。经赋值的标号可以代替指令中的位,即在程序中,标号和该位地址是等价的。
例如:

经过上述定义后,在程序中,可以把LED1和LED2当作位地址31H和32H。
8.数据地址赋值伪指令DATA
基本格式:

功能:把“表达式”的值赋给字符名称。DATA伪指令与EQU伪指令的主要区别是:EQU定义的“字符名称”必须先定义后使用,而DATA定义的“字符名称”没有这种限制,故DATA伪指令通常用在源程序的开头。
例如:
