51单片机汇编指令总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据传输指令
一.片内RAM数据传输指令
1.以累加器A为目的操作数的指令:
MOV A , Rn
MOV A , direct
MOV A , @Ri
MOV A , #data
2.以寄存器Rn为目的操作数的指令:
MOV Rn , A
MOV Rn ,direct
MOV Rn ,data
3.以直接地址为目的操作数的指令:
MOV direct ,A
MOV direct ,Rn
MOV direct1 ,derect2
MOV direct ,@Ri
MOV direct ,#data
4.间接地址为目的操作数的指令:
MOV @Ri ,A
MOV @Ri ,direct
MOV @Ri ,#data
5.十六位数据传送指令:
MOV DPTR , #data16
二.累加器A与片外RAM数据传送指令:
MOVX A ,@Ri
MOVX A , @DPTR
MOVX @Ri ,A
MOVX @DPTR ,A
三.查表寻址:
MOVC A ,@A+DPTR (先PC←(PC)+1,后A←((A)+(DPTR)))+
MOVC A ,@A+PC (先PC←(PC)+1,后A←((A)+(PC)))
四.交换指令:
1.字节交换指令:
XCH A ,Rn
XCH A ,direct
XCH A ,@Ri
2.半字节交换指令:
XCHD A ,@Ri
3.累加器半字节交换指令:
SWAP A
五.栈操作指令:
1.PUSH(入栈指令)
PUSH direct
2.POP(出栈指令)
POP direct
算术运算指令:
一.加法减法指令:
1.加法指令:
ADD A ,Rn
ADD A ,direct
ADD A ,@Ri
ADD A ,#data
2.带进位加法指令:
ADDC A ,Rn A←(A)+(Rn)+CY
ADDC A ,direct A←(A)+(direct)+CY
ADDC A ,@Ri A←(A)+((Ri))+CY
ADDC A ,#data A←(A)+(data)+CY
3.带借位减法指令:
SUBB A ,Rn A←(A)-CY-(Rn)
SUBB A ,direct A←(A)-CY-(direct)
SUBB A ,@Ri A←(A)-CY-((Ri))
SUBB A ,#data A←(A)-CY-#data
二.乘法除法指令:
1.乘法指令:
MUL AB BA←(A) ×(B)高字节放在B中,低字节放在A中
2.除法指令:
DIV AB A←(A) ÷(B)的商,(B) ←(A) ÷(B)的余数
三.加1减1指令:
1.加1指令:
INC A A←(A)+1
INC Rn Rn←(Rn)+1
INC direct direct←(direct)+1
INC @Ri (Ri) ←((Ri))+1
INC DPTR DPTR←(DPTR)+1
2.减1指令:
DEC A
DEC Rn
DEC direct
DEC @Ri
四.十进制调制指令:
DA A 调整累加器A的内容为BCD码
逻辑操作指令:
一.逻辑与、或、异或指令:
1.逻辑与指令:
ANL A ,Rn
ANL A ,direct
ANL A ,@Ri
ANL A ,#data
2.逻辑或这令:
ORL A ,Rn
ORL A ,direct
ORL A ,@Ri
ORL A ,#data
ORL direct ,A
ORL direct ,#data
3.逻辑异或指令:
XRL A ,Rn
XRL A ,direct
XRL A ,@Ri
XRL A ,#data
XRL direct ,A
XRL direct ,#data
二.清零、取反指令:
1.累加器A清零指令:
CRL A
2.累加器A取反指令:
CPL A
三.循环位移指令:
1.累加器A循环左移指令:
RL A
2.累加器A循环右移指令:
RR A
3.累加器A连同进位位循环左移指令:
RLC A
4. 累加器A连同进位位循环右移指令:
RRC A
控制转移指令:
一.无条件转移指令:
1.绝对转移指令:
AJMP addr11 (先PC+2,然后将addr11的低十位传给PC,PC的高六位不变)
2.长转移指令:
LJMP addr16 (用addr16的值替换PC的值)
3.相对转移(短转移)指令:
SJMP rel(带符号的偏移字节数)(PC+2,再加rel赋值给PC)
4.间接转移指令:
JMP @A+DPTR (A)+(DPTR) →(PC)
二.条件转移指令:
1.累加器判零转移指令:
JZ rel 先PC+2;后判断,A为0时转移,PC+rel赋值给PC;否则顺序