一、什么是伪指令
汇编语言源程序必须翻译成机器语言才能被计算机运行,而翻译通常是由计算机通过汇编程序来实现,翻译过程称为汇编。在翻译过程中需要汇编语言源程序向汇编程序提供相应的编译信息,而这些信息是通过在汇编语言源程序中加入伪指令实现的。也就是说伪指令是放在汇编语言源程序中用于指示汇编程序如何对源程序进行汇编的指令。
二、常用伪指令
① ORG:
格式:ORG 地址(16进制表示)
作用:用于指明程序或数据从程序存储空间的什么位置开始存放。ORG伪指令后的地址是程序或数据的起始地址。
例: ORG 1000H(指明后面的程序从程序存储器的1000H单元开始存放)
START:MOV A,#7FH
② DB:
格式:[标号:] DB 项或项表
作用:用于定义字节数据,可以定义一个字节也可以定义多个字节。定义多个字节时,两两之间用逗号隔开,定义时多个字节是在存储器中连续存放的。
例: ORG 3000H
TAB1: DB 12H,34H
DB '5','A','abc'
③ DW
格式:[标号:] DW 项或项表
作用:与DB相似,但用于定义字数据。项或项表所定义的一个字在存储器中占两个字节。汇编时,机器自动按高字节在前、低字节在后存放,即高字节存放在低地址单元,低字节存放在高地址单元。
例: ORG 3000H
TAB2:DW 1234H, 5678H
④ DS
格式:[标号:] DS 数值表达式
作用:用于在存储器中保留一定数量的字节单元。保留存储单元空间是为了以后存放数据使用。保留的字节单元数由表达式的值决定。
例: ORG 3000H
TAB1:DB 12H, 34H
DS 4H
DB '5'
⑤ EQU
格式:EQU 项
作用:将指令中项的值赋予EQU前面的符号。项可以是常数、地址标号或表达式。
例:
TAB1 EQU 1000H
TAB2 EQU 2000H
结果:TAB1的值为1000H,TAB2的值为2000H。
⑥ DATA
格式:符号 DATA 直接字节地址
作用:用于给片内RAM字节单元地址赋予DATA前面的符号,符号以字母开头,同一单元地址可以赋予多个符号。赋值后可用该符号代替DATA后面的片内RAM字节单元地址(有点像C里面的define)
例:
RESULT DATA 60H (RESULT代表片内RAM的60H单元)
....
MOV RESULT , A
⑦ XDATA
格式:符号 XDATA 直接字节地址
作用:与DATA基本相同,不同点是对片外RAM的字节单元
⑧ bit
格式:符号 bit 位地址
作用:用于给位地址赋予符号,经赋值后可用该符号代替bit后面的位地址。
例:
PLG bit F0
AL bit P1.0
⑨ END
格式:放于程序最后位置,指明程序的结束位置。
|