51單片機彙編語言指令彙總

本文以AT89C51爲例,列舉51單片機彙編語言指令集。
AT89C51單片機的彙編指令共有111條,可按功能分爲5大類:

數據傳送類指令28條;
算數操作類指令24條;
邏輯運算類指令25條;
控制轉移類17條;
位操作類17條。

在此約定下列指令中各符號的意義:

Rn:當前寄存器區的8個工作寄存器(n=0~7)
Ri:當前寄存器區中可作間接尋址寄存器的2個寄存器(i=0 1)
Direct:直接地址
#data:包含在指令中的8位立即數
rel:相對轉移指令中的偏移量,爲8位帶符號補碼數
DPTR:數據指針,16位數據地址寄存器
bit:直接尋址位
C:進位標誌位
addr11:11位目的地址
addr16:16位目的地址
@:間接尋址寄存器前綴

一、數據傳送類指令

1.以累加器爲目的操作數指令

MOV A,Rn
MOV A,@Ri
MOV A,direct
MOV A,#data

2.以Rn爲目的操作數的指令

MOV Rn,A
MOV Rn,direct
MOV Rn,#data

3.以直接地址爲目的操作數指令

MOV direct,A
MOV direct,Rn
MOV direct1,direct2
MOV direct,@Ri
MOV direct,#data

4.以寄存器間接地址爲目的操作數指令

MOV @Ri,A
MOV @Ri,direct
MOV @Ri,#data

5.16位傳送指令

MOV DPTR,#data16

6.堆棧操作指令

進棧:PUSH direct
出棧:POP direct

7.累加器A與外部數據存儲器傳送指令

MOVX A,@DPTR
MOVX A,@Ri
MOVX @DPTR,A
MOVX @Ri,A

8.查表指令

MOVC A,@A+PC
MOVC A,@A+DPTR

9.字節交換命令

XCH A,Rn
XCH A,direct
XCH A,@Ri

10.半字節交換指令

XCHD @Ri

二、算數操作類指令

1.加法指令

ADD A,Rn
ADD A,direct
ADD A,@Ri
ADD A,#data

2.帶進位加法指令

ADDC A,Rn
ADDC A,direct
ADDC A,@Ri
ADDC A,#data

3.增1指令

INC A
INC Rn
INC direct
INC @Ri
INC DPTR

4.十進制調整指令

DA A

5.帶借位減法

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

6.減1指令

DEC A
DEC Rn
DEC direct
DEC @Ri

7.乘法指令

MUL AB

8.除法指令

DIV AB

三、邏輯操作類指令

1.簡單邏輯操作指令

累加器A清零:
CLR A
累加器A按位取反:
CPL A

2.左循環指令

RL A

3.帶進位左移指令

RLC A

4.右移指令

RR A

5.帶進位循環指令

RRC A

6.累加器半字節交換指令

SWAP A

7.邏輯與指令

ANL A,Rn
ANL A,direct
ANL A,#data
ANL A,@Ri
ANL direct,A
ANL direct,#data

7.邏輯或指令

ORL A,Rn
ORL A,direct
ORL A,#data
ORL A,@Ri
ORL direct,A
ORL direct,#data

7.邏輯異或指令

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

四、控制轉移類指令

1.無條件轉移指令

AJMP addr11

2.相對轉移指令

SJMP rel

3.長跳轉指令

LJMP addr16

4.間接跳轉指令

JMP @A+DPTR

5.條件轉移指令

若累加器爲0則轉移:
JZ rel
若累加器非0則轉移:
JNZ rel

6.比較不相等轉移指令

CJNE A,direct,rel
CJNE A,#data,rel
CJNE Rn,#data,rel
CJNE @Ri,#data,rel

7.減1不爲0轉移指令

DJNZ Rn,rel
DJNZ direct,rel

8.調用子程序指令

ACALL addr11
LCALL addr16

9.子程序返回指令

RET

10.中斷返回指令

RETI

11.空操作指令

NOP

五、位操作指令

1.數據位傳送指令

MOV C,bit
MOV bit,C

2.位變量修改指令

清0:
CLR C
CLR bit
求反:
CPL C
CPL bit
置1:
SETB C
SETB bit

3.位變量邏輯與指令

ANL C,bit
ANL C,/bit

3.位變量邏輯或指令

ORL C,bit
ORL C,/bit

4.條件轉移類指令

JC rel
JNC rel
JB bit,rel
JNB bit,rel
JBC bit,rel

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章