組合語言第二章暫存器

2022-06-01 13:12:07 字數 1218 閱讀 9406

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

不同的cpu,暫存器的個數、結構是不同的,8086cpu有12個暫存器,分別是ax、bx、cx、dx、si、di、sp、bp、ip、cs、ss、ds、es、psw。

通用暫存器

ax、bx、cx、dx(16位)

乙個16位暫存器可以儲存乙個16位的資料,為了和早期的cpu操作相容,每個通用暫存器分為2個8位暫存器來使用。

ax分為ah和al

bx分為bh和bl

cx分為ch和cl

dx分為dh和dl

拿ax暫存器舉例

下面對幾個基本概念進行補充:

位元組:記為byte,乙個位元組由8個bit組成,可以存在8位暫存器中。

字:乙個字由兩個位元組組成,可以存在乙個16位暫存器中。

彙編指令

程式設計師通過彙編指令來控制cpu進行工作。

下面舉幾個常見的彙編指令:

注:彙編指令中不分大小寫,在mov和add指令操作中,操作物件必須位數一致,運算時如果超過暫存器的位數,要捨掉。

實體地址

cpu通過位址匯流排送入儲存器的,每乙個單元的唯一位址。

16位cpu的特性:

運算器最多可以處理16位的資料。

暫存器的最大寬度為16位。

暫存器和運算器之間的通路為16位。

8086cpu有20位位址匯流排,可以傳送20位位址,而8086cpu只是16位結構,其採用一種在內部用兩個16位位址合成的方法來形成乙個20位的實體地址,

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

段位址也稱為基礎位址或者起始位址,段只是乙個隱藏概念。

段暫存器:cs、ds、ss、es

提供段位址

cs:**段暫存器,ip:指令指標暫存器

在8086機中,任意時刻,cpu將cs:ip指向的內容當作指令執行

jmp:此命令用來修改cs、ip的值。

舉例jmp 4ae3:2

cs ← 4e3h

ip ← 2

組合語言 第二章 暫存器

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

組合語言之第二章暫存器

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

組合語言(王爽)第二章暫存器

乙個典型的cpu由運算器 控制器 暫存器等部件組成,部件之間靠內部匯流排連線。運算器進行資訊處理,暫存器進行資訊儲存 控制器控制各部件進行工作,內部匯流排連線各部件以進行資料的傳輸。不同的cpu暫存器的個數和結構都是不盡相同的。2.1通用暫存器 以8086為例,其內部所有暫存器都是16位的,即兩個位...