阿摩線上測驗 登入

申論題資訊

試卷:106年 - 106 專技高考_資訊技師:計算機系統#66578
科目:計算機系統
年份:106年
排序:0

申論題內容

一、在計算機中,為使 CPU 能完整地執行使用者要求的工作,指令集中必須包括那幾類 的指令?試舉例說明之。(20 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

在計算機中,為使 CPU 能完整地執行使用者要求的工作,指令集(Instruction Set)必須包括以下幾類指令:

1. 資料轉移指令(Data Transfer Instructions)

這類指令用於在寄存器、內存和I/O裝置之間傳輸資料。

  • MOV:將資料從一個位置移到另一個位置。例如,MOV AX, BX 將 BX 寄存器的內容移到 AX 寄存器。
  • LOAD:從內存加載資料到寄存器。例如,LOAD R1, [1000] 將內存地址 1000 的值加載到寄存器 R1。
  • STORE:將寄存器中的資料存儲到內存。例如,STORE R1, [1000] 將寄存器 R1 的值存儲到內存地址 1000。

2. 算術指令(Arithmetic Instructions)

這類指令用於執行基本的算術運算,如加法、減法、乘法和除法。

  • ADD:加法指令。例如,ADD AX, BX 將 AX 和 BX 的值相加,結果存放在 AX。
  • SUB:減法指令。例如,SUB AX, BX 將 AX 減去 BX,結果存放在 AX。
  • MUL:乘法指令。例如,MUL BX 將 AX 和 BX 相乘,結果存放在 AX。
  • DIV:除法指令。例如,DIV BX 將 AX 除以 BX,商存放在 AX,餘數存放在 DX。

3. 邏輯指令(Logical Instructions)

這類指令用於執行位操作,如按位與、或、異或和非操作。

  • AND:按位與。例如,AND AX, BX 將 AX 和 BX 按位與,結果存放在 AX。
  • OR:按位或。例如,OR AX, BX 將 AX 和 BX 按位或,結果存放在 AX。
  • XOR:按位異或。例如,XOR AX, BX 將 AX 和 BX 按位異或,結果存放在 AX。
  • NOT:按位非。例如,NOT AX 將 AX 的每一位取反。

4. 控制指令(Control Instructions)

這類指令用於控制程式的執行流程,包括條件跳轉、無條件跳轉、呼叫子程式和返回。

  • JMP:無條件跳轉。例如,JMP 1000 將程式計數器設置為 1000,轉到地址 1000 執行指令。
  • JZJE:條件跳轉,如果零標誌位(ZF)設置,則跳轉。例如,JZ 1000 如果 ZF 為 1,則跳轉到地址 1000。
  • CALL:呼叫子程式。例如,CALL 2000 跳轉到地址 2000 執行子程式,返回地址壓入堆疊。
  • RET:從子程式返回。例如,RET 從堆疊彈出返回地址,跳回主程式。

5. 比較指令(Comparison Instructions)

這類指令用於比較兩個操作數,並設置狀態標誌位。

  • CMP:比較指令。例如,CMP AX, BX 比較 AX 和 BX,設置標誌位(ZF、CF、SF等)以反映比較結果。

6. 位移和旋轉指令(Shift and Rotate Instructions)

這類指令用於移動寄存器中的位元,通常用於快速的乘法或除法運算。

  • SHLSAL:算術左移。例如,SHL AX, 1 將 AX 中的位元向左移動 1 位。
  • SHR:算術右移。例如,SHR AX, 1 將 AX 中的位元向右移動 1 位。
  • ROL:循環左移。例如,ROL AX, 1 將 AX 中的位元循環左移 1 位。
  • ROR:循環右移。例如,ROR AX, 1 將 AX 中的位元循環右移 1 位。

7. 特權指令(Privileged Instructions)

這類指令用於執行與系統控制相關的特殊操作,通常只能在內核模式下執行。

  • HLT:停止處理器。例如,HLT 停止 CPU 的執行,直到下一個中斷發生。
  • IN:從 I/O 端口讀取資料。例如,IN AX, DX 從由 DX 指定的 I/O 端口讀取資料到 AX。
  • OUT:將資料寫入 I/O 端口。例如,OUT DX, AX 將 AX 中的資料寫入由 DX 指定的 I/O 端口。

這些指令類別涵蓋了 CPU 執行各種操作所需的基本功能,確保了計算機能夠完成使用者的各種任務。