0
powerpc汇编程序中该指令的结果是什么?程序计数器如何在powerpc汇编程序中操作
. = 0x100
我认为这涉及到程序计数器,但是反汇编使用这个指令的可执行文件在输出中会出现一些奇怪的现象。 这是简单的代码:
int main()
{
__asm__(". = 0x100");
return 0;
}
,这是反汇编代码:
$ gcc -o prog main.c
$ objdump -d prog
[...]
100003dc <main>:
100003dc: 94 21 ff f0 stwu r1,-16(r1)
100003e0: 93 e1 00 0c stw r31,12(r1)
100003e4: 7c 3f 0b 78 mr r31,r1
...
100004dc: 38 00 00 00 li r0,0
100004e0: 7c 03 03 78 mr r3,r0
100004e4: 81 61 00 00 lwz r11,0(r1)
100004e8: 83 eb ff fc lwz r31,-4(r11)
100004ec: 7d 61 5b 78 mr r1,r11
100004f0: 4e 80 00 20 blr
[...]
该指示有出现了三个点。他们的含义是什么? GAS如何处理这个问题?
谢谢大家!
谢谢保罗,但我认为程序计数器移动了一个absoulte地址,我猜想要找到一个像分支的指令......如何编码该指令? – MirkoBanchi
@Mirko:它不是一条指令,它是一个汇编指令* - 它只是改变后续指令汇编的相对地址。 –
[特殊点符号](http://tigcc.ticalc.org/doc/gnuasm.html#SEC49) – user786653