指令集與組合語言
RISC-V的addi指令的立即值是12位元帶正負號的整數。下列何者是此立即值能表示的範圍?
- A0~4095
- B-2048~2047
- C-4096~4095
查看答案與解析
正確答案:B. -2048~2047
12位元的二補數所能表示的,是從-2的11次方=-2048到2的11次方-1=2047。立即值在計算前會先符號擴充為32位元(RV64則為64位元),所以負數也能直接相加。要使用超出此範圍的常數,需組合多個指令,例如以lui指令設定高20位元,再以addi加上低12位元。
- A. 這是無號12位元的範圍。
- B. 正確。是二補數12位元的範圍。
- C. 這是13位元的範圍。