回覆列表
  • 1 # 使用者1844319796352

    A錯了,源於指令:MOV A,@Ri其中i=1或2.

    常用微控制器彙編指令:

    1 .MOV A,Rn 暫存器內容送入累加器

    2 .MOV A,direct 直接地址單元中的資料送入累加器

    3 .MOV A,@Ri (i=0,1)間接RAM 中的資料送入累加器

    4 .MOV A,#data 立即數送入累加器

    5 .MOV Rn,A 累加器內容送入暫存器   

    6 .MOV Rn,direct 直接地址單元中的資料送入暫存器

    7 .MOV Rn,#data 立即數送入暫存器   

    8 .MOV direct,A 累加器內容送入直接地址單元  

    9 .MOV direct,Rn 暫存器內容送入直接地址單元

    10. MOV direct,direct 直接地址單元中的資料送入另一個直接地址單元   

    11 .MOV direct,@Ri (i=0,1)間接RAM 中的資料送入直接地址單元   

    12 MOV direct,#data 立即數送入直接地址單元  

    13 .MOV @Ri,A (i=0,1)累加器內容送間接RAM 單元  

    14 .MOV @Ri,direct (i=0,1)直接地址單元資料送入間接RAM 單元  

    15 .MOV @Ri,#data (i=0,1)立即數送入間接RAM 單元   

    16 .MOV DPTR,#data16 16 位立即數送入地址暫存器   

    17 .MOVC A,@A+DPTR 以DPTR為基地址變址定址單元中的資料送入累加器  

    18 .MOVC A,@A+PC 以PC 為基地址變址定址單元中的資料送入累加器   

    23 .PUSH direct 直接地址單元中的資料壓入堆疊  

    24 .POP direct 彈棧送直接地址單元  

    25 .XCH A,Rn 暫存器與累加器交換   

    26 .XCH A,direct 直接地址單元與累加器交換  

    27 .XCH A,@Ri (i=0,1)間接RAM 與累加器交換  

    28 .XCHD A,@Ri (i=0,1)間接RAM 的低半位元組與累加器交換

    算術操作類指令:

    1. ADD A,Rn 暫存器內容加到累加器  

    2 .ADD A,direct 直接地址單元的內容加到累加器  

    3 A.DD A,@Ri (i=0,1)間接ROM 的內容加到累加器  

    4 .ADD A,#data 立即數加到累加器   

    5 .ADDC A,Rn 暫存器內容帶進位加到累加器  

    6 .ADDC A,direct 直接地址單元的內容帶進位加到累加器  

    7 .ADDC A,@Ri(i=0,1) 間接ROM 的內容帶進位加到累加器

    8 .ADDC A,#data 立即數帶進位加到累加器  

    9 .SUBB A,Rn 累加器帶借位減暫存器內容   

    10. SUBB A,direct 累加器帶借位減直接地址單元的內容  

    11 .SUBB A,@Ri (i=0,1)累加器帶借位減間接RAM 中的內容

    12 .SUBB A,#data 累加器帶借位減立即數   

    13 .INC A 累加器加1  

    14 .INC Rn 暫存器加1   

    15 .INC direct 直接地址單元加1

    16 .INC @Ri (i=0,1)間接RAM 單元加1

    17 .DEC A 累加器減1  

    18 .DEC Rn 暫存器減1  

    19 .DEC direct 直接地址單元減1  

    20 .DEC @Rj 間接RAM 單元減 1   

    21 .INC DPTR 地址暫存器DPTR 加 1  

    22 .MUL AB A 乘以B,結果放在A  

    23 .DIV AB A 除以B,結果放在A  

    24. DA A 累加器十進位制調整

    布林變數操作類指令:

    1 .CLR C 清進位位   

    2 .CLR bit 清直接地址位  

    3 .SETB C 置進位位   

    4 .SETB bit 置直接地址位

    5 .CPL C 進位位求反  

    6 .CPL bit 置直接地址位求反  

    7 .ANL C,bit 進位位和直接地址位相“與”

    8 .ANL C,/bit 進位位和直接地址位的反碼相“與”   

    9 .ORL C,bit 進位位和直接地址位相“或”  

    10. ORL C,/bit 進位位和直接地址位的反碼相“或”  

    11 .MOV C,bit 直接地址位送入進位位  

    12 .MOV bit,C 進位位送入直接地址位   

    13 .JC rel 進位位為1 則轉移   

    14 .JNC rel 進位位為0 則轉移   

    15 .JB bit,rel 直接地址位為1 則轉移  

    16 .JNB bit,rel 直接地址位為0 則轉移

    17 .JBC bit,rel 直接地址位為1 則轉移,該位清零

    邏輯運算元指令:

    1. ANL A,Rn 累加器與暫存器相“與”  

    2 .ANL A,direct 累加器與直接地址單元相“與”  

    3 .ANL A,@Ri 累加器與間接RAM 單元相“與”   

    4 .ANL A,#data 累加器與立即數相“與”   

    5 .ANL direct,A 直接地址單元與累加器相“與”  

    6 .ANL direct,#data 直接地址單元與立即數相“與”

    7 .ORL A,Rn 累加器與暫存器相“或”  

    8 .ORL A,direct 累加器與直接地址單元相“或”  

    9 .ORL A,@Ri 累加器與間接RAM 單元單元相“或”

    10. ORL A,#data 累加器與立即數相“或”  

    11. ORL direct,A 直接地址單元與累加器相“或”  

    12 .ORL direct,#data 直接地址單元與立即數相“或”

    13 .XRL A,Rn 累加器與暫存器相“異或”   

    14 .XRL A,direct 累加器與直接地址單元相“異或”  

    15 .XRL A,@Ri 累加器與間接RAM 單元單元相“異或”  

    16 .XRL A,#data 累加器與立即數相“異或”

    17 .XRL direct,A 直接地址單元與累加器相“異或”  

    18 .XRL direct,#data 直接地址單元與立即數相“異或”

    19 .CLR A 累加器清“0”  

    20 .CPL A 累加器求反   

    21 .RL A 累加器迴圈左移  

    22 .RLC A 累加器帶進位位迴圈左移   

    23 .RR A 累加器迴圈右移   

    24 .RRC A 累加器帶進位位迴圈右移   

    25 .SWAP A 累加器半位元組交換

    控制轉移類指令

    1. ACALL addr11 絕對(短)呼叫子程式   

    2 .LCALL addr16 長呼叫子程式  

    3 .RET 子程式返回  

    4 .RETI 中斷返回   

    5 .AJMP addr11 絕對(短)轉移  

    6 .LJMP addr16 長轉移  

    7 .SJMP rel 相對轉移  

    8 .JMP @A+DPTR 相對於DPTR 的間接轉移

    9. JZ rel 累加器為零轉移   

    10. JNZ rel 累加器非零轉移  

    11. CJNE A,direct,rel 累加器與直接地址單元比較,不相等則轉移  

    12 .CJNE A,#data,rel 累加器與立即數比較,不相等則轉移  

    13 .CJNE Rn,#data,rel 暫存器與立即數比較,不相等則轉移  

    14 .CJNE @Ri,#data,rel 間接RAM 單元與立即數比較,不相等則轉移  

    15 .DJNZ Rn,rel 暫存器減1,非零轉移   

    16 .DJNZ direct,erl 直接地址單元減1,非零轉移  

    17 .NOP 空操作

  • 中秋節和大豐收的關聯?
  • 看不起人的經典語句?