[英]I need to convert C (or better) into RISC-V that https://venus.cs61c.org/ will accept
我已經嘗試過https://godbolt.org/以及到 RISC-V 的所有不同轉換,但它仍然出錯。
例如我的 C 代碼:
#include <stdio.h>
int main(){
printf("test");
return 0;
}
轉換為:
main: # @main
addi sp, sp, -16
sw ra, 12(sp) # 4-byte Folded Spill
sw s0, 8(sp) # 4-byte Folded Spill
addi s0, sp, 16
mv a0, zero
sw a0, -16(s0) # 4-byte Folded Spill
sw a0, -12(s0)
lui a0, %hi(.L.str)
addi a0, a0, %lo(.L.str)
call printf
lw a0, -16(s0) # 4-byte Folded Reload
lw s0, 8(sp) # 4-byte Folded Reload
lw ra, 12(sp) # 4-byte Folded Reload
addi sp, sp, 16
ret
.L.str:
.asciz "test"
它在“lui”處給出錯誤,因為它期望 2 arguments 但收到 3。我嘗試通過 using.data 部分和 .text 部分組織代碼,但仍然沒有工作。
使用la $a0, .L.str
而不是 2 指令 %hi,%lo 組合。
另外,使用.string
而不是.asciz
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.