MCS-51 汇编语言指令集
符号定义表
符号 含义
Rn R0~R7 寄存器 n=0~7
Direct
直接地址,内部数据区的地址 RAM(00H~7FH)
SFR(80H~FFH) B,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0
@Ri
间接地址 Ri=R0 或 R1 8051/31RAM 地址(00H~7FH) 8052/32RAM 地址(00H~
FFH)
#data 8 位常数
#data16 16 位常数
Addr16 16 位的目标地址
Addr11 11 位的目标地址
Rel 相关地址
bit 内部数据 RAM(20H~2FH),特殊功能寄存器的直接地址的位
指令介绍
指令 字节 周期 动作说明
算数运算指令
1.ADD A,Rn 1 1 将累加器与寄存器的内容相加,结果存回累加器
2.ADD A,direct 2 1 将累加器与直接地址的内容相加,结果存回累加器
3.ADD A,@Ri 1 1 将累加器与间接地址的内容相加,结果存回累加器
4.ADD A,#data 2 1 将累加器与常数相加,结果存回累加器
5.ADDC A,Rn 1 1 将累加器与寄存器的内容及进位 C 相加,结果存回累加器
6.ADDC A,direct 2 1 将累加器与直接地址的内容及进位 C 相加,结果存回累加器
7.ADDC A,@Ri 1 1 将累加器与间接地址的内容及进位 C 相加,结果存回累加器
8.ADDC A,#data 2 1 将累加器与常数及进位 C 相加,结果存回累加器
9.SUBB A,Rn 1 1 将累加器的值减去寄存器的值减借位 C,结果存回累加器
10.SUBB A,direct 2 1 将累加器的值减直接地址的值减借位 C,结果存回累加器
11.SUBB A,@Ri 1 1 将累加器的值减间接地址的值减借位 C,结果存回累加器
12.SUBB A,0data 2 1 将累加器的值减常数值减借位 C,结果存回累加器
13.INC A 1 1 将累加器的值加 1
14.INC Rn 1 1 将寄存器的值加 l
15.INC direct 2 1 将直接地址的内容加 1
16.INC @Ri 1 1 将间接地址的内容加 1
17.INC DPTR 1 1 数据指针寄存器值加 1
说明:将 16 位的 DPTR 加 1,当 DPTR 的低字节(DPL)从 FFH 溢出至 00H 时,会使高字节(DPH)加 1,不影
响任何标志位
18.DEC A 1 1 将累加器的值减 1
19.DEC Rn 1 1 将寄存器的值减 1
20.DEC direct 2 1 将直接地址的内容减 1
21.DEC @Ri 1 1 将间接地址的内容减 1
22.MUL AB 1 4 将累加器的值与 B 寄存器的值相乘,乘积的低位字节存回累加
器,高位字节存回 B 寄存器
说明:将累加器 A 和寄存器 B 内的无符号整数相乘,产生 16 位的积,低位字节存入 A,高位字节存入 B
寄存器。如果积大于 FFH,则溢出标志位(OV)被设定为 1,而进位标志位为 0
23.DIV AB 1 4 将累加器的值除以 B 寄存器的值,结果的商存回累加器,余数