學(xué)單片機(jī),不光要有良好的硬件基礎(chǔ),還要有編程的基礎(chǔ)。硬之城認(rèn)為硬件知識(shí)要學(xué)好,因?yàn)樗苤匾。想知道更多的單片機(jī)可以去硬之城~~~~就像建房子打地基一樣。除了這些,還要把電路、數(shù)電和模電都要弄透,單片機(jī)中有一個(gè)重要的點(diǎn)就是編程,學(xué)好編程,才能學(xué)好單片機(jī)
給大家介紹下單片機(jī)匯編和機(jī)器碼對(duì)照表
助 記 符 | 說明 | 字節(jié) | 周期 | 代 碼 |
1.數(shù)據(jù)傳送指令(30條) | ||||
MOV A,Rn | 寄存器送 A | 1 | 1 | E8--EF |
MOV A,data | 直接字節(jié)送A | 2 | 1 | E5 |
MOV A,@Ri | 間接RAM 送A | 1 | 1 | E6--E7 |
MOV A,#data | 立接數(shù)送 A | 2 | 1 | 74 |
MOV Rn,A | A 送寄存器 | 1 | 1 | F8--FF |
MOV Rn,data | 直接數(shù)送寄存器 | 2 | 2 | A8--AF |
MOV Rn,#data | 立即數(shù)送寄存器 | 2 | 1 | 78--7F |
MOV data,A | A 送直接字節(jié) | 2 | 1 | F5 |
MOV data,Rn | 寄存器送直接字節(jié) | 2 | 1 | 88—8F |
MOV data,data | 直接字節(jié)送直接字節(jié) | 3 | 2 | 85 |
MOV data,@Ri | 間接 Rn 送直接字節(jié) | 2 | 2 | 86;87 |
MOV data,#data | 立即數(shù)送直接字節(jié) | 3 | 2 | 75 |
MOV @Ri,A | A 送間接 Rn | 1 | 2 | F6;F7 |
MOV @Ri,data | 直接字節(jié)送間接Rn | 1 | 1 | A6;A7 |
MOV @Ri,#data | 立即數(shù)送間接 Rn | 2 | 2 | 76;77 |
MOV DPTR,#data16 | 16 位常數(shù)送數(shù)據(jù)指針 | 3 | 1 | 90 |
MOV C,bit | 直接位送進(jìn)位位 | 2 | 1 | A2 |
MOV bit,C | 進(jìn)位位送直接位 | 2 | 2 | 92 |
MOVC A,@A+DPTR | A+DPTR 尋址程序存貯字節(jié)送 A | 3 | 2 | 93 |
MOVC A,@A+PC | A+PC 尋址程序存貯字節(jié)送A | 1 | 2 | 83 |
MOVX A,@Ri | 外部數(shù)據(jù)送A(8 位地址) | 1 | 2 | E2;E3 |
MOVX A,@DPTR | 外部數(shù)據(jù)送A(16 位地址) | 1 | 2 | E0 |
MOVX @Ri,A | A 送外部數(shù)據(jù)(8 位地址) | 1 | 2 | F2;F3 |
MOVX @DPTR,A | A 送外部數(shù)據(jù)(16 位地址) | 1 | 2 | F0 |
PUSH data | 直接字節(jié)進(jìn)棧道,SP 加1 | 2 | 2 | C0 |
POP data | 直接字節(jié)出棧,SP 減1 | 2 | 2 | D0 |
XCH A,Rn | 寄存器與 A 交換 | 1 | 1 | C8—CF |
XCH A,data | 直接字節(jié)與A 交換 | 2 | 1 | C5 |
XCH A,@Ri | 間接Rn 與A 交換 | 1 | 1 | C6;C7 |
XCHD A,@Ri | 間接Rn 與A 低半字節(jié)交換 | 1 | 1 | D6;D7 |
2.邏輯運(yùn)算指令(35條) | ||||
ANL A,Rn | 寄存器與到A | 1 | 1 | 58—5F |
ANL A,data | 直接字節(jié)與到A | 2 | 1 | 55 |
ANL A,@Ri | 間接RAM與到A | 1 | 1 | 56;57 |
ANL A,#data | 立即數(shù)與到A | 2 | 1 | 54 |
ANL data,A | A與到直接字節(jié) | 2 | 1 | 52 |
ANL data,#data | 立即數(shù)與到直接字節(jié) | 3 | 2 | 53 |
ANL C,bit | 直接位與到進(jìn)位位 | 2 | 2 | 82 |
ANL C,/bit | 直接位的反碼與到進(jìn)位位 | 2 | 2 | B0 |
ORL A,Rn | 寄存器或到A | 1 | 1 | 48—4F |
ORL A,data | 直接字節(jié)或到A | 2 | 1 | 45 |
ORL A,@Ri | 間接RAM或到A | 1 | 1 | 46;47 |
ORL A,#data | 立即數(shù)或到A | 2 | 1 | 44 |
ORL data,A | A或到直接字節(jié) | 2 | 1 | 42 |
ORL data,#data | 立即數(shù)或到直接字節(jié) | 3 | 2 | 43 |
ORL C,bit | 直接位或到進(jìn)位位 | 2 | 2 | 72 |
ORL C,/bit | 直接位的反碼或到進(jìn)位位 | 2 | 2 | A0 |
XRL A,Rn | 寄存器異或到A | 1 | 1 | 68—6F |
XRL A,data | 直接字節(jié)異或到A | 2 | 1 | 65 |
XRL A,@Ri | 間接RAM異或到A | 1 | 1 | 66;67 |
XRL A,#data | 立即數(shù)異或到A | 2 | 1 | 64 |
XRL data,A | A異或到直接字節(jié) | 2 | 1 | 62 |
XRL data,#data | 立即數(shù)異或到直接字節(jié) | 3 | 2 | 63 |
SETB C | 進(jìn)位位置 1 | 1 | 1 | D3 |
SETB bit | 直接位置 1 | 2 | 1 | D2 |
CLR A | A清0 | 1 | 1 | E4 |
CLR C | 進(jìn)位位清 0 | 1 | 1 | C3 |
CLR bit | 直接位清 0 | 2 | 1 | C2 |
CPL A | A求反碼 | 1 | 1 | F4 |
CPL C | 進(jìn)位位取反 | 1 | 1 | B3 |
CPL bit | 直接位取反 | 2 | 1 | B2 |
RL A | A循環(huán)左移一位 | 1 | 1 | 23 |
RLC A | A 帶進(jìn)位左移一位 | 1 | 1 | 33 |
RR A | A右移一位 | 1 | 1 | 03 |
RRC A | A 帶進(jìn)位右移一位 | 1 | 1 | 13 |
SWAP A | A 半字節(jié)交換 | 1 | 1 | C4 |
3.算術(shù)運(yùn)算指令(24條) | ||||
ADD A,Rn | 寄存器加到A | 1 | 1 | 28—2F |
ADD A,data | 直接字節(jié)加到A | 2 | 1 | 25 |
ADD A,@Ri | 間接RAM 加到A | 1 | 1 | 26;27 |
ADD A,#data | 立即數(shù)加到A | 2 | 1 | 24 |
ADDC A,Rn | 寄存器帶進(jìn)位加到 A | 1 | 1 | 38—3F |
ADDC A,data | 直接字節(jié)帶進(jìn)位加到A | 2 | 1 | 35 |
ADDC A,@Ri | 間接RAM 帶進(jìn)位加到A | 1 | 1 | 36;37 |
ADDC A,#data | 立即數(shù)帶進(jìn)位加到 A | 2 | 1 | 34 |
SUBB A,Rn | 從A 中減去寄存器和進(jìn)位 | 1 | 1 | 98—9F |
SUBB A,data | 從A 中減去直接字節(jié)和進(jìn)位 | 2 | 1 | 95 |
SUBB A,@Ri | 從A 中減去間接RAM 和進(jìn)位 | 1 | 1 | 96;97 |
SUBB A,#data | 從A 中減去立即數(shù)和進(jìn)位 | 2 | 1 | 94 |
INC A | A加1 | 1 | 1 | 04 |
INC Rn | 寄存器加 1 | 1 | 1 | 08—0F |
INC data | 直接字節(jié)加1 | 2 | 1 | 05 |
INC @Ri | 間接RAM 加1 | 1 | 1 | 06;07 |
INC DPTR | 數(shù)據(jù)指針加1 | 1 | 2 | A3 |
DEC A | A減1 | 1 | 1 | 14 |
DEC Rn | 寄存器減 1 | 1 | 1 | 18—1F |
DEC data | 直接字節(jié)減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十進(jìn)制調(diào)整 | 1 | 1 | D4 |
4.轉(zhuǎn)移指令(22條) | ||||
AJMP addr 11 | 絕對(duì)轉(zhuǎn)移 | 2 | 2 | *1 |
LJMP addr 16 | 長(zhǎng)轉(zhuǎn)移 | 3 | 2 | 02 |
SJMP rel | 短轉(zhuǎn)移 | 2 | 2 | 80 |
JMP @A+DPTR | 相對(duì)于DPTR 間接轉(zhuǎn)移 | 1 | 2 | 73 |
JZ rel | 若A=0 則轉(zhuǎn)移 | 2 | 2 | 60 |
JNZ rel | 若A≠0 則轉(zhuǎn)移 | 2 | 2 | 70 |
JC rel | 若C=1 則轉(zhuǎn)移 | 2 | 2 | 40 |
JNC rel | 若C≠1 則轉(zhuǎn)移 | 2 | 2 | 50 |
JB bit,rel | 若直接位=1 則轉(zhuǎn)移 | 3 | 2 | 20 |
JNB bit,rel | 若直接位=0 則轉(zhuǎn)移 | 3 | 2 | 30 |
JBC bit,rel | 若直接位=1 則轉(zhuǎn)移且清除 | 3 | 2 | 10 |
CJNE A,data,rel | 直接數(shù)與 A 比較,不等轉(zhuǎn)移 | 3 | 2 | B5 |
CJNE A,#data,rel | 立即數(shù)與 A 比較,不等轉(zhuǎn)移 | 3 | 2 | B4 |
CJNE @Ri,#data,rel | 立即數(shù)與間接RAM比較,不等轉(zhuǎn)移 | 3 | 2 | B6;B7 |
CJNE Rn,#data,rel | 立即數(shù)與寄存器比較不等轉(zhuǎn)移 | 3 | 2 | B8—BF |
DJNZ Rn,rel | 寄存器減 1 不為0 轉(zhuǎn)移 | 2 | 2 | D8—DF |
DJNZ data,rel | 直接字節(jié)減1 不為 0 轉(zhuǎn)移 | 3 | 2 | D5 |
ACALL addr 11 | 絕對(duì)子程序調(diào)用 | 2 | 2 | *1 |
LCALL addr 16 | 子程序調(diào)用 | 3 | 2 | 12 |
RET | 子程序調(diào)用返回 | 1 | 2 | 22 |
RETI | 中斷程序調(diào)用返回 | 1 | 2 | 32 |
NOP | 空操作 | 1 | 1 | 00 |
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |