日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

微机原理-04-指令系统

發布時間:2023/12/14 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微机原理-04-指令系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#指令系統

指令格式

指 令 通 常 由 指 令 操 作 碼 和 指 令 操 作 數 兩 部 分 組 成

指令描述符號

  • A:表示累加器A,而ACC則表示累加器A的地址。
  • Rn(n = 0~7):當前選中的工作寄存器組中寄存器R0~R7之一。
  • Ri(i = 0, 1):當前選中的工作寄存器組中的寄存器R0或R1。
  • @:間接尋址或變址尋址前綴。
  • data:8位立即數。
  • data16:16位立即數。
  • direct:片內低128個RAM單元地址及SFR地址。
  • addr11:11位目的地址。
  • addr16:16位目的地址。
  • rel:一個字節的補碼表示的地址偏移量,范圍為128~+127。
  • bit:位尋址空間中可尋址位的地址。
  • (X):表示X地址單元或寄存器中的內容。
  • ((X)):以X單元或寄存器中的內容作為地址所指定單元的內容。
  • /:位操作數的取反操作前綴,表示對該數位取反,但不影響該數位的原值。
  • →:數據傳送方向,表示箭尾一側的內容送入箭頭所指向的單元中去。
  • :表示數據交換。

指令格式

  • 單字節指令/:只有操作碼,無操作數,操作數隱含在操作碼中。

  • 雙字節指令/:一個字節表示操作碼,另一個字節表示立即數或存放操作數的地址。

  • 三字節指令/:第一個字節表示操作碼,后兩個字節表示操作數或操作數地址。

  • 注釋:

    • 單指令、一般格式為
      操作助記符 [操作數] [;注釋]
    • 雙指令、一般格式如下所示:
      操作助記符 [目的操作數][,源操作數][;注釋]

尋址方式

不同的計算機其尋址方式不盡相同,一般來說,尋址方式越多,計算機功能就越強,靈活性也越大。51系列單片機共有7種尋址方式

立即尋址

指令編碼中直接給出操作數的尋址方式稱為立即尋址。

在這種尋址方式中,緊跟在操作碼后面的操作數稱為立即數。
立即數可以是一個字節,也可以是兩個字節,立即數以前綴“#” 符號來標識。
MOV A,#03H


直接尋址

直接尋址是指操作數的地址直接在指令中給出的尋址方式。

該地址對應單元中的內容就是操作數,
直接的操作數單元地址用“direct”表示。

MOV A,3CH ;(3CH)→A


寄存器尋址

操作數存放在寄存器中的尋址方式稱為寄存器尋址。

對于這種尋址方式,尋址的寄存器已隱含在指令的操作碼中,寄存器用符號Rn表示。

指令譯碼其實是譯碼的是操作碼

假設(R1) = 0FFH, 執行指令:MOV A,R1 ; (R1)→A 結果:(A) = 0FFH

寄存器間接尋址

寄存器間接尋址是指操作數存放在以寄存器內容為地址的單元中。

寄存器中的內容不再是操作數,而是存放操作數的地址。

寄存器間接尋址用符號“@”表示。

? (1)內部RAM低128單元,地址范圍00H~7FH,用Ri(i = 0,1)或SP作為間址寄存器。
? (2)與P2口鎖存器配合使用,用Ri指示低8位地址,可尋址片外數據存儲器或I/O的64KB區域。
? (3)DPTR間接尋址寄存器,可尋址程序存儲器或片外數據存儲器(包括I/O口)各自的64KB區域。

設(R0) = 60H,內部RAM (60H) = 50H,執行指令MOV A,@R0 ;((R0))→A執行結果(A) = 50H。

####變址尋址

本尋址方式以DPTR或PC作為基址寄存器,以累加器A作為變址寄存器,以兩者內容相加形成的16位地址作為目的地址進行尋址。

MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR

前兩條指令稱為查表指令,適用于讀程序存儲器中固定的數據。例如,將固定的、按一定順序排列的表格存放在程序存儲器中,在程序運行中由A的動態參量來確定讀取對應的表格參數。

第3條為散轉指令,A中內容為程序運行后的動態結果,可根據A中的不同內容,實現跳向不同程序入口的跳轉。

設(A) = 0A4H,(DPTR) = 1234H, 程序存儲區 (12D8H) = 3FH, 則執行指令MOVC A,@A+DPTR后, (A) = 3FH。




相對尋址方式

