0
我已經寫了一個彙編程序(在& t語法),我想看看機器代碼的外觀。這是我得到的可執行代碼:如何查看機器碼?
as -g -o p1.o p1.s --32 -gstabs
ld -o p1 p1.o -m elf_i386
我已經寫了一個彙編程序(在& t語法),我想看看機器代碼的外觀。這是我得到的可執行代碼:如何查看機器碼?
as -g -o p1.o p1.s --32 -gstabs
ld -o p1 p1.o -m elf_i386
假設你是一個Linux或BSD平臺(基於事實,你正在使用as
),你可能會想嘗試objdump
。
objdump -d <binary file>
將反彙編目標文件,在左邊顯示機器代碼十六進制字節,在右邊顯示反彙編的匹配程序集助記符。這裏有一個例子:
$ objdump -d factorial
factorial: file format elf64-x86-64
Disassembly of section .init:
00000000004003f0 :
4003f0: 48 83 ec 08 sub $0x8,%rsp
4003f4: e8 73 00 00 00 callq 40046c
..
Disassembly of section .plt:
0000000000400408 :
400408: ff 35 e2 0b 20 00 pushq 0x200be2(%rip) # 600ff0
40040e: ff 25 e4 0b 20 00 jmpq *0x200be4(%rip) # 600ff8
400414: 0f 1f 40 00 nopl 0x0(%rax)
objdump
是binutils
包在Linux平臺上的一部分。
是的,就是這樣!謝謝! – Temp