指令是在执行阶段发挥作用的,由CPU(Intel、AMD等)来执行。
伪指令是在编译阶段发挥作用的,由汇编器(MASM、TASM等)来解释。
下面以51单片机汇编伪指令为例:
伪指令符 (常数或表达式)
其中:
1、伪指令符是伪指令的名称
2、常数或表达式是伪指令的参数,括号表示可有可无
51单片机最常用的伪指令如下:
(1)起始(Origin)伪指令
标号:ORG nn
功能: 定义程序或数据块的起始地址。 指示此语句后面的程序或数据块以 nn 为起始地址连续存放在程序存储器中。
例如:
ORG 2000H
MOV A, 20H
ORG 伪指令规定了程序的起始地址从 2000H 开始,即该程序的第一条指令“MOVA, 20H”从地址 2000H 开始存放。)
(2)字节定义(Define Byte)伪指令
标号: DB (字节常数或字符或表达式)
功能:指示在程序存储器中以标号为起始地址的单元里存放的数为字节数据(8 位二进制数)。
例如:
OGR 100H
TAB1: DB 0FFH, 'C', 16, −1
从 TAB1 开始的地址单元依次存放 0FFH、 43H、 10H、 0FFH
;(function (page) { page.initImgBorder(); })(window.page);
其中,TAB1=100H(ORG指定);C的ASCII码为43H;十进制16的十六进制为10H,-1的补码为FFH
(3)字定义(Define Word)伪指令
标号: DW (字常数或表达式)
功能:指示在程序存储器中以标号为起始地址的单元里存放的数为字数据(16 位的二进制数)。
例如:
OGR 100H
TAB3 : DW 5678H, 10
;(function (page) { page.initImgBorder(); })(window.page);
其中,TAB3=100H(ORG指定);ROM中的存放情况为:(100H)=56H、(101H)=78H、(102H)=00H、(103H)=0AH