問題 1:為何 MOV SS, AX 需透過 AX?
SS(Stack Segment)為段暫存器,**無法直接接受立即數**,必須先將段值載入通用暫存器(如 AX),再傳送至 SS。AX 此時僅作暫存傳遞,其值在 SS 中才具備「段基址」意義。
問題 2:物理位址計算
實模式下:物理位址 = 段基址 × 16 + 偏移量(即段值左移 4 位 + 偏移)。
- 範例:段值 1H,偏移 0 → 物理位址 = 1H × 10H + 0 = 10H。
- 同一物理位址可用不同「段:偏移」表示,如
0:10H、1:0 均指向 10H。
核心觀念
- 段暫存器(CS/DS/SS/ES)儲存段基址(段值),需配合偏移暫存器(IP/SP/SI/DI 等)形成完整位址。
- 通用暫存器(AX/BX/CX/DX)僅存放數值,不具分段意義,但可作為段值的暫存載體。
- 理解「段:偏移」到物理位址的換算,是組語記憶體定址的基礎。