相對尋址用于跳轉指令。本尋址方式是以該轉移指令的地址(PC值)加上它的字節數,再加上相對偏移量(rel),形成新的轉移目的地址,從而控制程序轉移到該目的地址。

  • 目的地址 = 轉移指令所在的地址 + 轉移指令字節數 + rel
    其中,偏移量rel是一個字節的補碼表示的帶符號數, 其范圍是?-128~+127。

  • 因此,程序轉移范圍是以轉移指令的下條指令首地址為基準地址,相對偏移在?-128~+127單元之間。

假設指令SJMP 20H 存入2100H單元, 其機器碼為80H 20H, 執行該指令后,程序將跳轉到2122H單元取指令并執行


####位尋址方式

位尋址方式是指令中給出的操作數為位尋址區的位地址bit,

bit包括內部RAM的20H~2FH共16個單元的128位,以及某些 可以位尋址的特殊功能寄存器(單元地址能被8整除)的各位。

分析指令MOV C,24H.0的執行結果。 該指令的機器碼為A2H 20H,相當于MOV C,20H,指令執行完成后Cy標志位為1


尋 址 方 式 就 是 CPU 在 指 令 中 尋 找 ( 確 定 ) 操 作 數 位 置 ( 地 址 ) 的 方 式 ( 或 尋 找 ( 確 定 )
轉 移 的 目 標 地 址 的 方 式 ) 。
根 據 操 作 數 的 性 質 , 尋 址 方 式 分 為 數 據 尋 址 方 式 和 地 址 尋 址 方 式 。
根 據 操 作 數 的 位 置 , 尋 址 方 式 分 為 立 即 數 尋 址 方 式 、 寄 存 器 尋 址 方 式 、 存 儲 器 尋 址 方 式 和 I/ O尋 址 方 式 。

算術運算類指令

加法指令

(1)不帶進位加法指令ADD(4條)

ADD A,Rn ;(A)+(Rn)→A,n = 0~7 ADD A,direct ;(A)+ (direct)→A ADD A,@Ri ;(A)+((Ri))→A,i = 0,1 ADD A,#data ;(A)+#data→A

(2)帶進位加法指令

ADDC A,Rn ;(A)+(Rn)+Cy→A,n = 0~7 ADDC A,direct ;(A)+(direct)+Cy→A ADDC A,@Ri ;(A)+((Ri))+Cy→A,i = 0,1 ADDC A,#data ;(A)+#data+Cy→A

(3)加1指令(5條)

INC AINC Rn ;n = 0~7INC direct INC @Ri ;i = 0,1INC DPTR

(4)十進制調整指令(1條)

```DA A ;調整A的內容為正確的BCD碼```

減法指令

減法指令包括帶借位減法指令和減1指令兩類

(1)帶借位減法指令(4條)

SUBB A,Rn ; (A) - (Rn) - Cy→A,n = 0~7 SUBB A,direct ; (A) - (direct) - Cy→A SUBB A,@Ri ; (A) - ((Ri)) - Cy→A,i = 0,1 SUBB A,#data ; (A) - #data - Cy→A

(2)減1指令(4條)

DEC A ;(A) - 1→A DEC Rn ;(Rn) - 1→Rn,n = 0~7 DEC direct ;(direct) - 1→direct DEC @Ri ;((Ri)) - 1→(Ri),i = 0,1

####乘除運算指令
(1)乘法指令(1條)
MUL AB ;A×B→BA

(2)除法指令(1條)
DIV AB ;A÷B,商→A,余數→B

邏輯運算與移位指令

邏輯與指令 ANL A,Rn ;(A)∧(Rn)→A,n = 0~7 ANL A,direct ;(A)∧(direct)→A ANL A,#data ;(A)∧#data→A ANL A,@Ri ;(A)∧((Ri))→A,i = 0~1 ANL direct,A ;(direct)∧(A)→direct ANL direct,#data ;(direct)∧#data→direct 邏輯或指令 ORL A,Rn ;(A)∨(Rn)→A,n = 0~7 ORL A,direct ;(A)∨(direct)→A ORL A,#data ;(A)∨ #data→A ORL A,@Ri ;(A)∨((Ri))→A,i = 0,1 ORL direct,A ;(direct)∨(A)→direct ORL direct,#data ;(direct)∨#data→dire 邏輯異或指令 XRL A,Rn ;(A) ?(Rn)→A,n = 0~7 XRL A,direct ;(A) ? (direct)→A XRL A,@Ri ;(A) ? ((Ri))→A,i = 0,1 XRL A,#data ;(A) ? #data→A XRL direct,A ;(direct) ? (A)→direct XRL direct,#data ;(direct) ? #data →direct

