指令集與組合語言

下列何者是RISC-V暫存器x0(zero)的性質?

  1. A讀取時永遠為0,即使寫入,值也不會改變
  2. B保存函式的返回位址
  3. C成為表示前一個運算結果是否為0的旗標
查看答案與解析

正確答案:A. 讀取時永遠為0,即使寫入,值也不會改變

x0是永遠回傳0的特殊暫存器,寫入會被忽略。由於隨時都能使用常數0,因此可以用「add rd, rs, x0」複製值、用「addi rd, x0, 5」設定常數、想捨棄結果時將寫入目的地設為x0,不必增加專用的指令。返回位址放在x1(ra)。RISC-V不具備運算結果旗標,而是由分支指令直接比較兩個暫存器。

  • A. 正確。是永遠為0的常數暫存器。
  • B. 返回位址放在x1(ra)。
  • C. RISC-V沒有保存結果旗標的暫存器。
練習這個領域 前往領域頁面

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

  1. 下列何者是RISC-V的RV32I(32位元基本整數指令集)所具備的通用整數暫存器?
  2. 下列何者是組合語言與機器語言之間的關係?
  3. RISC-V的虛擬指令「nop」(什麼都不做),實際上會被組譯器替換為下列哪一個指令?
  4. 下列何者是RISC-V的「add」指令與「addi」指令的差異?
  5. 執行上述RISC-V程式碼之後,暫存器a2的值是多少?