A. 51單片機的所有指令
單片機指令功能一覽表
助記符 代碼 說明
MOV A,Rn E8~EF 寄存器A
MOV A,direct E5 dircet 直接位元組送A
MOV A,@Ri ER~E7 間接RAM送A
MOV A,#data 74 data 立即數送A
MOV Rn,A F8~FF A送寄存器
MOV Rn,dircet A8~AF dircet 直接位元組送寄存器
MOV Rn,#data 78~7F data 立即數送寄存器
MOV dircet,A F5 dircet A送直接位元組
MOV dircet,Rn 88~8F dircet 寄存器送直接位元組
MOV dircet1,dircet2 85 dircet1 dircet2 直接位元組送直接位元組
MOV dircet,@Ro 86~87 間接RAM送直接位元組
MOV dircet,#data 75 dircet data 立即數送直接位元組
MOV @Ri,A F6~F7 A送間接RAM
MOV @Ri,#data 76~77 data 直接位元組送間接RAM
MOV @Ri,#data 76~77 data 立即數送間接RAM
MOV DPTR,#data16 90 data 15~8 16位常數送數據指針
data7~0
MOVC A,@A+DPTR 93 由((A)+(DPTR))定址的程序存貯
器位元組選A
MOVC A,@A+PC 83 由((A)+(PC));定址的程序存貯器位元組送A
MOVX A,@Ri E2~E3 送外部數據(8位地址)送A
MOVX A,@DPTR E0 送外部數據(16位地址)送A
MOVX @Ri,A F2~F3 A送外部數據(8位地址)
MOVX @DPTR,A F0 A送外部數據(16位地址)
PUSH dircet C0 dircet 直接位元組進棧,SP加1
POP dircet D0 dircet 直接位元組退棧,SP減1
XCH A,Rn C8~CF 交換A和寄存器
XCH A,dircet C5 dircet 交換A和直接位元組
XCH A,@Ri C6~C7 交換A和間接RAM
XCH A,@Ri D6~D7 交換A和間接RAM的低位
SWAP A C4
算術操作 (A的二個半位元組交換)
ADD A,Rn 28~2F 寄存器加到A
ADD A,dircet 25 dircet 直接位元組加到A
ADD A,@Ri 26~27 間接RAM加到A
ADD A,#data 24data 立即數加到A
ADD A,Rn 38~3F 寄存器和進位位加到A
ADD A,dircet 35dircet 直接位元組和進位位加到A
ADD A,@Ri 36~37 間接位元組和進位位加到A
ADD A,data 34 data 立即數和進位位加到A
ADD A,Rn 98~9F A減去寄存器和進位位
ADD A,dircet 95 dircet A減去直接位元組和進位位
ADD A,@Ri 36~37 間接RAM和進位位加到A
ADD A,data 34 data 立即數和進位位加到A
SUBB A,Rn 98~9F A減去寄存器和進位位
SUBB A,dircet 95 dircet A減去直接位元組和進位位
SUBB A,@Ri 96~97 A減去間接RAM和進位位
SUBB A,#data 94 data A減去立即數和進位位
INC A 04 A加1
INC Rn 08~0F 寄存器加1
INC dircet 05 dircet 直接位元組加1
INC @Ri 06~07 間接RAM加1
DEC A 14 A減1
DEC Rn 18~1F 寄存器減1
DEC dircet 15 dircet 直接位元組減1
DEC @Ri 16~17 間接RAM減1
INC DPTR A3 數據指針加1
MUL AB A4 A乘以B
DIV AB 84 A除以B
DA A D4 A的十進制加法調整
邏輯操作
ANL A,Rn 58~5F 寄存器「與」到A
ANL A,dircet 55 dircet 直接位元組「與」到A
ANL A,@Ri 56~57 間接RAm「與」到A
ANL A,#data 54 data 立即數「與」到A
ANL dircet A 52 dircet A「與」到直接位元組
ANL dircet,#data 53 dircet data 立即數「與」到直接位元組
ORL A,Rn 48~4F 寄存器「或」到A
ORL A,dircet 45 dircet 直接位元組「或」到A
ORL A,@Ri 46~47 間接RAM「或」到A
ORL A,#data 44 data 立即數「或」到A
ORL dircet,A 42 dircet A「或」到直接位元組
ORL dircet,#data 43 dircet data 立即數「或」到直接位元組
XRL A,Rn 68~6F 寄存器「異或」到A
XRL A,dircet 65 dircet 直接位元組「異或」到A
XRL A,@Ri 66~67 間接RAM「異或」到A
XRL A,#data 64 data 立即數「異或」到A
XRL dircet A 62 dircet A「異或」到直接位元組
XRL dircet,#data 63 dircet data 立即數「異或」到直接位元組
CLR A E4 清零
CPL A F4 A取反
RL A 23 A左環移
RLC A 33 A通過進位左環移
RR A 03 A右環移
RRC A 13 A通過進位右環移
控製程序轉移
ACALL addr 11 *1 addr(a7~a0) 絕對子程序調用
LCALL addr 16 12 addr(15~8) 長子程序調用
addr(7~0)
RET 22 子程序調用返回
RETI addr 11 32 中斷調用返回
AJMP addr 11 △1 addr(a7~a6) 絕對轉移
LJMP addr 16 02addr(15~8) 長轉移
addr(7~0)
SJMP rel 80 rel 短轉移,相對轉移
JMP @A+DPTR 73 相對於DPTR間接轉移
JZ rel 60 rel A為零轉移
JNZ rel 70 rel A為零轉移
CJNE A,dircet,rel B5 dircet rel 直接位元組與A比較,不等則轉移
CJNE A,#data,rel B4 data rel 立即數與A比較,不等則轉移
CJNE A,Rn,#data,rel B8~BF data rel 立即數與寄存器比較,不等則轉移
CJNE @Ri,#data,rel B6~B7 data rel 立即數與間接RAM比較,不等則轉移
DJNZ Rn,rel D8~DF rel 寄存器減1,不為零則轉移
DJNZ dircet,rel B5 dircet rel 直接位元組減1,不為零則轉移
NOP 00 空操作
*=a10a9a8l
△=a10a9a80
布爾變數操作
CLR C C3 清零進位
CLR bit C2 清零直接位
SETB C D3 置位進位
SETB bit D2 置位直接位
CPL C B3 進位取反
CPL bit B2 直接位取反
ANL C,bit 82 dit 直接數「與」到進位
ANL C,/bit B0 直接位的反「與」到進位
ORL C,bit 72 bit 直接位「或」到進位
ORL C,/bit A0 bit 直接位的反「或」到進位
MOV C,bit A2 bit 直接位送進位
MOV bit,C 92 bit 進位送直接位
JC rel 40 rel 進位位為1轉移
JNC rel 50 rel 進位位為0轉移
JB bit,rel 20 bit rel 直接位為1相對轉移
JNB bit,rel 30 bit rel 直接位為0相對轉移
JBC bit,rel 10 bit rel 直接位為1相對轉移,然後清零該位
[1]. 循環移位指令(4條)
RL A ;累加器A中的內容左移一位
RR A ;累加器A中的內容右移一位
RLC A ;累加器A中的內容連同進位位CY左移一位
RRC A ;累加器A中的內容連同進位位CY右移一位
[2]. 累加器半位元組交換指令(1條)
SWAP A ; 累加器中的內容高低半位元組互換
[3]. 求反指令(1條)
CPL A ; 累加器中的內容按位取反
[4]. 清零指令(1條)
CLR A ; 0→(A),累加器中的內容清0
[5]. 邏輯與操作指令(6條)
ANL A,data ;累加器A中的內容和直接地址單元中的內容執行與邏輯操作。結果存在寄存器A中。
ANL data,#data ;直接地址單元中的內容和立即數執行與邏輯操作。結果存在直接地址單元中。
ANL A,#data ;累加器A的內容和立即數執行與邏輯操作。結果存在累加器A中。
ANL A,Rn ;累加器A的內容和寄存器Rn中的內容執行與邏輯操作。結果存在累加器A中。
ANL data,A ;直接地址單元中的內容和累加器A的內容執行與邏輯操作。結果存在直接地址單元中。
ANL A,@Ri ;累加器A的內容和工作寄存器Ri指向的地址單元中的內容執行與邏輯操作。結果存在累加器A中。
[6]. 邏輯或操作指令(6條)
這組指令的作用是將兩個單元中的內容執行邏輯或操作。如果直接地址是I/O地址,則為「讀—修改—寫」操作。
ORL A,data ;累加器A中的內容和直接地址單元中的內容執行邏輯或操作。結果存在寄存器A中。
ORL data,#data ;直接地址單元中的內容和立即數執行邏輯或操作。結果存在直接地址單元中。
ORL A,#data ;累加器A的內容和立即數執行邏輯或操作。結果存在累加器A中。
ORL A,Rn ;累加器A的內容和寄存器Rn中的內容執行邏輯或操作。結果存在累加器A中。
ORL data,A ;直接地址單元中的內容和累加器A的內容執行邏輯或操作。結果存在直接地址單元中。
ORL A,@Ri ;累加器A的內容和工作寄存器Ri指向的地址單元中的內容執行邏輯或操作。結果存在累加器A中。
[7]. 邏輯異或操作指令(6條)
XRL A,data ;累加器A中的內容和直接地址單元中的內容執行邏輯異或操作。結果存在寄存器A中。
XRL data,#data ;直接地址單元中的內容和立即數執行邏輯異或操作。結果存在直接地址單元中。
XRL A,#data ;累加器A的內容和立即數執行邏輯異或操作。結果存在累加器A中。
XRL A,Rn ;累加器A的內容和寄存器Rn中的內容執行邏輯異或操作。結果存在累加器A中。
XRL data,A ;直接地址單元中的內容和累加器A的內容執行邏輯異或操作。結果存在直接地址單元中。
XRL A,@Ri ;累加器A的內容和工作寄存器Ri指向的地址單元中的內容執行邏輯異或操作。結果存在累加器A中
控制轉移類指令分析
[1]. 無條件轉移指令(4條)
LJMP addr16 ;addr16→(PC),給程序計數器賦予新值(16位地址)
AJMP addr11 ;(PC)+2→(PC),addr11→(PC10-0)程序計數器賦予新值(11位地址),(PC15-11)不改變
SJMP rel ;(PC)+ 2 + rel→(PC)當前程序計數器先加上2再加上偏移量給程序計數器賦予新值
JMP @A+DPTR ;(A)+ (DPTR)→(PC),累加器所指向地址單元的值加上數據指針的值給程序計數器賦予新值
[2]. 條件轉移指令(8條)
JZ rel ; A=0,(PC)+ 2 + rel→(PC),累加器中的內容為0,則轉移到偏移量所指向的地址,否則程序往下執行
JNZ rel ; A≠0,(PC)+ 2 + rel→(PC),累加器中的內容不為0,則轉移到偏移量所指向的地址,否則程序往下執行
CJNE A, data, rel ; A≠(data),(PC)+ 3 + rel→(PC),累加器中的內容不等於直接地址單元的內容,則轉移到偏移量所指向的地址,否則程序往下執行
CJNE A, #data, rel ; A≠#data,(PC)+ 3 + rel→(PC),累加器中的內容不等於立即數,則轉移到偏移量所指向的地址,否則程序往下執行
CJNE Rn, #data, rel ; A≠#data,(PC)+ 3 + rel→(PC),工作寄存器Rn中的內容不等於立即數,則轉移到偏移量所指向的地址,否則程序往下執行
CJNE @Ri, #data, rel ; A≠#data,(PC)+ 3 + rel→(PC),工作寄存器Ri指向地址單元中的內容不等於立即數,則轉移到偏移量所指向的地址,否則程序往下執行
布爾變數操作指令分析
[1]. 位傳送指令(2條)
MOV C,bit ;bit→CY,某位數據送CY
MOV bit,C ;CY→bit,CY數據送某位
[2]. 位置位復位指令(4條)
CLR C ; 0→CY,清CY
CLR bit ; 0→bit,清某一位
SETB C ; 1→CY,置位CY
SETB bit ; 1→bit,置位某一位
[3]. 位運算指令(6條)
ANL C,bit ;(CY)∧(bit)→CY
ANL C,/bit ;(CY)∧( )→CY
ORL C,bit ;(CY)∨(bit)→CY
ORL C,/bit ;(CY)∧()→CY
CPL C ;()→CY
CPL bit ;()→bir
[4]. 位控制轉移指令(5)
JC rel ; (CY)=1轉移,(PC)+2+rel→PC,否則程序往下執行,(PC)+2→PC。
JNC rel ; (CY)=0轉移,(PC)+2+rel→PC,否則程序往下執行,(PC)+2→PC。
JB bit, rel ; 位狀態為1轉移。
JNB bit, rel ; 位狀態為0轉移。
JBC bit, rel ; 位狀態為1轉移,並使該位清「0」。
B. 單片機指令CJNE字母各代表什麼意思
C compare 比較
J jump 跳轉
N no 不
E equal 相等
意思就是 2個數相比較 不 相等 則跳轉
其實其他指令也都是有他的英文意思的,通過英文來記憶這些指令 的確很有幫助 我以前也是靠這樣記的 嘿嘿
C. 單片機系統指令的位操作指令
一、數據位傳送指令
MOV C,bit
MOV bit,C
如MOV C,06H ;(20H).6→Cy
06H是內部RAM 20H位元組位6的位地址。
MOV P1.0,C ;Cy→P1.0
可定址位的具體定義:從20H單元的第一位開始一直到2FH單元的最後一位分別為00H~7FH以及特殊功能寄存器中80H~F7H。
二、位變數修改指令
CLR C ;清「0」Cy
CLR bit ;清「0」bit位
CPL C ;Cy求反
CPL bit ;bit位求反
SETB C ;置「1」 Cy
SETB bit ;置「1」bit位
三、位變數邏輯與指令
ANL C,bit ;bit ∧Cy →Cy
ANL C,/bit; ;/ bit ∧Cy →Cy
四、位變數邏輯或指令
ORL C,bit ;bit ∨ Cy →Cy
ORL C,/bit ;/ bit ∨ Cy →Cy
五、條件轉移類指令
JC rel ;如果進位位Cy=1,則轉移
JNC rel ;如果進位位Cy=0,則轉移
JB bit,rel ;如果直接定址位=1,則轉移
JNB bit,rel ;如果直接定址位=0,則轉移
JBC bit,rel ;如果直接定址位=1,則轉移,並對bit位清0
D. 51單片機的指令英文全名
MOV(英文為Move):對內部數據寄存器RAM和特殊功能寄存器SFR的數據進行傳送;
MOVC(Move Code)讀取程序存儲器數據表格的數據傳送;
MOVX (Move External RAM) 對外部RAM的數據傳送;
XCH (Exchange) 位元組交換;
XCHD (Exchange low-order Digit) 低半位元組交換;
PUSH (Push onto Stack) 入棧;
POP (Pop from Stack) 出棧;
(2)算術運算類指令(8種助記符)
ADD(Addition) 加法;
ADDC(Add with Carry) 帶進位加法;
SUBB(Subtract with Borrow) 帶借位減法;
DA(Decimal Adjust) 十進制調整;
INC(Increment) 加1;
DEC(Decrement) 減1;
MUL(Multiplication、Multiply) 乘法;
DIV(Division、Divide) 除法;
(3)邏輯運算類指令(10種助記符)
ANL(AND Logic) 邏輯與;
ORL(OR Logic) 邏輯或;
XRL(Exclusive-OR Logic) 邏輯異或;
CLR(Clear) 清零;
CPL(Complement) 取反;
RL(Rotate left) 循環左移;
RLC(Rotate Left throught the Carry flag) 帶進位循環左移;
RR(Rotate Right) 循環右移;
RRC (Rotate Right throught the Carry flag) 帶進位循環右移;
SWAP (Swap) 低4位與高4位交換;
(4)控制轉移類指令(17種助記符)
ACALL(Absolute subroutine Call)子程序絕對調用;
LCALL(Long subroutine Call)子程序長調用;
RET(Return from subroutine)子程序返回;
RETI(Return from Interruption)中斷返回;
SJMP(Short Jump)短轉移;
AJMP(Absolute Jump)絕對轉移;
LJMP(Long Jump)長轉移;
CJNE (Compare Jump if Not Equal)比較不相等則轉移;
DJNZ (Decrement Jump if Not Zero)減1後不為0則轉移;
JZ (Jump if Zero)結果為0則轉移;
JNZ (Jump if Not Zero) 結果不為0則轉移;
JC (Jump if the Carry flag is set)有進位則轉移;
JNC (Jump if Not Carry)無進位則轉移;
JB (Jump if the Bit is set)位為1則轉移;
JNB (Jump if the Bit is Not set) 位為0則轉移;
JBC(Jump if the Bit is set and Clear the bit) 位為1則轉移,並清除該位;
NOP (No Operation) 空操作;
(5)位操作指令(1種助記符)
SETB(Set Bit) 位 置1
基本是全的,個別有的沒有找到。雖說用到的機會很小,但是對於理解指令功能很有幫住
E. 單片機指令
一、
1、單片機全稱單片微型計算機,就是將CPU、存儲器、I/O口等集成在一個晶元內
2、設置工作模式,設置是否開中斷,置入計數初值
3、P3.0,RXD(串列輸入)
P3.1,TXD(串列輸出)
P3.2,/INT0(外部中斷0)
P3.3,/INT1(外部中斷1)
P3.4,T0(定時器0外部輸入)
P3.5,T1(定時器1外部輸入)
P3.6,/WR(外部數據存儲器寫選)
P3.7,/RD(外部數據存儲器讀選)
4、SMOD(模式控制寄存器),TCON(定時器控制寄存器),IE(中斷控制寄存器)
5、定址方式就是尋找操作數或操作數地址的方式,MCS-51單片機有七種定址方式:立即數定址,直接定址,間接定址,寄存器定址,寄存器間接定址,變址定址,相對定址
6、8051有五個中斷源:外部中斷0、T0溢出中斷、外部中斷1、T1溢出中斷、串口中斷;其對應的入口地址分別為:0003H,000BH,0013H,001BH,0023H
7、書上講的應該是有21個特殊功能寄存器,PSW的狀態標志位從第7位到第0位分別為:Cy(借位或者進位標志位)、Ac(輔助進位標志位也叫半進位標志位)、F0(由用戶來定義)、RS1、RS0(這兩位合起來定義單片機選用四組通用寄存器中的哪一組)、OV(溢出標志位)、未用、P(奇偶校驗位)
8、定時器/計數器有2種工作方式:定時方式和計數方式,定時方式時一個時鍾周期定時器加1,計數方式時時鍾脈沖為外部信號(引腳P3.4或者P3.5),如果你問的是工作『模式』的話自己網上查一下,很容易找
二、
5、9、10是對的,其它是錯的
三、
1、SP)=41H,(DPTR)=3412
2、(SP)=40H,(DPTR)=3412
3、(SP)=41H,(DPTR)=3413
4、(A)=0FAH,(B)=03H
5、(30H)=0EH
6、這個題目有錯誤,250後面不應該有H吧
沒有的話應該是:約2.5ms 自己再算算
四、
1.將片外RAM 8000H單元的內容傳送到片內RAM 20H單元。
MOV DPTR,#8000H
MOVX A,@DPTR
MOV 20H,A
2.將片外RAM 4000H單元的內容傳送到片內RAM 20H單元。
MOV DPTR,#4000H
MOVX A,@DPTR
MOV 20H,A
3.將片內RAM 50H單元與51H單元的內容交換
MOV A,50H
MOV B,51H
XCH A,B
MOV 50H,A
MOV 51H,B
4.將片內RAM 20H單元的內容傳送到A中
MOV A,20H
5.將片內RAM 60H單元的內容傳送到A中
MOV A,60H
6. 使累加器A的內容高四位取反,低四位清零
CPL A
ANL A,#F0H
7. 使累加器A的內容最四位置1,低四位清零,其餘位保持不變。
是最高位置1嗎??是的話
ORL A,#80H
ANL A,#F0H
8.分別用指令實現下列各小題的要求:
1) T0開中斷(允許中斷),其餘禁止中斷
MOV IE,#82H
2) T1、串列口開中斷(允許中斷),其餘禁止中斷
MOV IE,#92H
3) 全部開中斷
MOV IE #FFH
4) 全部禁止中斷
CLR IE
五、計數初值=65536-(50ms/1us)=15535=3CAFH
F. 單片機所有指令的英文全稱
MCS-51使用匯編語言指
令,它共有44個操作碼助記符,33種功能,
其操作數有#data、direct、Rn、@Ri等。這里先介紹指令助記符及其相關符號的記憶方
法。
一、助記符號的記憶方法
1�表格列舉法
把44個指令助記符按功能分為五類,每類列表記憶。此處從略,請讀者自己總結。
2�英文還原法
單片機的操作碼助記符是該指令功能的英文縮寫,將縮寫還原成英語原文,再對照漢
語有助於理解其助記符含義,從而加強記憶。例如:
增量 INC-Incremect 減量 DNC-Decrement
短轉移 SJMP-Short jump 長轉移 LJMP-Long jump
比較轉移 CJNE-Compare jump not equality
絕對轉移 AJMP-Absolute jump 空操作 NOP-No operation
交換 XCH-Exchange 加法 ADD-Addition
乘法 MUL-Multiplication 除法 DIV-Division
左環移 RL-Rotate left 進位左環移 RLC-Rotate
left carry
右環移 RR-Rotate right 進位右環移RRC-Rotate
right carry
3�功能模塊記憶法
單片機的44個指令助記符,按所屬指令功能可分為五大類,每類又可以按功能相似原
則為2~3組。這樣,化整為零,各個擊破,實現快速記憶。
1)數據傳送組。 2)加減運算組
MOV 內部數據傳送 ADD 加法
MOVC 程序存儲器傳送 ADDC 帶進位加法
MOVX 外部數據傳送 SUBB 帶進位減法
3)邏輯運算組。 4)子程序調用組。
ANL 邏輯與 LCALL 長調用
ORL 邏輯或 ALALL 絕對調用
XRL 邏輯異或 RET 子程序返回
二、指令的記憶方法
1�指令操作數的有關符號
MCS-51的定址方式共有六種:立即數定址、直接定址、寄存器定址、寄存器間址、變
址定址、相對定址。我們必須掌握其表示的方法。
1)立即數與直接地址。ata表示八位立即數,#data16表示是十六位立即數,data或
direct表示直接地址。
2)Rn(n=0-7)、A、B、CY、DPTR寄存器定址變數。
3)@R0、@R1、@DPTR、SP表示寄存器間址變數。
4)DPTR+A、PC+A表示變址定址的變數。
5)PC+rel(相對量)表示相對定址變數。
記住指令的助記符,掌握不同定址方式的指令操作數的表示方法,為我們記憶匯編指
令打下了基礎。MCS-51指令雖多,但按功能可分為五類,
其中數據傳送類28條,算術運算類24條,邏輯操作類25條,控制轉移類17條,布爾位操作
類17條。在每類指令里,根據其功能,抓住其源、
目的操作數的不同組合,再輔之以下方法,是完全能記住的。
我們約定,可能的目的操作數按(#data/direct/A/Rn/@Ri)順序表示。
對於MOV指令,其目的操作數按A、Rn、direct、@Ri的順序書寫,則可以記住MOV的15
條指令。例如以累加器A為目的操作數,可寫出如下4條指令。
MOV A,#data/direct/A/Rn/@Ri
以此類推,寫出其它指令。
MOV Rn,#data/direct/A
MOV direct,#data/direct/A/Rn/@Ri
MOV @Ri,#data/direct/A
2�指令圖示記憶法
圖示記憶法是把操作功能相同或相似、但其操作數不同的指令,用圖形和箭頭將目
的、源操作數的關系表示出來的一種記憶方法。
例如:由助記符MOV、MOVX、MOVC組成的送數組指令,可以用圖1、2幫助記憶。
由助記符CJNE形成的四條指令,也可以用圖示法表示,如圖3。
CJNE A,#data,rel CJNE A,direct,rel
CJNE @Rn,#data,rel CJNE @Ri,#data,rel
另外,對於由(ANL、ORL、ARL)形成的18條邏輯操作指令,有關A的四條環移指令,
也可以用圖示法表示,請讀者自行畫出記憶。
3�相似功能歸類法
在MCS-51指令中,我們發現部分指令其操作碼不同,但功能相似,而操作數則完全一
樣。相似功能歸類法就是把具有這樣特點的指令放在一起記憶,
只要記住其中的一條,其餘的也就記住了。如加、減法的十二條指令,與、或、非的十八
條指令,現列舉如下。
ADD/ADDC/SUBB A,#data/direct/Rn/@Ri
ANL/ORL/XRL A,#data/direct/Rn/@Ri
ANL/ORL/XRL direct,#data/a
上述每一排指令,功能相似,其操作數都相同。其它的如加1(INC)、減1(DEC)指令也
可照此辦理。
4�口訣記憶法
對於有些指令,我們可以把相關的功能用精練的語言編成一句話來記憶。如PUSH
direct和POP direct這兩條指令。
初學者常常分不清堆棧SP的變化情況,為此編成這樣一句話:(SP的內容)加1(direct的內
容)再入棧,(SP的內容)彈出(到direct單元)SP才減1。
又如乘法指令中積的存放,除法指令中被除數和除數以及商的存放,都可以編成口訣記憶
如下。
MUL AB 高位積(存於)B,低位積(存於)A。
DIV AB A除以B,商(存於)A余(下)B。
上面介紹了幾種快速記憶單片機指令的方法,希望能起到拋磚引玉的作用,相信讀者
在學習單片機的過程中能找到適合自己的方法來記憶。
但是,有了好的方法還不夠,還需要實踐,即多讀書上的例題和別人編寫的程序,自己再
結合實際編寫一些程序。只有這樣,
才能更好更快地掌握單片機指令系統。