1

如果我组装以下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仍被未定义的汇编程序接受?有没有办法再次启用错误消息?我想立即找出是否使用了这样的未定义变量。

4

0 回答 0