汇编语言指令表
This model paper was revised by the Standardization Office on December 10, 2020
伪指令
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、转移指令
SJMP    rel ;先(PC)+2→PC;后(PC)+rel→PC
4、寄存器加变址存器间接转移指令(散转指令)汇编语言结束指令
JMP    @A+DPTR      ;(A)+(DPTR)→PC
条件转移指令(8条)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。