ATT構文。
次のアセンブリコードが何をするのかを理解しようとしています。
movl 8(%ebp), %edx
movl $0, %eax
testl %edx, %edx
je .L7
.L10:
xorl %edx, %eax
shrl %edx
jne .L10
.L7:
andl $1, %eax
これは、unsignedxという1つのパラメーターを持つ関数の本体であると想定されています。これがdo-whileループであることは知っていますが、どうすれば完全にCコードに変換できますか?