【发布时间】:2020-12-23 03:06:13
【问题描述】:
我有一个 raspberry pi 2 和 4,当我尝试编译这个汇编代码时,我遇到了同样的问题。
文件名:first.s
.global _start
_start:
mov r1, #20
mov r2, #10
mov r3, #90
ADD r2, r1, r3
svc 0
我正在使用命令:
as -mfpu=vfpv4 -o first.o first.s
ld -o first first.o
使用 gdb 可以让我逐步检查所有内容并使用“信息寄存器”检查寄存器,一切看起来都很好。在程序结束时,它会给出非法指令。如果我注释掉 svc 行、ADD 行等,它会给出非法指令。
【问题讨论】:
-
感谢您发布重现问题的详细步骤列表!这使得帮助您变得非常容易。跟上!我已经链接了一个关于相同情况的重复问题。尽管它是关于 x86 程序的,但那里给出的答案同样适用于您的问题。
-
是的,这就是答案。可惜我正在读的书没有指出这一点!
标签: assembly raspberry-pi