累加器“清零”及“取反”指令

? (1)CLR A
? 這條指令的功能是:將累加器A清“0”,不影響Cy、Ac和OV等標志。
? (2)CPL A
? 這條指令的功能是:將累加器A按位取反,不影響Cy、Ac和OV等標志。

####移位指令

  • 左環移指令
    RL A

  • 帶進位左環移指令
    RLC A

  • 右環移指令
    RR A

  • 帶進位右環移指令
    RRC A

  • 累加器半字節交換指令
    SWAP A

###控制轉移類指令

無條件轉移指令

長轉移指令 LJMP addr16 ;addr16 → PC

短轉移指令 AJMP addr11 ;(PC)+ 2→PC,addr11→PC10~0, PC15~11不變

相對轉移指令 SJMP rel ;(PC)+2→PC,(PC)+ rel→PC

間接跳轉指令(散轉移指令)JMP @A+DPTR ;(PC)+1→PC,(A)+(DPTR)→PC

條件轉移指令

(1)累加器A判零條件轉移指令 JZ rel ;若(A) = 0,則PC+2+rel→PC;否則,PC+2→PC JNZ rel ;若(A) ≠ 0,則PC+2+rel→PC;否則,PC+2→PC (2)比較條件轉移指令CJNE A,direct,rel ;若(A) ≠ (direct),則PC+3+rel→PC;否則,PC+3→PC CJNE A,#data,rel ;若(A) ≠ data,則PC+3+rel→PC;否則,PC+3→PC CJNE Rn,#data,rel ;若(Rn) ≠ data,則PC+3+rel→ PC;否則,PC+3→PC CJNE @Ri,#data,rel ;若((Ri)) ≠ data,則PC+3+rel→PC;否則,PC+3→PC (3)減1條件轉移指令 DJNZ Rn,rel ;(Rn)-1→Rn;若(Rn) ≠ 0,則PC+2+rel→PC;否則,PC+2→PC DJNZ direct,rel ;(direct)-1→direct;若(direct) ≠ 0,則PC+3+rel→PC;否則,PC+3→PC

子程序調用及返回指令

① 長調用指令LCALL addr16 ;(PC)+3→PC;(SP)+1→SP,PC7~0→(SP);(SP)+1→SP,PC15~8→(SP);addrl6→PC ② 絕對調用指令ACALL addr11 ;(PC)+2→PC;(SP)+1→SP,PC7~0→(SP);(SP)+1→SP,PC15~8→(SP);addr11→PC10~0,PC15~11不變 RET ;((SP))→PC15~8,(SP)-1→SP;((SP))→PC7~0,(SP)-1→SP

中斷返回指令

RETI ;((SP))→PC15~8,(SP)-1→SP;((SP))→PC7~0,(SP)-1→SP

###空操作指令
NOP ;(PC)+1→PC

位操作類指令

  • 位傳送指令(2條)
    MOV C,bit ;(bit)→Cy
    MOV bit,C ;Cy→(bit)

  • 位置位/復位指令(4條)
    CLR C ;0→Cy
    CLR bit ;0→bit
    SETB C ;1→Cy
    SETB bit ;1→bit

  • 位運算指令

? ANL C,bit ;(Cy) ∧ (bit) → Cy
? ANL C,/bit ;(Cy) ∧
? ORL C,bit ;(Cy) ∨ (bit) → Cy
? ORL C,/bit ;(Cy) ∨

  • 位條件轉移指令

    JC rel ;若Cy = 1,則(PC)+2+re→PC
    ;否則,(PC)+2→PC
    JNC rel ;若Cy = 0,則(PC)+2+re→PC
    ;否則,(PC)+2→PC
    JB bit,rel ;若(bit) = l,則(PC)+3+re→PC
    ;否則,(PC)+3→PC
    JNB bit,rel ;若(bit) = 0,則(PC)+3+re→PC
    ;否則,(PC)+3→PC
    JBC bit,rel ;若(bit) = 1,則(PC)+3+re→PC,0→bit
    ;否則,(PC)+3→PC

總結

以上是生活随笔為你收集整理的微机原理-04-指令系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。