例如:ERROR DATA 80H
6.名字 XDATA 直接字節地址;例如:IO_PORT XDATA 0CF04H
7.名字 BIT 位指令;| 助 記 符 | 說明 | 字節 | 周期 | 代 碼 |
| 1.數據傳送指令(30條) | ||||
| MOV A,Rn | 寄存器送 A | 1 | 1 | E8--EF |
| MOV A,data | 直接字節送A | 2 | 1 | E5 |
| MOV A,@Ri | 間接RAM 送A | 1 | 1 | E6--E7 |
| MOV A,#data | 立接數送 A | 2 | 1 | 74 |
| MOV Rn,A | A 送寄存器 | 1 | 1 | F8--FF |
| MOV Rn,data | 直接數送寄存器 | 2 | 2 | A8--AF |
| MOV Rn,#data | 立即數送寄存器 | 2 | 1 | 78--7F |
| MOV data,A | A 送直接字節 | 2 | 1 | F5 |
| MOV data,Rn | 寄存器送直接字節 | 2 | 1 | 88—8F |
| MOV data,data | 直接字節送直接字節 | 3 | 2 | 85 |
| MOV data,@Ri | 間接 Rn 送直接字節 | 2 | 2 | 86;87 |
| MOV data,#data | 立即數送直接字節 | 3 | 2 | 75 |
| MOV @Ri,A | A 送間接 Rn | 1 | 2 | F6;F7 |
| MOV @Ri,data | 直接字節送間接Rn | 1 | 1 | A6;A7 |
| MOV @Ri,#data | 立即數送間接 Rn | 2 | 2 | 76;77 |
| MOV DPTR,#data16 | 16 位常數送數據指針 | 3 | 1 | 90 |
| MOV C,bit | 直接位送進位位 | 2 | 1 | A2 |
| MOV bit,C | 進位位送直接位 | 2 | 2 | 92 |
| MOVC A,@A+DPTR | A+DPTR 尋址程序存貯字節送 A | 3 | 2 | 93 |
| MOVC A,@A+PC | A+PC 尋址程序存貯字節送A | 1 | 2 | 83 |
| MOVX A,@Ri | 外部數據送A(8 位地址) | 1 | 2 | E2;E3 |
| MOVX A,@DPTR | 外部數據送A(16 位地址) | 1 | 2 | E0 |
| MOVX @Ri,A | A 送外部數據(8 位地址) | 1 | 2 | F2;F3 |
| MOVX @DPTR,A | A 送外部數據(16 位地址) | 1 | 2 | F0 |
| PUSH data | 直接字節進棧道,SP 加1 | 2 | 2 | C0 |
| POP data | 直接字節出棧,SP 減1 | 2 | 2 | D0 |
| XCH A,Rn | 寄存器與 A 交換 | 1 | 1 | C8—CF |
| XCH A,data | 直接字節與A 交換 | 2 | 1 | C5 |
| XCH A,@Ri | 間接Rn 與A 交換 | 1 | 1 | C6;C7 |
| XCHD A,@Ri | 間接Rn 與A 低半字節交換 | 1 | 1 | D6;D7 |
| 2.邏輯運算指令(35條) | ||||
| ANL A,Rn | 寄存器與到A | 1 | 1 | 58—5F |
| ANL A,data | 直接字節與到A | 2 | 1 | 55 |
| ANL A,@Ri | 間接RAM與到A | 1 | 1 | 56;57 |
| ANL A,#data | 立即數與到A | 2 | 1 | 54 |
| ANL data,A | A與到直接字節 | 2 | 1 | 52 |
| ANL data,#data | 立即數與到直接字節 | 3 | 2 | 53 |
| ANL C,bit | 直接位與到進位位 | 2 | 2 | 82 |
| ANL C,/bit | 直接位的反碼與到進位位 | 2 | 2 | B0 |
| ORL A,Rn | 寄存器或到A | 1 | 1 | 48—4F |
| ORL A,data | 直接字節或到A | 2 | 1 | 45 |
| ORL A,@Ri | 間接RAM或到A | 1 | 1 | 46;47 |
| ORL A,#data | 立即數或到A | 2 | 1 | 44 |
| ORL data,A | A或到直接字節 | 2 | 1 | 42 |
| ORL data,#data | 立即數或到直接字節 | 3 | 2 | 43 |
| ORL C,bit | 直接位或到進位位 | 2 | 2 | 72 |
| ORL C,/bit | 直接位的反碼或到進位位 | 2 | 2 | A0 |
| XRL A,Rn | 寄存器異或到A | 1 | 1 | 68—6F |
| XRL A,data | 直接字節異或到A | 2 | 1 | 65 |
| XRL A,@Ri | 間接RAM異或到A | 1 | 1 | 66;67 |
| XRL A,#data | 立即數異或到A | 2 | 1 | 64 |
| XRL data,A | A異或到直接字節 | 2 | 1 | 62 |
| XRL data,#data | 立即數異或到直接字節 | 3 | 2 | 63 |
| SETB C | 進位位置 1 | 1 | 1 | D3 |
| SETB bit | 直接位置 1 | 2 | 1 | D2 |
| CLR A | A清0 | 1 | 1 | E4 |
| CLR C | 進位位清 0 | 1 | 1 | C3 |
| CLR bit | 直接位清 0 | 2 | 1 | C2 |
| CPL A | A求反碼 | 1 | 1 | F4 |
| CPL C | 進位位取反 | 1 | 1 | B3 |
| CPL bit | 直接位取反 | 2 | 1 | B2 |
| RL A | A循環左移一位 | 1 | 1 | 23 |
| RLC A | A 帶進位左移一位 | 1 | 1 | 33 |
| RR A | A右移一位 | 1 | 1 | 03 |
| RRC A | A 帶進位右移一位 | 1 | 1 | 13 |
| SWAP A | A 半字節交換 | 1 | 1 | C4 |
| 3.算術運算指令(24條) | ||||
| ADD A,Rn | 寄存器加到A | 1 | 1 | 28—2F |
| ADD A,data | 直接字節加到A | 2 | 1 | 25 |
| ADD A,@Ri | 間接RAM 加到A | 1 | 1 | 26;27 |
| ADD A,#data | 立即數加到A | 2 | 1 | 24 |
| ADDC A,Rn | 寄存器帶進位加到 A | 1 | 1 | 38—3F |
| ADDC A,data | 直接字節帶進位加到A | 2 | 1 | 35 |
| ADDC A,@Ri | 間接RAM 帶進位加到A | 1 | 1 | 36;37 |
| ADDC A,#data | 立即數帶進位加到 A | 2 | 1 | 34 |
| SUBB A,Rn | 從A 中減去寄存器和進位 | 1 | 1 | 98—9F |
| SUBB A,data | 從A 中減去直接字節和進位 | 2 | 1 | 95 |
| SUBB A,@Ri | 從A 中減去間接RAM 和進位 | 1 | 1 | 96;97 |
| SUBB A,#data | 從A 中減去立即數和進位 | 2 | 1 | 94 |
| INC A | A加1 | 1 | 1 | 04 |
| INC Rn | 寄存器加 1 | 1 | 1 | 08—0F |
| INC data | 直接字節加1 | 2 | 1 | 05 |
| INC @Ri | 間接RAM 加1 | 1 | 1 | 06;07 |
| INC DPTR | 數據指針加1 | 1 | 2 | A3 |
| DEC A | A減1 | 1 | 1 | 14 |
| DEC Rn | 寄存器減 1 | 1 | 1 | 18—1F |
| DEC data | 直接字節減1 | 2 | 1 | 15 |
| DEC @Ri | 間接RAM 減1 | 1 | 1 | 16;17 |
| MUL AB | A乘B | 1 | 4 | A4 |
| DIV AB | A被B除 | 1 | 4 | 84 |
| DA A | A十進制調整 | 1 | 1 | D4 |
| 4.轉移指令(22條) | ||||
| AJMP addr 11 | 絕對轉移 | 2 | 2 | *1 |
| LJMP addr 16 | 長轉移 | 3 | 2 | 02 |
| SJMP rel | 短轉移 | 2 | 2 | 80 |
| JMP @A+DPTR | 相對于DPTR 間接轉移 | 1 | 2 | 73 |
| JZ rel | 若A=0 則轉移 | 2 | 2 | 60 |
| JNZ rel | 若A≠0 則轉移 | 2 | 2 | 70 |
| JC rel | 若C=1 則轉移 | 2 | 2 | 40 |
| JNC rel | 若C≠1 則轉移 | 2 | 2 | 50 |
| JB bit,rel | 若直接位=1 則轉移 | 3 | 2 | 20 |
| JNB bit,rel | 若直接位=0 則轉移 | 3 | 2 | 30 |
| JBC bit,rel | 若直接位=1 則轉移且清除 | 3 | 2 | 10 |
| CJNE A,data,rel | 直接數與 A 比較,不等轉移 | 3 | 2 | B5 |
| CJNE A,#data,rel | 立即數與 A 比較,不等轉移 | 3 | 2 | B4 |
| CJNE @Ri,#data,rel | 立即數與間接RAM比較,不等轉移 | 3 | 2 | B6;B7 |
| CJNE Rn,#data,rel | 立即數與寄存器比較不等轉移 | 3 | 2 | B8—BF |
| DJNZ Rn,rel | 寄存器減 1 不為0 轉移 | 2 | 2 | D8—DF |
| DJNZ data,rel | 直接字節減1 不為 0 轉移 | 3 | 2 | D5 |
| ACALL addr 11 | 絕對子程序調用 | 2 | 2 | *1 |
| LCALL addr 16 | 子程序調用 | 3 | 2 | 12 |
| RET | 子程序調用返回 | 1 | 2 | 22 |
| RETI | 中斷程序調用返回 | 1 | 2 | 32 |
| NOP | 空操作 | 1 | 1 | 00 |
51單片機匯編指令集(附記憶方法) (1).doc
(134.06 KB, 下載次數: 62)
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |