.text .global _start _start: mov r0, #1 ldr r1, =100 loop: add r0, r0, #1 cmp r0, r1 bne loop exit: mov r7, #0x11 // 退出系统调用 mov r0, #0 svc 0 .end当r0加到100时程序没有退出
时间: 2024-01-28 07:02:45 浏览: 108
VC6.0在64位Windows7下调试的时候,再结束调试,程序无法退出
你的代码中的循环计算从 1 加到 100,并在计算完毕后使用退出系统调用结束程序。但你说程序没有退出,这可能是因为你的程序没有正确结束。
在 ARM 汇编中,程序结束时需要使用标准退出代码 0。你需要在 `exit` 标签下添加一些代码来设置 r0 为 0,表示程序正常结束。例如:
```
exit:
mov r7, #0x11 // 退出系统调用
mov r0, #0
svc 0
```
这会发送一个退出系统调用并将 r0 设置为 0,使得程序能够正常退出。你可以添加这个代码段来确保程序正确退出。
阅读全文