【发布时间】:2015-08-18 15:14:54
【问题描述】:
我对 RISC-V ABI 寄存器名称感到困惑。例如,“RISC-V 指令集手册,卷 I:用户级 ISA,2.0 版”第 85 页中的表 18.2 指定堆栈指针 sp 是寄存器 x14。但是,指令
addi sp,zero,0
被 riscv64-unknown-elf-as 编译为 0x00000113(-m32 没有区别)。二进制:
000000000000 00000 000 00010 0010011
^imm ^rs1 ^f3 ^rd ^opcode
所以这里的sp 似乎是x2。然后我用谷歌搜索了一下,找到了RISC-V Linux User's Manual。该文档指出sp 是x30。
那是什么?是否有不同的 ABI?我可以将带有命令行选项的 ABI 设置为 riscv64-unknown-elf-* 吗?某处有综合表吗?
【问题讨论】:
标签: cpu-registers calling-convention abi riscv