計算機組織與結構›Ch1 指令集架構(ISA)第 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)