|author||Cyrill Gorcunov <firstname.lastname@example.org>||2013-02-17 22:50:19 +0400|
|committer||Cyrill Gorcunov <email@example.com>||2013-02-17 22:50:19 +0400|
man: Generate manpages from asciidoc format
The asciidoc format is a way more easier to read by a human. Signed-off-by: Cyrill Gorcunov <firstname.lastname@example.org>
Diffstat (limited to 'ndisasm.txt')
1 files changed, 94 insertions, 0 deletions
diff --git a/ndisasm.txt b/ndisasm.txt
new file mode 100644
@@ -0,0 +1,94 @@
+:man source: NASM
+:man manual: The Netwide Assembler Project
+ndisasm - the Netwide Disassembler, an 80x86 binary file disassembler
+*ndisasm* [ *-o* origin ] [ *-s* sync-point [...]] [ *-a* | *-i* ]
+ [ *-b* bits ] [ *-u* ] [ *-e* hdrlen ]
+ [ *-k* offset,length [...]] infile
+The *ndisasm* command generates a disassembly listing of the binary file
+infile and directs it to stdout.
+ Causes *ndisasm* to exit immediately, after giving a summary
+ of its invocation options.
+ Causes *ndisasm* to exit immediately, after displaying its
+ version number.
+ Specifies the notional load address for the file. This
+ option causes *ndisasm* to get the addresses it lists
+ down the left hand margin, and the target addresses
+ of PC-relative jumps and calls, right.
+ Manually specifies a synchronisation address, such that
+ *ndisasm* will not output any machine instruction which
+ encompasses bytes on both sides of the address. Hence
+ the instruction which starts at that address will be
+ correctly disassembled.
+ Specifies a number of bytes to discard from the beginning
+ of the file before starting disassembly. This does not
+ count towards the calculation of the disassembly offset:
+ the first 'disassembled' instruction will be shown starting
+ at the given load address.
+ Specifies that 'length' bytes, starting from disassembly
+ offset 'offset', should be skipped over without generating
+ any output. The skipped bytes still count towards the
+ calculation of the disassembly offset.
+ Enables automatic (or intelligent) sync mode, in which
+ *ndisasm* will attempt to guess where synchronisation should
+ be performed, by means of examining the target addresses
+ of the relative jumps and calls it disassembles.
+ Specifies 16-, 32- or 64-bit mode. The default is 16-bit
+ Specifies 32-bit mode, more compactly than using `-b 32'.
+ Prefers instructions as defined by 'vendor' in case of
+ a conflict. Known 'vendor' names include *intel*, *amd*,
+ *cyrix*, and *idt*. The default is *intel*.
+*ndisasm* only disassembles binary files: it has no understanding of
+the header information present in object or executable files.
+If you want to disassemble an object file, you should probably
+be using *objdump*(1).
+Auto-sync mode won't necessarily cure all your synchronisation
+problems: a sync marker can only be placed automatically if a
+jump or call instruction is found to refer to it 'before'
+*ndisasm* actually disassembles that part of the code. Also,
+if spurious jumps or calls result from disassembling
+non-machine-code data, sync markers may get placed in strange
+places. Feel free to turn auto-sync off and go back to doing
+it manually if necessary.