MCS 51汇编语言常用指令集
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),特殊功能寄存器的直接地址的位
指令介绍
指令字节周期动作说明
算数运算指令
A,Rn 1 1 将累加器与寄存器的内容相加,结果存回累加器
A,direct 2 1 将累加器与直接地址的内容相加,结果存回累加器
A,***@Ri 1 1 将累加器与间接地址的内容相加,结果存回累加器
A,#data 2 1 将累加器与常数相加,结果存回累加器
A,Rn 1 1 将累加器与寄存器的内容及进位C相加,结果存回累加器
A,direct 2 1 将累加器与直接地址的内容及进位C相加,结果存回累加器
A,***@Ri 1 1 将累加器与间接地址的内容及进位C相加,结果存回累加器
A,#data 2 1 将累加器与常数及进位C相加,结果存回累加器
A,Rn 1 1 将累加器的值减去寄存器的值减借位C,结果存回累加器
A,direct 2 1 将累加器的值减直接地址的值减借位C,结果存回累加器
A,***@Ri 1 1 将累加器的值减间接地址的值减借位C,结果存回累加器
A,#data 2 1 将累加器的值减常数值减借位C,结果存回累加器
A 1 1 将累加器的值加1
Rn 1 1 将寄存器的值加l
direct 2 1 将直接地址的内容加1
***@Ri 1 1 将间接地址的内容加1
DPTR 1 1 数据指针寄存器值加1
说明:将16位的DPTR加1,当DPTR的低字节(DPL)从FFH溢出至00H时,会使高字节(DPH)加1,不影响任何标志位
A 1 1 将累加器的值减1
Rn 1 1 将寄存器的值减1
direct 2 1 将直接地址的内容减1
***@Ri 1 1 将间接地址的内容减1
AB 1 4 将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回B寄存器
说明:将累加器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器。如果积大于FFH,则溢出标志位(OV)被设定为1,而进位标志位为0
AB 1 4 将累加器的值除以B寄存器的值,结果的商存回累加器,余数存回B寄存器
说明:无符号的除法运算,将累加器A除以B寄存器的值,商存入A,余数存入B。执行本指令后,进位位(C)及溢出位(OV)被清除为0
A 1 1 将累加器A作十进制调整,
若(A) 3-0>9或(AC)=1,则(A) 3-0←(A)3-0+6
若(A) 7-4>9或(C)=1,则(A) 7-4←(A)7-4+6
逻辑运算指令
A,Rn 1 1 将累加器的值与寄存器的值做AND的逻辑判断,结果存回累加器
A,direct 2 1 将累加器的值与直接地址的内容做AND的逻辑判断,结果存回累加器
A,***@Ri 1 1 将累加器的值与间接地址的内容做AND的逻辑判断,结果存回累加器
A,#data 2 1 将累加器的值与常数做AND的逻辑判断,结果存回累加器
direct,A 2 1 将直接地址的内容与累加器的值做AND的逻辑判断,结果存回该直接地址
direct,#data 3 2 将直接地址的内容与常数值做AND的逻辑判断,结果存回该直接地址
A,Rn 1 1 将累加器的值与寄存器的值做OR的逻辑判断,结果存回累加器
A,direct 2 1 将累加器的值与直接地址的内容做OR的逻辑判断,结果存回累加器
MCS 51汇编语言常用指令集 来自淘豆网www.taodocs.com转载请标明出处.