summaryrefslogtreecommitdiff
path: root/ndisasm.1
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2013-07-22 10:09:35 +0400
committerCyrill Gorcunov <gorcunov@gmail.com>2013-07-22 10:09:35 +0400
commit99427bdb6c85c812665f6d7b36ac520a631c5b23 (patch)
tree378e7afd7ff7bcd781af4e48ee3c315302f2f232 /ndisasm.1
parent57a576ce1e027e62afcc45d5f698d22251b86207 (diff)
downloadnasm-99427bdb6c85c812665f6d7b36ac520a631c5b23.tar.gz
build: Include pregenerated nasm manpages
It's been reported that force people to install asciidoc for man pages generation is not acceptible. Just ship them pregenerated. http://bugzilla.nasm.us/show_bug.cgi?id=3392262 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Diffstat (limited to 'ndisasm.1')
-rw-r--r--ndisasm.1120
1 files changed, 120 insertions, 0 deletions
diff --git a/ndisasm.1 b/ndisasm.1
new file mode 100644
index 00000000..345f66f9
--- /dev/null
+++ b/ndisasm.1
@@ -0,0 +1,120 @@
+'\" t
+.\" Title: ndisasm
+.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
+.\" Date: 04/20/2013
+.\" Manual: The Netwide Assembler Project
+.\" Source: NASM
+.\" Language: English
+.\"
+.TH "NDISASM" "1" "04/20/2013" "NASM" "The Netwide Assembler Project"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ndisasm \- the Netwide Disassembler, an 80x86 binary file disassembler
+.SH "SYNOPSIS"
+.sp
+\fBndisasm\fR [ \fB\-o\fR origin ] [ \fB\-s\fR sync\-point [\&...]] [ \fB\-a\fR | \fB\-i\fR ] [ \fB\-b\fR bits ] [ \fB\-u\fR ] [ \fB\-e\fR hdrlen ] [ \fB\-p\fR vendor ] [ \fB\-k\fR offset,length [\&...]] infile
+.SH "DESCRIPTION"
+.sp
+The \fBndisasm\fR command generates a disassembly listing of the binary file infile and directs it to stdout\&.
+.SH "OPTIONS"
+.PP
+\fB\-h\fR
+.RS 4
+Causes
+\fBndisasm\fR
+to exit immediately, after giving a summary of its invocation options\&.
+.RE
+.PP
+\fB\-r\fR|\fB\-v\fR
+.RS 4
+Causes
+\fBndisasm\fR
+to exit immediately, after displaying its version number\&.
+.RE
+.PP
+\fB\-o\fR \fIorigin\fR
+.RS 4
+Specifies the notional load address for the file\&. This option causes
+\fBndisasm\fR
+to get the addresses it lists down the left hand margin, and the target addresses of PC\-relative jumps and calls, right\&.
+.RE
+.PP
+\fB\-s\fR \fIsync\-point\fR
+.RS 4
+Manually specifies a synchronisation address, such that
+\fBndisasm\fR
+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\&.
+.RE
+.PP
+\fB\-e\fR \fIhdrlen\fR
+.RS 4
+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
+\fIdisassembled\fR
+instruction will be shown starting at the given load address\&.
+.RE
+.PP
+\fB\-k\fR \fIoffset,length\fR
+.RS 4
+Specifies that
+\fIlength\fR
+bytes, starting from disassembly offset
+\fIoffset\fR, should be skipped over without generating any output\&. The skipped bytes still count towards the calculation of the disassembly offset\&.
+.RE
+.PP
+\fB\-a\fR|\fB\-i\fR
+.RS 4
+Enables automatic (or intelligent) sync mode, in which
+\fBndisasm\fR
+will attempt to guess where synchronisation should be performed, by means of examining the target addresses of the relative jumps and calls it disassembles\&.
+.RE
+.PP
+\fB\-b\fR \fIbits\fR
+.RS 4
+Specifies 16\-, 32\- or 64\-bit mode\&. The default is 16\-bit mode\&.
+.RE
+.PP
+\fB\-u\fR
+.RS 4
+Specifies 32\-bit mode, more compactly than using \(oq\-b 32\(cq\&.
+.RE
+.PP
+\fB\-p\fR \fIvendor\fR
+.RS 4
+Prefers instructions as defined by
+\fIvendor\fR
+in case of a conflict\&. Known
+\fIvendor\fR
+names include
+\fBintel\fR,
+\fBamd\fR,
+\fBcyrix\fR, and
+\fBidt\fR\&. The default is
+\fBintel\fR\&.
+.RE
+.SH "RESTRICTIONS"
+.sp
+\fBndisasm\fR 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 \fBobjdump\fR(1)\&.
+.sp
+Auto\-sync mode won\(cqt 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 \fIbefore\fR \fBndisasm\fR 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\&.
+.SH "SEE ALSO"
+.sp
+\fBobjdump\fR(1)