指令集與組合語言

關於RISC-V的基本指令與x86指令的長度,下列何者正確?

  1. A兩者都是32位元固定長度
  2. BRISC-V是可變長度,x86是32位元固定長度
  3. CRISC-V的基本指令是32位元固定長度,x86是1~15位元組的可變長度
查看答案與解析

正確答案:C. RISC-V的基本指令是32位元固定長度,x86是1~15位元組的可變長度

RISC-V的基本指令全都是32位元,指令的分界一目了然(若使用壓縮指令的C擴充,則會混入16位元的指令)。x86從1位元組的指令,到包含前綴(prefix)與立即值在內最長15位元組的指令都有,若不讀取目前的指令,就不知道下一個指令從哪裡開始。因此x86同時解碼多個指令的電路會變得複雜。

  • A. x86不是固定長度。
  • B. 正好相反。
  • C. 正確。x86因歷史上的擴充,長度參差不齊。
練習這個領域 前往領域頁面

指令集與組合語言的其他題目

  1. 下列何者最適合作為指令採用固定長度的優點?
  2. 在RISC-V的指令中,指定暫存器的欄位(rd、rs1、rs2)各為5位元。下列何者是其理由?
  3. RISC-V的addi指令的立即值是12位元帶正負號的整數。下列何者是此立即值能表示的範圍?
  4. 在RISC-V中,要將無法收進12位元立即值的32位元常數(例:0x12345678)放入暫存器,一般的方法是下列何者?
  5. 在RISC-V中以lui與addi兩個指令產生常數0x12345FFF時,正確的組合是下列何者?