自分で書いたアセンブラを逆アセンブルしてふと疑問に思ったので質問させて頂きます。
asmファイルからアセンブルして実行可能ファイルにし、
linuxでgdbコマンドを使って逆アセンブルすると「レジスタ」と「レジスタに格納する値」が逆になっています。これは、逆アセンブルしているから(CPUが読み込む順番も逆なので)逆になっているという認識でいいんでしょうか?
自分で書いたコード
section .bss section .data MSG: db "Hello World!!", 10 MSG_LEN equ $-MSG section .text global main main: nop .spike: mov eax, 0 add eax, 5 sub eax, 2 .print: mov eax, 4 mov ebx, 1 mov ecx, MSG mov edx, MSG_LEN int 80h; .final: mov eax, 0 ret
gdbのコード
0x4000c0 <main> nop 0x4000c1 <main.spike> mov $0x0,%eax 0x4000c6 <main.spike+5> add $0x5,%eax 0x4000c9 <main.spike+8> sub $0x2,%eax 0x4000cc <main.print> mov $0x4,%eax 0x4000d1 <main.print+5> mov $0x1,%ebx ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/08/24 21:50