天天看點

c51單片機彙編語言電梯,C51單片機彙編語言指令集.doc

51彙編語言指令集

符号定義表

符号

含義

Rn

R0~R7寄存器n=0~7

Direct

直接位址,内部資料區的位址RAM(00H~7FH)

SFR(80H~FFH) B,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0

@Ri

間接位址Ri=R0或R1 8051/31RAM位址(00H~7FH) 8052/32RAM位址(00H~FFH)

#data

8位常數

#data16

16位常數

Addr16

16位的目标位址

Addr11

11位的目标位址

Rel

相關位址

bit

内部資料RAM(20H~2FH),特殊功能寄存器的直接位址的位

指令介紹

指令

位元組

周期

動作說明

算數運算指令

1.ADD A,Rn

1

1

将累加器與寄存器的内容相加,結果存回累加器

2.ADD A,direct

2

1

将累加器與直接位址的内容相加,結果存回累加器

3.ADD A,@Ri

1

1

将累加器與間接位址的内容相加,結果存回累加器

4.ADD A,#data

2

1

将累加器與常數相加,結果存回累加器

5.ADDC A,Rn

1

1

将累加器與寄存器的内容及進位C相加,結果存回累加器

6.ADDC A,direct

2

1

将累加器與直接位址的内容及進位C相加,結果存回累加器

7.ADDC A,@Ri

1

1

将累加器與間接位址的内容及進位C相加,結果存回累加器

8.ADDC A,#data

2

1

将累加器與常數及進位C相加,結果存回累加器

9.SUBB A,Rn

1

1

将累加器的值減去寄存器的值減借位C,結果存回累加器

10.SUBB A,direct

2

1

将累加器的值減直接位址的值減借位C,結果存回累加器

11.SUBB A,@Ri

1

1

将累加器的值減間接位址的值減借位C,結果存回累加器

12.SUBB A,0data

2

1

将累加器的值減常數值減借位C,結果存回累加器

13.INC A

1

1

将累加器的值加1

14.INC Rn

1

1

将寄存器的值加l

15.INC direct

2

1

将直接位址的内容加1

16.INC @Ri

1

1

将間接位址的内容加1

17.INC DPTR

1

1

資料指針寄存器值加1

說明:将16位的DPTR加1,當DPTR的低位元組(DPL)從FFH溢出至00H時,會使高位元組(DPH)加1,不影響任何标志位

18.DEC A

1

1

将累加器的值減1

19.DEC Rn

1

1

将寄存器的值減1

20.DEC direct

2

1

将直接位址的内容減1

21.DEC @Ri

1

1

将間接位址的内容減1

22.MUL AB

1

4

将累加器的值與B寄存器的值相乘,乘積的低位位元組存回累加器,高位位元組存回B寄存器

說明:将累加器A和寄存器B内的無符号整數相乘,産生16位的積,低位位元組存入A,高位位元組存入B寄存器。如果積大于FFH,則溢出标志位(OV)被設定為1,而進位标志位為0

23.DIV AB

1

4

将累加器的值除以B寄存器的值,結果的商存回累加器,餘數存回B寄存器

說明:無符号的除法運算,将累加器A除以B寄存器的值,商存入A,餘數存入B。執行本指令後,進位位(C)及溢出位(OV)被清除為0

24.DA A

1

1

将累加器A作十進制調整,

若(A) 3-0>9或(AC)=1,則(A) 3-0←(A)3-0+6

若(A) 7-4>9或 (C)=1,則(A) 7-4←(A)7-4+6

邏輯運算指令

ANL A,Rn

1

1

将累加器的值與寄存器的值做AND的邏輯判斷,結果存回累加器

ANL A,direct

2

1

将累加器的值與直接位址的内容做AND的邏輯判斷,結果存回累加器

ANL A,@Ri

1

1

将累加器的值與間接位址的内容做AND的邏輯判斷,結果存回累加器

ANL A,#data

2

1

将累加器的值與常數做AND的邏輯判斷,結果存回累加器

ANL direct,A

2

1

将直接位址的内容與累加器的值做AND的邏輯判斷,結果存回該直接位址

ANL direct,#data

3

2

将直接位址的内容與常數值做AND的邏輯判斷,結果存回該直接位址

ORL A,Rn

1

1

将累加器的值與寄存器的值做OR的邏輯判斷,結果存回累加器

32.ORL A,direct

2

1

将累加器的值與直接位址的内容做OR的邏輯判斷,結果存回累加器

33.ORL A,@Ri

1

1

将累加器的值與間接位址的内容做OR的邏輯判斷,結果存回累加器

34.ORL A,#data

2

1

将累加器的值與常數做OR的邏輯判斷,結果存回累加器

35.ORL direct,A

2

1

将直接位址的内容與累加器的值做OR的邏輯判斷,結果存回該直接位址

36.ORL direct,