IBM PC採用Intel 8088(8086的8位總線版本)。對程序員而言,兩者指令集幾乎相同,差別僅在外部總線寬度:8086為16位,8088為8位(內部仍16位),導致8088存取內存需兩個週期,性能約降低30%。
8086採用段式寻址:物理地址 = (段值 << 4) + 偏移,構成20位地址,可寻址1MB。IBM PC保留前320KB給ROM BIOS與顯存,用戶程序可用640KB。
8086提供豐富的尋址模式:
MOV AX, 1234HMOV BX, [VAR]MOV DL, ES:[SI]。最多組合一個基址+一個變址。各模式可組合,形成靈活的數據訪問方式。
| 標誌 | 含義 |
|---|---|
| CF | 進位/借位 |
| PF | 奇偶校驗 |
| AF | 輔助進位(BCD運算用) |
| ZF | 結果為零 |
| SF | 符號位(結果最高位) |
| TF | 單步執行(調試用) |
| IF | 中斷允許 |
| DF | 方向標誌(串操作遞增/遞減) |
| OF | 有符號溢出 |
所有循環指令以CX為計數器。LOOP LABEL 相當於 DEC CX / JNZ LABEL。示例:用累加實現乘法。
MOV AX, 0
MOV CX, 4
NEXT: ADD AX, 6
LOOP NEXT ; CX=0時退出
8088按字節寻址,但CPU內部按字(16位)處理。遵循小端序:低字節存低地址,高字節存高地址。示例程序演示將 AX='HL' 存入內存後按字節讀出顯示。