アセンブリ コードを C に変換するのに助けが必要です。私の理解では、これは条件 (a < c) を持つ while ループですが、while ループの本体がわかりません。
movl $0, -8(%ebp) # variable B is at ebp - 8
movl $0, -4(%ebp) # variable A is at ebp - 4
jmp .L3
.L2
movl 8(%ebp), %eax # parameter C is at ebp + 8
addl $2, %eax
addl %eax, %eax
addl %eax, -8(%ebp)
addl $1, -4(%ebp)
.L3
movl -4(%ebp), %eax
cmpl 8(%ebp), %eax
jl .L2
また、なぜあなたがしたことをしたのかを説明してください。
これは私がこれまでに得たものです
int a,b = 0;
while (a < c) {
c += 4 + 2*c;
a++;
}
私がすべて正しくやった場合、私が理解できないのは行だけです
addl %eax, -8(%ebp)