アセンブリ コードを C コードに変換する必要がありますが、次の 2 行で問題が発生しています。
804842d: c7 44 24 18 00 00 00 movl $0x0,0x18(%esp)
8048434: 00
8048435: c7 44 24 1c 00 00 00 movl $0x0,0x1c(%esp)
804843c: 00
これは私が与えられたアセンブリコードです。
したがって、CI では main 関数のこの部分を作成しました。
int main(){
int x, y;
x=0;
y=0;
}
しかし、このコードをアセンブリに変換すると、次のようになります。
804842d: c7 44 24 1c 08 00 00 movl $0x0,0x1c(%esp)
8048434: 00
8048435: c7 44 24 18 07 00 00 movl $0x0,0x18(%esp)
804843c: 00
アセンブリ バージョン (0x1c(%esp) と 0X18(%esp)) で 2 つのアドレスが反転するのはなぜですか? それを修正する方法はありますか?