汇编语言伪指令

汇编语言语句的格式

标号 : 操作码 操作数 ; 注释

其中,只有操作码是不可缺少的。标号和操作码之间用“:”作分隔符,也可再加上若干空格。操作码和操作数之间用空格作分隔符,各操作数之间用“,”作分隔符,注释之前用“;”作分隔符。
标号
在 8051 汇编语言中,标号字符个数一般不超过 8 个。若超过 8 个,则以前面的 8 个字符为有效字符。
标号是语句地址的标志符号,如果有其他语句访问该语句,该语句就需要加上标号。汇编时把该语句中操作码第一个字节在程序存储器中的地址赋值给该标号,在其他指令的操作数中,标号就可作为一个确定的数值来使用,以便于程序的调用,转移指令的转入等。
操作码
操作码指指令的助记符或定义符。它用来表示指令的性质,规定这个指令语句的操作类型。
操作数
操作数给出的是参与运算或进行其他操作的数据或这些数据的地址。操作数与操作码之间用空格分隔。
对于操作数中出现的常数,十六进制的需加后缀 H;若以字母 A、B、C、D、E、F 开头,其前面需加一个 0 进行引导说明,如 0A5H;二进制的加后缀 B;十进制的加后缀 D 或者不加。
操作数可以是工作寄存器或特殊功能寄存器 SFR 的代号,也可以是已定义的标号地址,或是带加减运算符的表达式。在需要程序用转移指令原地踏步时,用$表示当前指令地址。
注释
注释由分号“;”引导开始,是说明语句的功能、性质以及执行后果的文字。仅供人们阅读程序时使用,对机器不起作用。

伪 指 令

在汇编过程中,伪指令不产生可执行的目标代码,仅指明在汇编时执行哪一些特殊的操作。
汇编起始指令(ORG)
ORG 的功能是规定下面的目标程序的起始地址。

ORG  1000H
START: MOV  A,#31H

上述例子中规定了标号 START 所在的地址为 1000H,第一条指令就从 1000H 开始存放。

在一个源程序中,可以多次使用 ORG 指令,以规定不同的程序段的起始位置,但不同的程序段之间不能有重叠。在 8051 单片机中,一个源程序若不用 ORG指令开始,则从 0000H 开始存放机器码。
汇编结束命令(END)
END 是汇编语言源程序的结束标志,在 END 以后所写的指令,汇编程序都不予处理。一个源程序只能有一个 END 命令。在同时包含有主程序和子程序的系统中,也只能有一个END 命令,并放在所有指令的最后,否则就有部分指令不能被汇编。
赋值命令(EQU)
EQU 的功能是将一个数据或特定的汇编符号赋予规定的名称字符。

格式:
名称字符 EQU 数据或汇编符
举例:
例如:
READ EQU P1
MOV A,READ

这里将 READ 赋值为汇编符号 P1,在指令中 READ 就可以代替 P1 来使用。
数据地址赋值命令(DATA)
DATA 的功能是将数据地址或代码地址赋予规定的字符名称

格式:
字符名称 DATA 表达式

DATA 的功能和 EQU 有些相似,它们的差别主要有 3 点:第一,EQU 定义的符号必须先定义后使用,而 DATA 的符号可以先使用后定义;第二,DATA 可将一个表达式的值赋给一个名称字符,所定义的名称字符也可以出现在表达式中,而用 EQU 定义的字符不能这样使用;最后,EQU 可把一个汇编符号赋给一个名称字符,而 DATA 则不能。
定义字节指令(DB)
DB 的功能是从指定的地址单元开始定义若干个 8 位内存单元的内容。

格式:
DB 8 位二进制数表

DB 用于在程序存储器中将某一部分存入一组规定好的 8 位二进制数,或者是将一个数据表格存入程序存储器。8 位二进制数可采用二进制、十进制、十六进制和 ASCII 码等多种表示形式。

例如:
TAB1: DB 3FH,55,8,‘C’
TAB2: DB 10100B
//假设 TAB1 的对应地址为 2000H,则经汇编后,将对 2000H 开始的若干内存单元进行如下赋值:
(2000H)=3FH
(2001H)=37H (十进制 55 等于 37H)
(2002H)=38H (8 的 ASCII 码为 38H)
(2003H)=43H (C 的 ASCII 码为 43H)
(2004H)=14H (二进制的 10100B 等于 14H)

定义字命令(DW)
DW 的功能是从指定地址开始,定义若干个 16 位数据。

格式:
DW 16 位数据

DW 的功能与 DB 相似,但 DW 定义的是一个字(两个字节),主要用于定义 16 位地址。
高 8 位的字节先存入寄存器的低地址字节中,而低 8 位的字节则后存入寄存器的高地址字节中。

例如:
ORG 1000H
DW 3964H,6H,20
经汇编后,相关寄存器的内容为:
(1000H)=39H
(1001H)=64H
(1002H)=00H
(1003H)=06H
(1004H)=00H
(1005H)=14H

定义空间命令(DS)

DS 的功能是从指令的地址开始,保留若干字节的内存空间备用。
格式:
DS 表达式
预留内存单元的个数由表达式的值决定。在 8051 系统中预留 ROM 单元并无实际的意义。

位地址符号命令(BIT)

BIT 的功能是将位地址赋予所规定的字符名称。
格式:
字符名称 BIT 位地址
例如:
RECORD  BIT P2.2
PLAY BIT P2.3
这样就可以把位地址 P2.2 和 P2.3 分别赋予变量 RECORD 和 PLAY。
发布了98 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44146373/article/details/105519114