計算機組織與結構›Ch1 指令集架構(ISA)
第 6 題/共 39 題
◀ CC 6/39
6. RISC-V Assembly、Function Calling Convention、Reverse Engineering
#CC-01-006中RISC-V AssemblyFunction Calling ConventionReverse Engineering

下面是為函式f的函式主體所產生的RISC-V組合語言程式:"int f(int a, int b, int c)"。這段程式遵循RISC-V的慣例,使用暫存器x10-x18來傳遞函式呼叫的參數與回傳值。

addi x2, x2, -16
sd   x1, 0(x2)
slli x5, x12, 5
sd   x5, 8(x2)
jal  x1, m
ld   x11, 8(x2)
lui  x12, 0x11232
addi x12, x12, 0x334
ld   x1, 0(x2)
addi x2, x2, 16
jal  x0, g

下列何者是對應的C程式碼?注意RISC-V中的addi指令對immediate values是sign-extended的。

📄 台大111
跳轉到第題
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch1 指令集架構(ISA)
本章題號 · 1–20 / 39