【发布时间】:2020-08-31 16:21:05
【问题描述】:
我不知道如何以正确的方式调用这两条指令。第一条指令C.ADDI4SPN 的第一个操作数应该是一个寄存器,第二个,如果我是对的,应该是一个 4 倍数。
但是当我尝试调用指令时,我收到操作数非法的消息。
第二条指令C.ADDI16SP也是一样,唯一的区别是数字应该是16。
这些是手册中的说明说明:
C.ADDI16SP 添加 堆栈指针 (sp=x2) 中值的非零符号扩展 6 位立即数,其中 立即缩放以表示范围 (-512,496) 中 16 的倍数。
C.ADDI4SPN 是 CIW 格式的 RV32C/RV64C-only 指令,它添加了一个零扩展的非零 立即,缩放 4,到堆栈指针 x2,并将结果写入 rd0
这些是我尝试使用说明的示例:
c.addi16sp 32
c.addi4spn x10, 8
【问题讨论】:
标签: assembly riscv instructions operands