普考-資訊處理計算機概要112 年第 3 題單選題
下列那一種定址模式其運算元,即為指令中所含的一個常數?
A立即定址法(immediate addressing)正確答案
B暫存器定址法(register addressing)
C基底或位移定址法(base or displacement addressing)
DPC相對定址法(PC-relative addressing)
A正確答案
立即定址法的運算元就是指令中直接內含的常數值,無需再去記憶體或暫存器抓資料。
為什麼答案是 A
立即定址法(immediate)的運算元直接寫在指令中,就是一個常數值,CPU 取得指令後即可使用,無需額外存取記憶體或暫存器。
載入中…
完整詳解
Pro · 無限重點 立即定址法的運算元就是指令中直接內含的常數值,無需再去記憶體或暫存器抓資料。
看到「常數」「immediate」直接選立即定址,這是最快的定址方式。
逐選項分析
A✓ 正確
立即定址法(immediate)的運算元直接寫在指令中,就是一個常數值,CPU 取得指令後即可使用,無需額外存取記憶體或暫存器。
B✕
暫存器定址法的運算元存放於暫存器中,指令中只記錄暫存器編號,並非常數本身。
C✕ 陷阱
基底或位移定址法是以「基底暫存器內容 + 位移量」計算出記憶體位址後再取值,位移只是位址的一部分,運算元仍在記憶體中。
D✕
PC 相對定址法以程式計數器(PC)加上位移量來計算目標位址,常用於分支指令,運算元是位址而非常數本身。
五大定址模式速查
| 模式 | 運算元位置 | 取值方式 | 典型用途 |
|---|
| 立即定址 Immediate | 指令內 | 常數直接嵌在指令 | 載入常數 |
| 暫存器定址 Register | 暫存器 | 讀暫存器內容 | 快速運算 |
| 直接定址 Direct | 記憶體 | 指令給絕對位址 | 全域變數 |
| 基底/位移 Base+Disp | 記憶體 | 基底暫存器+位移 | 陣列、結構存取 |
| PC相對 PC-relative | 記憶體 | PC+位移 | 跳躍、分支指令 |
考生易把「基底或位移定址」中的位移量誤認為常數,但位移只是用來算位址的偏移值,真正的運算元仍在記憶體中。只有「立即定址」的指令中常數才是運算元本身。