这是我在 ASM 中的简单“Hello world”程序:
.global _start
_start:
adr r1, hello
b test
loop: ldr r12, =0x16000000
str r0, [r12]
test: ldrb r0, [r1], #1
cmp r0,#0
bne loop
@b loop
hello: .asciz "Hello world.\n\r"
注释掉之后b loop
,我希望它只打印出一个“Hello world”。但实际上它并没有停止,就像命令b loop
仍然存在一样。为什么?