02-CompileCodeInstructAndStack
调用过程和堆栈
Lab
用 risk-v 指令实现如下逻辑
n=9
while n != 1:
if n % 2 == 0
n=n/2
else:
n = 3*n + 1
li a0, 9
li a3, 1
While:
bne a0, a3, If
j End
If:
andi a1, a0, 1
bnez a1, Else
Then:
srai a0, a0, 1
j While
Else:
slli a2, a0, 1
add a0, a0, a2
addi a0, a0, 1
j While
End: