File: ndisasm.man

package info (click to toggle)
nasm 3.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,660 kB
  • sloc: ansic: 129,101; asm: 40,471; perl: 8,238; sh: 4,146; makefile: 1,281; xml: 726; python: 582; lisp: 578; sed: 11
file content (91 lines) | stat: -rw-r--r-- 4,396 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
NDISASM(1)                                                          NDISASM(1)



NNAAMMEE
       ndisasm - the Netwide Disassembler - 80x86 binary file disassembler

SSYYNNOOPPSSIISS
       nnddiissaassmm [ --oo origin ] [ --ss sync‐point [...]]  [ --aa | --ii ] [ --bb bits ] [
       ‐‐uu ] [ --ee hdrlen ] [ --kk offset,length [...]]  infile
       nnddiissaassmm --hh
       nnddiissaassmm --rr

DDEESSCCRRIIPPTTIIOONN
       The nnddiissaassmm command generates a disassembly listing of the binary  file
       _i_n_f_i_l_e and directs it to stdout.

   OOPPTTIIOONNSS
       --hh     Causes  nnddiissaassmm  to  exit immediately, after giving a summary of
              its invocation options.

       --rr     Causes nnddiissaassmm to exit immediately, after displaying its version
              number.

       --oo _o_r_i_g_i_n
              Specifies  the  notional  load address for the file. This option
              causes nnddiissaassmm to get the addresses it lists down the left  hand
              margin, and the target addresses of PC‐relative jumps and calls,
              right.

       --ss _s_y_n_c_‐_p_o_i_n_t
              Manually specifies a synchronisation address, such that  nnddiissaassmm
              will  not output any machine instruction which encompasses bytes
              on both sides of the address. Hence the instruction which _s_t_a_r_t_s
              at that address will be correctly disassembled.

       --ee _h_d_r_l_e_n
              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 _d_i_s_a_s_s_e_m_‐
              _b_l_e_d instruction will  be  shown  starting  at  the  given  load
              address.

       --kk _o_f_f_s_e_t_,_l_e_n_g_t_h
              Specifies  that  _l_e_n_g_t_h  bytes, starting from disassembly offset
              _o_f_f_s_e_t, should be skipped over without  generating  any  output.
              The  skipped  bytes  still  count towards the calculation of the
              disassembly offset.

       --aa or --ii
              Enables automatic (or intelligent) sync mode, in  which  nnddiissaassmm
              will attempt to guess where synchronisation should be performed,
              by means of examining the target addresses of the relative jumps
              and calls it disassembles.

       --bb _b_i_t_s
              Specifies  either  16‐bit  or 32‐bit mode. The default is 16‐bit
              mode.

       --uu     Specifies 32‐bit mode, more compactly than using ‘‐b 32’.

       --pp _v_e_n_d_o_r
              Prefers instructions as defined by _v_e_n_d_o_r in case of a conflict.
              Known  _v_e_n_d_o_r  names  include  iinntteell,  aammdd, ccyyrriixx, and iiddtt.  The
              default is iinntteell.


RREESSTTRRIICCTTIIOONNSS
       nnddiissaassmm 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 oobbjjdduummpp(11).

       Auto‐sync  mode  won’t  necessarily cure all your synchronisation prob‐
       lems: a sync marker can only be placed automatically if a jump or  call
       instruction  is  found to refer to it _b_e_f_o_r_e nnddiissaassmm actually disassem‐
       bles 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.

       nnddiissaassmm  can  only  keep track of 8192 sync markers internally at once:
       this is to do with portability, since DOS machines don’t take kindly to
       more than 64K being allocated at a time.


SSEEEE AALLSSOO
       oobbjjdduummpp(11).



                         The Netwide Assembler Project              NDISASM(1)