微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Raspberry PI

如何解决在Raspberry PI

我有一个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行等,它会给出非法指令。

解决方法

当程序结束时,CPU刚结束时就开始执行随机废话。要干净地退出程序,您必须实际调用exit syscall。看一眼 https://peterdn.com/post/2012/01/14/hello-world-in-arm-assembly/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。