您好,欢迎来到微智科技网。
搜索
您的当前位置:首页汇编语言最全指令表

汇编语言最全指令表

来源:微智科技网
伪指令?

1、定位伪指令

ORG m ?2、定义字节伪指令

DB X1,X2,X3,…,Xn ?3、字定义伪指令

DW Y1,Y2,Y3,…,Yn

4、汇编结束伪指令 END

寻址方式

MCS-51单片机有五种寻址方式:

1、寄存器寻址 3、直接寻址 5、基寄存器加变址寄存器间接寻址 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 退栈指令

2、 寄存器间接寻址 4、立即数寻址 6、相对寻址 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 ?MOVX A,@ Ri

; ((DPTR))→A ; ((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 ADD A,direct ADD A,@Ri ADD A,#data ADDC A,Rn ADDC A,@Ri 三、增量指令(5条)

INC A

;(A)+1 →A ;(Rn)+1 → Rn ;(direct)+1 → direct ;((Ri))+1 →(Ri) ;(DPTR)+1 →DPTR

?INC Rn ?INC direct ?INC @Ri ?INC DPTR

;(A)+(Rn)→A ;(A)+(direct)→A ;(A)+((Ri))→A ;(A)+#data→A

;(A)+(Rn)+CY→A

二、带进位加法指令(4条)

ADDC A,direct ;(A)+(direct) +CY →A

;(A)+((Ri)) +CY →A

ADDC A,#data ;(A)+ #data +CY →A

四、十进制调整指令(1条)

DA A

减法指令

一、带进位减法指令

SUBB A,Rn

SUBB A,direct SUBB A,@Ri SUBB A,#data

DEC A

二、减1指令(4条) 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,

逻辑异或指令

XRL A,Rn

XRL A,direct XRL A,@Ri XRL A,#data XRL direct,A XRL direct,

#data #data

位操作指令位变量传送指令

MOV MOV CLR

CLR CPL C CPL bit SETB SETB

C bit C,bit bit,C C bit

位变量修改指令

位变量逻辑与指令ANL C,bit

ANL C,/bit ORL

ORL

C,bit 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

条件转移指令()

一、测试条件符合转移指令

JZ rel ;

当A=0 时,(PC)+rel→(PC)转移;当A≠0时,顺序执行。 当A≠0 时,(PC)+rel→(PC)转移;当A=0时,顺序执行。

如果进位标志CY为1,则执行转移;

JNZ rel ;

JC rel

JNC JNB JBC

rel 如果进位标志CY为0,则执行转移; 如果直接寻址位的值为1,则执行转移; 如果直接寻址位的值为0,则执行转移;

如果直接寻址位的值为1,则执行转移;然后清“0”直接寻址位(bit)。

JB bit, rel

bit , rel bit , rel

二、比较不相等转移指令

CJNE (目的操作数),(源操作数),rel CJNE A,direct,rel

CJNE A,#data,rel CJNE Rn,#data,rel

;若(Rn) >#data ,则(PC)+rel→PC,且0→CY; ;若(Rn) < #data ,则(PC)+rel→PC,且1→CY; ;若(Rn) = #data ,则顺序执行,且0→CY。 三、减1不为0转移指令

DJNZ

Rn,rel ;(Rn)-1→Rn;

;若(Rn)≠0, 则(PC)+rel →PC; ;若(Rn) = 0, 则结束循环, 顺序执行

?DJNZ direct,rel

;(direct )-1→ direct ;

;若(direct)≠0,则(PC)+rel →PC; ;若(direct) = 0,则结束循环,顺序执行

调用和返回指令

一、短调用指令

ACALL addr11

;(PC)+2→PC

;(SP)+1→SP,(PC 0~7)→(SP) ;(SP)+1→SP,(PC 8~15)→(SP) ;addr0~10→PC0~10,(PC11~15)不变

;(PC)+3→PC

二、长调用指令

LCALL addr16

;(SP)+1→SP,(PC 0~7)→(SP) ;(SP)+1→SP,(PC 8~15)→(SP) ;addr0~15→PC 三、返回指令

1. 从子程序返回指令

RET ;((SP)) →PC 8~15 ,(SP) -1→SP

;((SP)) →PC 0~7 ,(SP) -1→SP

;((SP)) →PC 8~15 , (SP) -1→SP ; ((SP)) →PC 0~7 , (SP) -1→SP ;开放中断逻辑

2. 中断服务程序返回指令

RETI

四、空操作指令

NOP

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务