dis(1)


dis -- object code disassembler

Synopsis

   dis [-osV] [-A addr] [-c cnt] [-f fmt] [-F symb]
   	[-n name] [-O output] [-w sz] file . . .
Obsolete options accepted for compatibility:
   dis [-L] [-dDt sect] [-l lib]

Description

The dis command produces an assembly language listing or dump of file, which may be an object file or an archive of object files. The listing includes assembly statements and an octal or hexadecimal representation of the binary that produced those statements.

The following options are interpreted by the disassembler and may be specified in any order.


-A addr
Start the dump or disassembly at addr, a decimal, octal or hexadecimal number.


-c cnt
Limit the disassembly to cnt instructions or the dump to cnt data bytes. cnt is a decimal, octal or hexadecimal number.


-d section[+offset]
(Obsolete) Dump the named section as data, printing the offset as relative to the section start. If the optional +offset is present, start instead at offset bytes into the section.


-D section[+offset]
(Obsolete) Dump the named section as data, printing the virtual address as the offset. If the optional +offset is present, start instead at offset bytes into the section. offset is a decimal, octal or hexadecimal number.


-f fmt
Specify format of instruction output, where fmt is one or more of the following characters:

-
specifies the default format (abl)

a
include the instruction address

b
include the instruction raw bytes

c
specifies the compact format (just instructions) - cannot be combined with other fmt characters

f
specifies full format (ablt)

l
include source line numbers if available

t
include source text and line numbers if available


-F symbol[+offset]
Disassemble either the function symbol or dump the object symbol. If the optional +offset is present, start instead at offset bytes into the symbol. offset is a decimal, octal or hexadecimal number. By default, if symbol is found in a writable section, it is assumed not to be a function.


-l name
(Obsolete) Disassemble or dump a file named libname.a found using the default ld(1) library search path.


-L
(Obsolete) No effect.


-n section[+offset]
Disassemble or dump the named section, using the virtual address as the offset. If the optional +offset is present, start instead at offset bytes into the section. offset is a decimal, octal or hexadecimal number. By default, if section is writable its contents will be dumped as data.


-o
Print offsets in octal instead of hexadecimal.


-O output
Specify the decode model, where output is one of the following:

data
forces a data dump

text
forces a disassembly, guessing the correct instruction decoding

x86

ia32

ia32-32
forces a disassembly taking the content as Intel IA-32 instructions with 32-bit data and address sizes

286

ia32-16
forces a disassembly taking the content as Intel IA-32 instructions with 16-bit data and address sizes


-s
Append symbolic disassembly information when possible and appropriate.


-t section[+offset]
(Obsolete) Disassemble the named section as data, using the virtual address as the offset. If the optional +offset is present, start instead at offset bytes into the section. offset is a decimal, octal or hexadecimal number.


-V
Print, on standard error, the disassembler's version information.


-w sz
Specify the dump word size to be sz, a decimal, octal or hexadecimal number which must be equal to 1, 2, 4 or 8.

If given no options, dis will disassemble all nonwritable sections for each file. The -d, -D, -n or -t options restrict dis to operate only on the named section. Similarly, the -F option restricts dis to operate only on the named symbol, only one of which will be present in any object file.

On output, a number enclosed in square brackets at the beginning of a line, such as ``[5]'', indicates that the break-pointable line number starts with the following instruction. These line numbers will be printed only if the file was compiled with additional debugging information (for example, the -g option of cc). An expression such as ``<40>'' in the operand field or in the symbolic disassembly, following a relative displacement for control transfer instructions, is the computed address within the section to which control will be transferred. A function name will appear in the first column, followed by ``()'' if the object file contains a symbol table. When debugging information is present, the function name will be prefixed by file@, indicating the originating source file.

Errors

The self-explanatory diagnostics indicate errors in the command line or problems encountered with the specified files.

Files


Libdir
usually /usr/ccs/lib followed by /usr/lib.

References

a.out(4), as(1), cc(1), ld(1)

Notices

At this time, symbolic disassembly does not take advantage of additional information available if the file is compiled with the -g option.

This command has been updated to handle Intel Pentium III Streaming SIMD instructions; see ``Pentium III extended floating point support'' in New features for more information.


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004