ABI注册RISC-V呼叫大会的名称

时间:2015-06-04 06:32:49

标签: riscv

我对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。然后我用Google搜索了一下,找到了RISC-V Linux User's Manual。本文档指出spx30

那是什么?是否有不同的ABI?我可以使用riscv64-unknown-elf-*的命令行选项设置ABI吗?在某个地方有一张综合表吗?

1 个答案:

答案 0 :(得分:9)

堆栈指针现在是x2

Here是当前的ABI文档,已移出User-Level ISA specification,现在包含相同的链接。

修改了ABI以更好地适应新的RISC-V压缩规范,该规范将8个最常用的寄存器放在x8-x15中。

注意:不信任任何非riscv.org网页。 Quan Nguyen在他的介绍中明确指出," RISC-V Linux用户手册"用于记录移植过程,并且不保证准确性。