Q20.
由主程式呼叫副程式時,有時須將參數值轉移給副程式使用,下列哪一個不可做為參數傳遞的方法?
數位電子 · 乙級 · 電腦與周邊設備 · Q20
難易度分析
2 / 5
此題考查副程式呼叫時參數傳遞的機制。評分重點在於能否正確區分「用於存放資料」的暫存器與「用於控制程式執行流程」的暫存器。若無法明確分辨不同類別暫存器的核心功能,容易在選項中產生混淆。
正確答案:②將參數存在指令暫存器中
② 將參數存在指令暫存器中:指令暫存器(IP/EIP/RIP) 用於儲存下一條待執行指令的位址,屬於 程式計數器 的功能,無法用於傳遞參數資料。
錯誤選項解析
- ① 將參數存在暫存器中:通用暫存器(如 AX、BX、CX、DX 等)是常見的參數傳遞媒介,尤其在 fastcall 呼叫慣例 中廣泛使用,可提升執行效率。
- ③ 將參數存在堆疊器中:堆疊(Stack) 是最常用的參數傳遞方式之一,如 cdecl 與 stdcall 呼叫慣例 皆透過堆疊推送參數,支援可變數量參數。
- ④ 將參數存在特定的記憶體中:特定記憶體位址(如全域變數或靜態資料區)也可作為參數傳遞的媒介,適用於參數量大或需跨模組共享的情境。
Learning Tip
"本題考 副程式參數傳遞機制 的核心觀念。常見方式包含 暫存器傳遞、堆疊傳遞 與 記憶體傳遞。指令暫存器(IP) 僅用於控制程式流程,記錄返回位址,絕不可用於存放參數。常考陷阱為混淆各類暫存器的功能,需區分 資料暫存器 與 控制暫存器 的用途差異。"
學員答題分佈
①將參數存在暫存器中0%
②將參數存在指令暫存器中0%
③將參數存在堆疊器中0%
④將參數存在特定的記憶體中0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!