DIS(1)DIS(1)NAMEdis - disassemble an object file
SYNOPSISdis [ options ] file
DESCRIPTIONdis disassembles object files into machine instructions. The options are
as follows:
-b beginaddress
disassemble starting at the given address. The address can be
in decimal, octal (with a leading 0), or hexadecimal (with a
leading 0x).
-d section
disassemble the named section as data, printing the offset from
the beginning of the section.
-C demangle C++ names.
-D section
disassemble the named section as data, printing the actual
address of the data.
-e endaddress
disassembly stops at the given address. The address can be in
decimal, octal (with a leading 0), or hexadecimal (with a
leading 0x).
-F function
disassemble the named function only in each object file
specified on the command line. This option may be specified
multiple times on the command line.
-f prefixes the line number on disassembly lines with the source
file basename.
-h substitute the general register names for the software register
names in the output.
-H remove the leading source line, leaving hex value and the
instructions.
-i remove the leading source line and hexadecimal value of
disassembly, leaving only the instructions.
-I directory
use the directory to help find the source code.
Page 1
DIS(1)DIS(1)-l string
disassemble the archive file specified by string. For example,
dis-l x would add usr/lib/libx.a to the files to be
disassembled.
-L look up source labels for subsequent printing. This option
works only if the file was compiled with debugging information.
-o print addresses and contents in octal. The default is
hexadecimal.
-p function
Exactly the same meaning as -F function
-pixie For pixie(1)d files, display original and pixified instructions
intermixed with source. This is the default with pixified
files, so this option is unnecessary and obsolete and will
eventually be removed.
-s Attempts to print j, jal target names. Not very relevant since
with PIC code j, jal are little used. This is the default
unless the -svr4 option is given.
-svr4 Print using svr4 output format. This means (if no other options
given) no externals are named (when loading data off of the $gp
register).
-S display source code intermixed with the assembly code. There is
no guarantee that the source code displayed is the source code
used to compile the function, since dis simply looks for a
source file starting with name/path given in the object and
continuing by looking in directories specified with -I (if any)
and accepts the first appropriately-named file it finds as the
source file. If -S is repeated on the command line dis will, in
addition, name the source file involved (with whatever path was
used to acess the file), as in the example "Skipping source
listing to line 10 of /b/t.c...".
-T trace flag is for debugging of the disassembler itself.
-t section
disassemble the named section as a text section.
-v attempts to print the names of inlined functions where the
function is inlined. The information about inlines is not
always present in the debug information, so this option will not
always produce the inlined function names.
-V print the version of dis being executed.
Page 2
DIS(1)DIS(1)-w attempts to print source information (names of user variables
involved) after (to the right of) assembly codes. This option
comes into effect only if -s is also specified, but does not
imply -s. (But recall from above that -s is on by default
unless -svr4 is specified, so -w is effective by itself unless
-svr4 was specified.)
-x prints offsets and constants in instructions as hex numbers.
The default is to print instruction offsets and constants as
decimal.
If the -d, -D or -t options are specified, only those named sections from
each user-supplied filename will be disassembled. Otherwise, all
sections containing text will be disassembled.
FILES
/usr/bin/dis
Page 3