starblue और hlovdal दोनों विहित जवाब के कुछ हिस्सों की है। यदि आप कच्चे i8086 कोड को अलग करना चाहते हैं, तो आप आमतौर पर इंटेल सिंटैक्स चाहते हैं, एटी एंड टी सिंटैक्स भी नहीं, इसलिए उपयोग करें:
objdump -D -Mintel,i8086 -b binary -m i386 mbr.bin
objdump -D -Mintel,i386 -b binary -m i386 foo.bin # for 32-bit code
objdump -D -Mintel,x86-64 -b binary -m i386 foo.bin # for 64-bit code
यदि आपका कोड ELF (या a.out (या (E) COFF)) है, तो आप संक्षिप्त रूप का उपयोग कर सकते हैं:
objdump -D -Mintel,i8086 a.out # disassembles the entire file
objdump -d -Mintel,i8086 a.out # disassembles only code sections
32-बिट या 64-बिट कोड के लिए, को छोड़ दें ,8086
; ELF हेडर में पहले से ही यह जानकारी शामिल है।
ndisasm
, जैसा कि जेम्स्लिन द्वारा सुझाया गया है , यह भी एक अच्छा विकल्प है, लेकिन objdump
आमतौर पर यह ओएस के साथ आता है और यह जीएनयू बिनुटिल्स (जीसीसी द्वारा समर्थित लोगों का सुपरसेट) द्वारा समर्थित सभी आर्किटेक्चर से निपट सकता है, और इसका उत्पादन आमतौर पर जीएनयू as
(ndisasm's) में खिलाया जा सकता है खिलाया जानाnasm
हालांकि,) ।
पीटर कॉर्डेस का सुझाव है कि " एग्नर फॉग का ऑग्जनोव बहुत अच्छा है। यह शाखा लक्ष्य पर लेबल लगाता है, जिससे यह पता लगाना बहुत आसान हो जाता है कि कोड क्या करता है। यह NASM, YASM, MASM या AT & T (GNU) सिंटैक्स में जा सकता है। "
मल्टीमीडिया माइक के बारे में पहले से ही पता चला है --adjust-vma
; ndisasm
बराबर है -o
विकल्प।
जुदा करना, कहना, sh4
कोड (मैंने परीक्षण के लिए डेबियन से एक बाइनरी का उपयोग किया), जीएनयू बिनुटिल्स के साथ इसका उपयोग करें (लगभग सभी अन्य डिस्सेम्बलर एक मंच तक सीमित हैं, जैसे कि x86 के साथ ndisasm
और objconv
):
objdump -D -b binary -m sh -EL x
-m
मशीन है, और -EL
लिटल एन्डियन (के लिए इसका मतलब sh4eb
उपयोग -EB
के बजाय) है, जो आर्किटेक्चर है कि या तो endianness में मौजूद के लिए प्रासंगिक है।