MCS-51指令

1.ACALL

2.ADD

3.ADDC

4.AJMP

5.ANL

6.CJNE

7.CLR

8.CPL

9.DA

10.DEC

11.DIV

12.DJNZ

13.INC

14.JB

15.JBC

16.JC

17.JMP

18.JNB

19.JNC

20.JNZ

21.JZ

22.LCALL

23.LJMP

24.MOV

25.MOVC

26.MOVX

27.MUL

28.NOP

29.ORL

30.POP

31.PUSH

32.RET

33.RETI

34.RL

35.RLC

36.RR

37.RRC

38.SETB

39.SJMP

40.SUBB

41.SWAP

42.XCH

43.XCHD

44.XRL

以上是指令代碼

我想問的是

有誰知道他們的中文全名、功能、指令範例、動作說明

謝謝分享~~

1 Answer

Rating
  • Anonymous
    1 decade ago
    Favorite Answer

      組合語言指令由操作碼、運算元兩部分組成。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的四條環移指令,也可以用圖示法表示,請讀者自行畫出記憶。

    2008-09-28 14:18:07 補充:

    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)指令也可照此辦理。

    2008-09-28 14:18:33 補充:

    4口訣記憶法

      對於有些指令,我們可以把相關的功能用精練的語言編成一句話來記憶。如PUSH direct和POP direct這兩條指令。初學者常常分不清堆疊SP的變化情況,為此編成這樣一句話:(SP的內容)加1(direct的內容)再入棧,(SP的內容)彈出(到direct單元)SP才減1。又如乘法指令中積的存放,除法指令中被除數和除數以及商的存放,都可以編成口訣記憶如下。

      MUL AB  高位積(存於)B,低位積(存於)A。

      DIV AB  A除以B,商(存于)A餘(下)B。

Still have questions? Get your answers by asking now.