我想在彙編中編寫一個簡單的RISCV程序,然後對其進行測試。該方案應該簡單的值加載到寄存器中的值添加到它:RISCV和Spike:添加內容並讀取值
.file "hello.c"
.text
.align 2
.globl main
.type main, @function
main:
li a0, 2
add a0, a0, 7
.size main, .-main
.ident "GCC: (GNU) 5.3.
然而,當我輸入:
riscv64未知的小精靈 - GCC hello.s
spke -d PK的a.out
REG 0 A0
它總是返回爲0x0 0000000億。爲什麼?我究竟做錯了什麼?
在'main'結尾沒有返回指令是否正常?不執行只是落入下一個功能? (如果你幸運的話,它可能會將a0清零並退出進程)。我不熟悉RISCV或您正在使用的模擬器,但我猜測'reg 0 a0'是模擬器的調試輸出,而前兩行是shell命令? –