如果我收集了以下PowerPC
...
asm.as
:
li r0, hello
nop
...我收到了相应的错误消息:
> powerpc-eabi-as -mregnames -mgekko ../asm.as -o asm.ob
../asm.as: Assembler messages:
../asm.as:2: Error: unsupported relocation against hello
这是因为hello
未定义。该错误是期望的行为。但是,如果我使用@h
(更高的16位)注释,它将静默汇编并假设hello
具有值0
:
asm.as
:
li r0, hello@h
nop
使用的命令:
$ powerpc-eabi-as -mregnames -mgekko ../asm.as -o asm.ob
$ powerpc-eabi-objcopy -O "binary" asm.ob asm
$ rm asm.ob
$ xxd -p asm
3800000060000000
为什么hello
仍未定义时汇编程序现在接受了这个新代码?有没有办法再次启用错误消息?我想立即找出是否使用了这样的未定义变量。