我将自己在 C 中编写的代码反汇编为 PowerPC 程序集,但我无法理解为什么crclr在调用printf函数之前会发生这种情况。
C代码
int main()
{
int a, b, c;
a = 10;
b = 2;
c = a * b;
printf("%d", c);
return 0;
}
PowerPC 汇编代码
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
lis r3, unk_38@h
addi r3, r3, unk_38@l
li r4, 0x14
crclr 4*cr1+eq
bl printf
li r3, 0
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
unk_38:
.byte 0x25 # %
.byte 0x64 # d
谁能告诉我为什么?
提前致谢 :)