安装交叉编译环境
apt-get install g++-riscv64-linux-gnu binutils-riscv64-linux-gnu
源代码
#include<stdio.h>
int fib(int n){
if(n<=2) return 1;
return fib(n-1)+fib(n-2);
}
int main(){
printf("%d", fib(3));
return 0;
}
得到汇编代码
riscv64-linux-gnu-gcc filename
riscv64-linux-gnu-objdump -d a.out > fib.txt // a.out是默认的可执行文件名
汇编代码分析
0000000000000668 <_Z3fibi>:
668: 7179 addi sp,sp,-48
66a: f406 sd ra,40(sp)
66c: f022 sd s0,32(sp)
66e: ec26 sd s1,24(sp)
670: 1800 addi s0,