第三章 MCS-51指令系统
汇编语言格式
汇编语言指令是指能汇编成机器语言代码的指令。 MCS51汇编语言指令的格式如下:
标号:操作码[操作数1],[操作数2],[操作数3];注释整个语句行必须在一行之内写完.
各段的含义如下:
:标号是用户给指令语句的一个符号.
1、 ORG 定位伪指令
格式为:
ORG m
m是一般为16位二进制数,m指出在该伪指令后的(伪)指令的汇编地址,即生成的机器指令的起始存贮器地址.
:操作码指出指令操作的性质或控制要求
:操作数是指令操作码操作的对象
: 对程序进行解释,使其具有可读性
ORIGIN
汇编伪指令
伪指令是汇编时不产生机器语言代码的指令,是CPU不能执行的指令,仅提供汇编用的某些控制信息
例3-1
ORG 1000H START:MOV A,#10H . ORG 2000H SECOND: CLR A
2. DB 定义字节伪指令
格式为:
[标号:] DB X1,X2,…,Xn
例3-2
ORG 1000H DB 0AAH SJ-DATA: DB 25,25H ZFC-DATA: DB ‘MCS-51’
经汇编后,从地址1000H处存贮器的内容为: (1000H)= AAH (1001H)= 19H (1002H)= 25H (1003H)= 4DH (1004H)= 43H (1005H)= 53H (1006H)= 2DH (1007H)= 35H (1008H)= 31H
3. DW 定义字伪指令格式为:[标号:] DW Y1, Yi*为双字节数据,可为十进制、十六进制数或表达式两个数据之间用逗号分开
汇编程序从当前ROM地址开始,保留存贮单元,,低8位在后.例3- 1000H DW 1234H SJ_DATA: DW 56H,2000经汇编后,从地址1000H处存贮器的内容为: (1000H)= 12H (1001H)= 34H (1002H)= 00H (1003H)= 56H (1004H)= 07H (1005H)= D0H
4. EQU 赋值伪指令
格式为:字符名称 EQU 项(数或汇编符号)
例3-4
AA EQU R1
MOV A,AA
D10 EQU 10
ADD_Y EQU 07ABH
MOV A,D10
LCALL ADD_Y
5. DS 定义存贮空间伪指令
格式为:
DS 表达式
例3-5
ORG 1000H
DS 07H
DB 20H,20 DW 12H
经汇编后,从地址1000H开始保留7个单元,然后从1007H处存贮器的内容为:
(1007H)= 20H
(1008H)= 14H
(1009H)= 00H
(100AH)= 12H
6. BIT 定义位地址符号伪指令
格式为:
字符名称 BIT 位地址
其功能是把BIT之后的位地址值赋给字符名称。
例3-6
P11 BIT
A2 BIT 02H
这样,P1口位1地址91H就赋给了P11,而A2的值为02H。
7. DATA数据地址赋值伪指令
格式为:
字符名称 DATA 表达式
DATA与EQU伪指令的主要区别是:EQU定义的“字符名称”必须先定义后使用,而DATA定义的“字符名称”没有这种限制,故DATA伪指令通常用在源程序的开头或结尾。
例3-7
ORG 0100H
AA DATA 35H
DPTRA DATA 0AA00H
MOV A,AA ;(35H)→ A
MOV DPTR,#DPTRA;0AA00H → DPTR
8. END 汇编结束伪指令
END伪指令通知汇编程序结束汇编
寻址方式
所谓寻址方式就是如何找到存放操作数的地址,.
一、寄存器寻址
寄存器寻址是由指令指出某一个寄存器的内容作为操作数.
例3-8
MOV A,R3
MOV P1,A
INC R3
二、直接寻址
在直接寻址方式中,由指令直接给出参加操作的数的字节地址或位地址.
直接寻址方式只能在下述三种地址空间寻址:
(1)特殊功能寄存器(SFR)
(2)内部数据存储器RAM的低128个字节
(3) 位地址空间
第三章 mcs-51的指令系统 来自淘豆网www.taodocs.com转载请标明出处.