これ:
testl %esi, %esi
jle .L3
movl %esi, %eax
testl結果に対して論理 AND を実行する場合、が 0の場合でも、以下esiになることはありませんが、 equalsのみになります。それは本当です、または私は何かが欠けています。esimovl
ステップ2:
f1:
pushq %rbp
movq %rsp, %rbp
testl %esi, %esi
jle .L3
movl %esi, %eax
.L2:
incb (%rdi)
incq %rdi
decq %rax
jne .L2
.L3:
popq %rbp
ret
仮定の C 翻訳では、ifがthenで.L3構成され、分岐が行われると、関数によって返される値を特定できますか?popret