1. 程式人生 > >菜鷄日記——《彙編與介面技術》第1章 基礎知識 & 第2章 80X86計算機結構

菜鷄日記——《彙編與介面技術》第1章 基礎知識 & 第2章 80X86計算機結構

第1章 基礎知識


 

第2章 80X86計算機結構


(以16位的8086計算機為教學物件)

Intel 8086 CPU: 

  • 累加器:用於算術、邏輯運算以及與外設傳送資訊等。
  • 基址暫存器:常於存放儲存器地址。
  • 計數器:作為迴圈或串操作等指令中的隱含計數器。
  • 資料暫存器:用來存放雙字資料的高16位,或存放外設埠地址。 

指標暫存器和變址暫存器用於存放某個儲存單元的偏移地址

  • 堆疊指標:用於存放當前堆疊段中棧頂的偏移地址。
  • 基址指標:用於存放堆疊段中某一儲存單元的偏移地址。
  • 源地址:在字串操作中,具有自動增量或減量的功能。
  • 目的地址:在字串操作中,具有自動增量或減量的功能。
  • 指令指標:儲存下一次將要取出指令的偏移地址,內容由微處理器硬體自動設定,有一些指令可改變IP的值。
  • 標誌暫存器:包含9個標誌位,儲存一條指令執行後CPU所處狀態資訊及運算結果的特徵。

  • 段暫存器:器用來確定該段在記憶體中的起始地址,便於作業系統執行。 

熟記:

  • AX:字乘法、字除法、字I/O。
  • AH:位元組乘法、位元組除法、DOS中斷功能號。
  • AL:位元組乘法、位元組除法、位元組
    I/O、十進位制算術運算。
  • BX:儲存器指標。
  • CX:串操作或迴圈控制計數器。
  • CL:移位計數器。
  • DX:字乘法、字除法、間接I/O。
  • SI:儲存器指標(串操作中的源指標)。
  • DI:儲存器指標(串操作中的目的指標)。
  • BP:儲存器指標(儲存堆疊指標)。
  • SP:堆疊指標。

【特別說明:堆疊的兩種訪問方式——隨機訪問(使用BP)、棧頂訪問(使用SP)】

儲存器:

位元組單元(8位)*2 = 字單元(16位)

字單元的低位位元組存入低位地址,高位位元組存入高位地址,其地址以低位地址表示。

儲存器採用分段方式:

20位實體地址,儲存器定址空間為1MB,

16位段地址,最多分64K段,每段最小定址空間為16B,

16位偏移地址,每段最大定址空間為64KB,最少分1MB/64KB=16段。

CS、DS、SS、ES暫存器所指向的各段在儲存器中的分配是由作業系統負責的,一般情況下,根據需求量分配。

注意:只有CS段暫存器是作業系統分配的,應用程式可讀但不可寫,其它的段暫存器都可以被修改。