1. 程式人生 > >組合語言 第二章總結

組合語言 第二章總結

  簡單的說,在CPU中:

              運算器進行資訊處理

              暫存器進行資訊儲存

              控制器控制各種器件進行工作

              內部匯流排連線各種器件,在他們之間進行資料的傳送

對於一個彙編程式設計師來說,CPU中的主要部件是暫存器。暫存器是CPU中程式設計師可以用指令讀寫的部件。程式設計師通過改變各種暫存器中的內容來實現對CPU的控制。不同的CPU,暫存器的個數,結構是不相同的。8086CPU有14個暫存器,每個暫存器有一個名稱。這些暫存器是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW。

  8086CPU所有暫存器都是16位的,可以存放兩個位元組。AX,BX,CX,DX這4個暫存器通常來存放一些一般性的資料,被稱為通用暫存器。一般暫存器前8位是高位,後8位為低位,比如AX的前8位表示為AH,後8位可以表示為AL。

  位元組記為Byte,一個位元組由8bit組成,可以存在8位暫存器中。

  字:記為word,一個字由兩個位元組組成,這兩個位元組分別稱為這個字的高位位元組和低位位元組。

  mov指令:mov AXBX  該指令為把暫存器BX中的值存入AX中,例項中BX的位置可以為一個值。

  地址加法器採用 實體地址 = 段地址*16 + 偏移地址  的方法用短地址和偏移地址合成物理地址。

  CS和IP是8086CPU中兩個最為關鍵的暫存器,它們指示了CPU當前要讀取指令的地址。CS為程式碼段暫存器,IP為指令指標暫存器,從名稱上我們可以看出它們和指令的關係。在8086PC機中,任意時刻,設CS中的內容為M,IP中的內容為N,8086CPU將從記憶體M*16+N單元開始,讀取一條指令並執行

。IP暫存器的值會在執行過程中變化。

  若想同時修改CS,IP的值,可以使用:jmp 短地址:偏移地址 的指令完成。