汇编语言最全指令表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
伪指令•
1、定位伪指令
ORG m
•2、定义字节伪指令
DB X1,X2,X3,…,Xn
•3、字定义伪指令
DW Y1,Y2,Y3,…,Yn
4、汇编结束伪指令
END
寻址方式
MCS-51单片机有五种寻址方式:
1、寄存器寻址
2、寄存器间接寻址
3、直接寻址
4、立即数寻址
5、基寄存器加变址寄存器间接寻址
6、相对寻址
7、位寻址
数据传送指令
一、以累加器A为目的操作数的指令(4条)
•MOV A,Rn ;(Rn)→A n=0~7
•MOV A,direct ;(direct )→A
•MOV A,@Ri ;((Ri))→A i=0~1
•MOV A,#data ;data →A
二、以Rn为目的操作数的指令(3条)
MOV Rn ,A;(A)→ Rn
MOV Rn ,direct;(direct )→ Rn
MOV Rn ,#data;data → Rn
•三、以直接寻址的单元为目的操作数的指令(5条)
MOV direct,A;(A)→direct
MOV direct,Rn;(Rn)→direct
MOV direct,direct ;(源direct)→目的direct
MOV direct,@Ri;((Ri))→direct
MOV direct,#data;data→direct
四、以寄存器间接寻址的单元为目的操作数的指令(3条)
MOV @Ri,A;(A)→(Ri)
MOV @Ri,direct;(direct)→(Ri)
MOV @Ri,#data;data→(Ri)
五、十六位数据传送指令(1条)
MOV DPTR,#data16;dataH→DPH,dataL →DPL
六、堆栈操作指令
进栈指令
PUSH direct ;(SP)+1 →SP ,(direct)→ SP 退栈指令
POP direct
七、字节交换指令(5条)
•XCH A,Rn ;(A)→ß(Rn)
•XCH A,direct ;(A)→ß(direct)
•XCH A,@Ri ;(A)→ß((Ri))•
八、半字节交换指令
•XCHD A,@Ri ;(A)0~3→ß((Ri))0~3
九、加器A与外部数据存贮器传送指令(4条)
•MOVX A,@DPTR ;((DPTR))→A
•MOVX A,@ Ri ;((Ri))→A i=0,1
•MOVX @ DPTR ,A ;(A)→(DPTR)
•MOVX @ Ri , A ;(A)→(Ri)i=0,1 十、查表指令
(i)MOVC A ,@ A+PC ;((A)+(PC))→A
•(ii)MOVC A ,@A+ DPTR ;((A)+(DPTR))
算术运算指令
一、不带进位的加法指令(4条)
ADD A,Rn ;(A)+(Rn)→A
ADD A,direct ;(A)+(direct)→A
ADD A,@Ri ;(A)+((Ri))→A
ADD A,#data ;(A)+#data→A
二、带进位加法指令(4条)
ADDC A,Rn ;(A)+(Rn)+CY→A
ADDC A,direct ;(A)+(direct)+CY →A
ADDC A,@Ri ;(A)+((Ri))+CY →A
ADDC A,#data ;(A)+ #data +CY →A
三、增量指令(5条)
INC A ;(A)+1 →A
•INC Rn ;(Rn)+1 → Rn
•INC direct ;(direct)+1 → direct
•INC @Ri ;((Ri))+1 →(Ri)
•INC DPTR ;(DPTR)+1 →DPTR
四、十进制调整指令(1条)
DA A
减法指令
一、带进位减法指令
SUBB A,Rn
SUBB A,direct
SUBB A,@Ri
SUBB A,#data
二、减1指令(4条)
DEC A
DEC Rn
DEC direct
DEC @Ri
乘法指令
MUL AB
除法指令
DIV AB
逻辑运算指令累加器A的逻辑操作指令
一、累加器A清0
CLR A
二、累加器A取反
CPL A
三、左环移指令
RL A
四、带进位左环移指令
RLC A
五、右环移指令
RR A
六、带进位右环移指令
RRC A
七、累加器ACC半字节交换指令
SWAP A
两个操作数的逻辑操作指令
逻辑与指令ANL A,Rn ANL A,direct
ANL A,@Ri
ANL A,#data
ANL direct ,A
ANL direct,#data 逻辑或指令
ORL A,Rn
ORL A,direct ORL A,@Ri
ORL A,#data
ORL direct,A
ORL direct,#data
逻辑异或指令
XRL A,Rn
XRL A,direct
XRL A,@Ri
XRL A,#data
XRL direct,A
XRL direct,#data 位操作指令
位变量传送指令
MOV C,bit
MOV bit,C 位变量修改指令
CLR C
CLR bit
CPL C
CPL bit
SETB C
SETB bit
位变量逻辑与指令ANL C,bit
ANL C,/bit
位变量逻辑或指令
ORL C,bit
ORL C,/bit
控制转移指令
无条件转移指令(4条)
1、短跳转指令
AJMP addr11 ;先(PC)+2→PC ;addr11→PC10~0 ,(PC15~11)
2、跳转指令
LJMP addr16 ;Addr16→PC
3、转移指令
4、
SJMP rel ;先(PC)+2→PC;后(PC)+rel→PC
4、寄存器加变址存器间接转移指令(散转指令)
JMP @A+DPTR ;(A)+(DPTR)→PC
条件转移指令(8条)
一、测试条件符合转移指令
JZ rel ;当A=0 时,(PC)+rel→(PC)转移;当A≠0时,顺序执行。
JNZ rel ;当A≠0 时,(PC)+rel→(PC)转移;当A=0时,顺序执行。
JC rel 如果进位标志CY为1,则执行转移;
JNC rel 如果进位标志CY为0,则执行转移;
JB b it,rel 如果直接寻址位的值为1,则执行转移;
JNB bit ,rel 如果直接寻址位的值为0,则执行转移;
JBC bit ,rel 如果直接寻址位的值为1,则执行转移;然后清“0”直接寻址位(bit)。
二、比较不相等转移指令