第2章 暫存器

2022-09-18 23:06:09 字數 1672 閱讀 2508

cpu由運算器、控制器、暫存器等器件構成,器件靠內部匯流排連,與之前匯流排(外)不同

暫存器程式設計師可以用指令讀寫

8086cpu的14個暫存器

ax、bx、cx、dx、si、di、sp、bp、ip、cs、ss、ds、es、psw

通用暫存器:

用來存放一般性資料 ax bx cx dx

16位暫存器可以拆成兩個8位暫存器使用 ah al,高8位和低8位

兩位元組byte構成乙個字word,乙個位元組8bit放在8位暫存器

彙編指令

mov ax,18

mov ah,78

add ax,8

mov ax,bx

add ax,bx

...16位暫存器只能存放4位十六進製制資料,1044ch最高位的1就不能儲存再ax中004ch

獨立使用al這個暫存器如果進製是不會儲存在ah中

資料傳送和運算時 指令的兩個操作物件的位數應當一致

實體地址

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

cpu向位址匯流排發出實體地址前,要在內部形成這個實體地址

16位的cpu能夠一次性處理、傳輸、暫時儲存16位位址

8086cpu有20位位址匯流排,內部用兩個16位位址合成乙個20位 的實體地址

實體地址 = 段位址 x 16(基礎位址) + 偏移位址

段位址 x 16 常用說法左移4位(二進位制位)相當於16進製制左移1位

幾進製左移1位相當於乘幾

因為內部結構是這樣,為了達到20位定址能力,利用兩個16位位址可以達到目的

這個比喻十分形象

接著段位址,記憶體沒有分段,段的劃分來自cpu

段位址 x 16是16的倍數,所以乙個段的起始位址也是16的倍數;偏移位址位16位,16位位址的定址能力位64kb,所以乙個段的長度最大為64kb

cpu可以用不同的段位址和偏移位址形成同乙個實體地址

8086的4個段暫存器

cs、ds、ss、es。當訪問記憶體由這四個段暫存器提供記憶體單元段位址

cs為**段暫存器 ip為指令指標暫存器

任意時刻,設cs內容為m,ip中內容為n,8086cpu從記憶體m x 16 + n單元開始,讀取指令並執行

讀取一條指令後,ip中的值自動增加(指令長度),以使cpu可以讀取下一條指令

cpu將cs:ip指向的記憶體位址單元內容看作指令8086機程式設計時,可以根據需要,將一組記憶體單元定義為乙個段。

將長度為n<=64的**,存在一組位址連續、起始位址為16的倍數的記憶體單元作**段

用cs:ip指向的內容就能讓**段的內容執行

第2章 暫存器小結

cpu cpu由運算器 控制器 暫存器等器件構成,運算器進行資訊處理,暫存器進行資訊儲存,控制器控制各種器件進行工作,內部匯流排連線各種器件,在它們之間進行資料的傳送。程式設計師通過改變各種暫存器中的內容來實現對cpu的控制。位寬 cpu通過外部資料匯流排與記憶體之間一次能夠傳送的資料位。8086 ...

第2章 分支出12章 第2章彙編暫存器

彙編 1.8086cpu有14 個暫存器 通用暫存器 ax bx cx dxsi di sp bp ipcs ss ds es psw 通用暫存器明細 16位暫存器中 ax可以拆分為ah al 累加器 16位暫存器中 bx可以拆分為bh bl 基址暫存器 16 位暫存器中 cx可以拆分為ch cl ...

第2章 暫存器(CPU工作原理)

cpu概述 乙個典型的cpu由運算器 控制器 暫存器等器件組成,這些器件靠內部匯流排相連 內部匯流排實現cpu內部各個器件之間的聯絡。外部匯流排實現cpu和主機板上其他器件的聯絡。暫存器概述 8086cpu有14個暫存器 他們的名稱為 ax,bx,cx,dx,si,di,sp,bp,ip,cs,ss...