菜鷄日記——《彙編與介面技術》第1章 基礎知識 & 第2章 80X86計算機結構
阿新 • • 發佈:2018-11-10
第1章 基礎知識
第2章 80X86計算機結構
(以16位的8086計算機為教學物件)
Intel 8086 CPU:
- 累加器:用於算術、邏輯運算以及與外設傳送資訊等。
- 基址暫存器:常於存放儲存器地址。
- 計數器:作為迴圈或串操作等指令中的隱含計數器。
- 資料暫存器:用來存放雙字資料的高16位,或存放外設埠地址。
指標暫存器和變址暫存器用於存放某個儲存單元的偏移地址
- 堆疊指標:用於存放當前堆疊段中棧頂的偏移地址。
- 基址指標:用於存放堆疊段中某一儲存單元的偏移地址。
- 源地址:在字串操作中,具有自動增量或減量的功能。
- 目的地址:在字串操作中,具有自動增量或減量的功能。
- 指令指標:儲存下一次將要取出指令的偏移地址,內容由微處理器硬體自動設定,有一些指令可改變IP的值。
標誌暫存器:包含9個標誌位,儲存一條指令執行後CPU所處狀態資訊及運算結果的特徵。
- 段暫存器:器用來確定該段在記憶體中的起始地址,便於作業系統執行。
熟記:
- AX:字乘法、字除法、字I/O。
- AH:位元組乘法、位元組除法、DOS中斷功能號。
- AL:位元組乘法、位元組除法、位元組
- 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段暫存器是作業系統分配的,應用程式可讀但不可寫,其它的段暫存器都可以被修改。