minix man page for dis88

Query: dis88

OS: minix

Section: 9

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

Dis88 disassembles 8088 object code to the assembly language for-
mat used by It makes full use of symbol table  information,  sup-
ports separate instruction and data space, and generates synthet-
ic labels when needed.	It does not support 8087 mnemonics,  sym-
bolic  data segment references, or the ESC mnemonic.  The program
is invoked by: The -o flag causes object code to be  listed.   If
no  outfile is given, stdout is used.  The text segment of an ob-
ject file is always padded to an even address.	In  addition,  if
the  file has split I/D space, the text segment will be padded to
a paragraph boundary (i.e., an address divisible by 16).  Due  to
padding,  the  disassembler may produce a few spurious, but harm-
less, instructions at the end of the text segment.   Because  the
information  to which initialized data refers cannot generally be
inferred from context, the data  segment  is  treated  literally.
Byte  values  (in  hexadecimal) are output, and long stretches of
null data are represented by appropriate .zerow pseudo-ops.  Dis-
assembly  of  the  bss	segment,  on  the  other  hand,  is quite
straightforward, because uninitialized data is all zero by  defi-
nition.   No  data is output in the bss segment, but symbolic la-
bels are output as appropriate.  The output of operands  in  sym-
bolic  form is complicated somewhat by the existence of assembler
symbolic constants and segment override opcodes. Thus,	the  pro-
gram's	symbol	lookup routine attempts to apply a certain amount
of intelligence when it is asked to find a symbol. If  it  cannot
match  on  a symbol of the preferred type, it may output a symbol
of some other type, depending on preassigned (and somewhat  arbi-
trary)	rankings within each type. Finally, if all else fails, it
will output a string containing the address sought as a hex  con-
stant.	For  user  convenience,  the targets of branches are also
output, in comments, as  hexadecimal  constants.   Various  error
messages  may  be  generated  as a result of problems encountered
during the disassembly.  They are listed below
   Cannot access input file   - Input file cannot  be  opened  or
				read
   Cannot open output file    - Output file cannot be created
   Input file not in object format-Bad magic number
   Not an 8086/8088 object file -CPU ID of the file header is in-
				correct
   Reloc table overflow       - Relocation table exceeds 1500 en-
				tries
   Symbol table overflow      - Symbol table exceeds 1500 entries
   Lseek error		      - Input file corrupted (should nev-
				er happen)
   Warning: no symbols	      - Symbol table is missing (use ast)
   Cannot reopen input file   - Input file was removed during ex-
				ecution
Dis88	was  written  and copyrighted by G. M. Harding and is in-
cluded here by permission. It may be freely redistributed provid-
ed  that complete source code, with all copyright notices, accom-
panies any redistribution. This provision  also  applies  to  any
modifications  you  may  make.	You  are  urged  to  comment such
changes, giving, as a minimum, your name and complete address.
Related Man Pages
z80dasm(1) - debian
mach-o(5) - osx
mach-o(5) - opendarwin
ld86(1) - suse
st_is_obj_stripped(3) - osf1
Similar Topics in the Unix Linux Community
File conversion
To find number of char occur
mprotect fails with ENOMEM in text segment
Pivoting the data
UNIX command to pivot data