組合語言之第二章暫存器

2022-06-04 00:00:18 字數 1297 閱讀 5173

一、通用暫存器

乙個典型cpu由運算器、暫存器、控制器構成,而暫存器是cpu中程式設計師可以用指令讀寫的部件。不同的cpu,暫存器的個數、結構是不同的。

8086cpu的暫存器都是16位的,由於8086cpu上一代cpu中暫存器都是8位的,為了相容性,8086cpu的通用暫存器(通常用來存放一般性的資料)ax、bx、cx、dx這四個暫存器可以分成兩個可獨立使用的8位暫存器來用。ax=ah+al     bx=bh+bl   cx=ch+cl   dx=dh+dl   。ax 的低八位構成al,高八位構成ah。

二、位元組,字,進製

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

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

乙個字可以儲存在乙個16位暫存器,字的高八位儲存在高八位暫存器,低八位儲存在低八位暫存器。

為了區分進製,在十六進製制表示的資料的後面加h,在二進位制表示的資料後面加b,十進位制表示的資料後面什麼也不加。

三、指令,資料改變

彙編幾條常用指令舉例:

暫存器中資料的改變:

注意:指令的兩個操作物件的位數應相同,同時實現相加操作時,應注意記憶體溢位,防止出錯漏位。

四、位址加法器,cs,ip,jmp

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

16位結構cpu能夠一次性處理傳輸暫時儲存的資訊的最大長度是16位的,暫存器和運算器之間的通道為16位。

8086cpu有20位位址匯流排,可以傳送20位位址。但是cpu是16位結構。為了充分利用不浪費,8086cpu採用一種在內部用兩個16位位址合成的方法來形成20位的實體地址。

位址加法器採用   實體地址=段位址*16+偏移位址    用段位址和偏移位址合成實體地址

cs和ip是8086cpu中兩個最關鍵的暫存器,cs為**段暫存器,ip為指令指標暫存器,ip每次是根據指令的空間大小進行更新。

修改cs、ip的指令:jmp指令。

②只修改ip的內容:jmp 某一合法暫存器

組合語言 第二章 暫存器

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

組合語言第二章暫存器

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

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

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