組合語言第二章暫存器知識總結

2022-06-04 16:21:11 字數 2859 閱讀 8168

一、cpu

1、概述

1)乙個典型的cpu由運算器、控制器、暫存器等器件組成。

2)內部匯流排實現cpu內部各個器件之間的聯絡。

外部匯流排實現cpu和主機板上其它器件的聯絡。

2、x位cpu

1)x位cpu

通常用字長來描述cpu。例如,字長16,則稱16位

2)cpu字長

cpu在單位時間內能一次處理的二進位制位數

該指標反映出cpu內部運算處理的速度。

3)位寬

cpu通過外部資料匯流排與記憶體之間一次能夠傳送的資料位。

3、8086cpu

8086是intel系列16微處理器,位址匯流排20

二、暫存器

本課程基於8086cpu

8086有14個16位暫存器:

通用暫存器:ax bx cx dx

基址和變址暫存器:si di sp bp 

段暫存器:ip cs ss ds es psw

1、通用暫存器

為保證相容性,8086的四個通用暫存器可分為兩個可獨立使用的8位暫存器來使用。

ax為例,可將ahal作為8位暫存器單獨使用。ah和al存放的無符號資料範圍:0~2^8-1

2、字在暫存器中的儲存

字的高8→ 存放於通用暫存器的8位暫存器

字的低8→ 存放於通用暫存器的8位暫存器

三、彙編指令

mov  add  jmp

四、8086cpu給出實體地址的方法

1、記憶體單元的實體地址概述

cpu訪問記憶體單元時要給出記憶體單元的位址。

所有的記憶體單元構成的儲存空間是乙個一維的線性空間。每乙個記憶體單元在這個空間中都有唯一的位址,這個唯一的位址稱為實體地址

2、實體地址=段位址*16+偏移位址

8086在內部用兩個16位位址通過計算合成得到乙個20位的實體地址

3、段段是8086為解決用16位暫存器表示20位的實體地址而引入的乙個邏輯上的概念。

可以根據需要,將位址連續、起始實體地址為16倍數的一組記憶體單元(不超過64kb)當作乙個使用。

「段位址× 16構成段的起始實體地址,故根據需要劃分段使用時,段的起始實體地址必須是16的倍數。 

4、段的劃分是靈活的,乙個實體地址可以用不同的「段位址:偏移位址」表示。只要滿足段的起始實體地址是16的倍數。

寫法:

五、cs和ip

1、概念

cs:**段段暫存器,用於存放**段「段位址」

ip:指令指標暫存器,用於存放cpu將要讀取的指令在**段中的偏移位址

cs:ip對應的實體地址存放的是cpu將要讀取的指令。

(cs) × 16 + (ip)  =指令的實體地址

2、計算機工作過程的三個步驟

第1步: cpu基於cs:ip,計算出實體地址,然後到相應的記憶體單元讀取指令,送到指令緩衝區。

第2步: cpu自動修改ip的值,ip = ip + 所讀取指令的長度,從而為下一條指令讀取做準備;

第3步: 執行指令。 轉第1步,重複此過程。

3、(1) cpu從何處執行指令是由cs和ip中的內容決定的。

(2) 程式設計師可以通過改變cs、ip中的內容來控制cpu執行目標指令。

4、修改cs和ip的指令

cs和ip的修改不能通過mov指令實現,需借助轉移指令(如jmp,call等)。

eg   jmp 2ae3:3;

cs<—2ae3h

ip<—3h

組合語言 第二章 暫存器

乙個典型的cpu由運算器 控制器 暫存器等組成.功能如下 1.運算器進行資料的處理 2.暫存器進行資訊儲存 3.控制器控制各種器件進行工作 4.內部匯流排連線各種器件,進行資料傳輸 8086cpu所有暫存器都是16位的。ax bx cx dx這四個暫存器通常用來存放一般性資料,被稱為通用暫存器,ax...

組合語言第二章暫存器

隨著第一章的結束,我們對組合語言的概況有了足夠清晰和明確的基本認識,第二章的展開將會圍繞著暫存器的方方面面具體闡釋,暫存器是cpu中程式設計師可以用指令讀寫的部件,可以通過更改暫存器中的內容來實現對cpu的掌控。不同的cpu,暫存器的個數 結構是不同的,8086cpu有12個暫存器,分別是ax bx...

組合語言之第二章暫存器

一 通用暫存器 乙個典型cpu由運算器 暫存器 控制器構成,而暫存器是cpu中程式設計師可以用指令讀寫的部件。不同的cpu,暫存器的個數 結構是不同的。8086cpu的暫存器都是16位的,由於8086cpu上一代cpu中暫存器都是8位的,為了相容性,8086cpu的通用暫存器 通常用來存放一般性的資...