汇编语言最全指令表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)。

二、比较不相等转移指令

相关文档
最新文档