練習題:識別指令操作數的定址模式。本文提供標準答案與判斷邏輯。
MOV AX, 1234H ; (1)
MOV AX, [BX] ; (2)
MOV AX, 10H[SI] ; (3)
1234H)。BX 中 ([BX])。SI + 位移量 10H (10H[SI] 或 [SI+10H])。| 模式 | 語法範例 | 有效位址計算 (EA) | 說明 |
|---|---|---|---|
| 立即 | MOV AX, 5 | — | 資料在指令碼中 |
| 暫存器 | MOV AX, BX | — | 資料在暫存器 |
| 直接 | MOV AX, [1234H] | EA = 1234H | 位址直接給定 |
| 暫存器間接 | MOV AX, [BX] | EA = BX | 位址在 BX/BP/SI/DI |
| 暫存器相對 | MOV AX, 10H[SI] | EA = SI + 10H | 位址 = 暫存器 + 位移 |
| 基址加變址 | MOV AX, [BX][SI] | EA = BX + SI | 兩暫存器相加 |
| 相對基址加變址 | MOV AX, 10H[BX][SI] | EA = BX + SI + 10H | 兩暫存器 + 位移 |
「括號裡有加減是相對,只有暫存器是間接,直接給數是直接,無括號立即數。」
物理位址 = (段暫存器 << 4) + 有效位址(EA)
; 例:DS=2000H, [BX] BX=0100H → 物理位址 = 20000H + 0100H = 20100H
熟記七大定址模式語法與 EA 計算,匯編語言考試定址題穩拿滿分。