DIS88.9
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:4k
源码类别:

操作系统开发

开发平台:

WINDOWS

  1. Command:   dis88 - disassembler [IBM]
  2. Syntax:    dis88 [-o] infile [outfile]
  3. Flags:     -o  List the object code along with the assembly code
  4. Examples:  dis88 a.out >listing     # Disassemble a.out
  5.            dis88 -o a.out listing   # Ditto, but with object code
  6.      Dis88 disassembles 8088 object code to the assembly language format
  7. used  by MINIX.  It makes full use of symbol table information, supports
  8. separate instruction and data space, and generates synthetic labels when
  9. needed.  It  does  not  support  8087  mnemonics,  symbolic data segment
  10. references, or the ESC mnemonic.
  11.      The program is invoked by:
  12.         dis88 [-o] infile [outfile]
  13. The -o flag causes object code to be listed. If  no  outfile  is  given,
  14. stdout is used.
  15.      The text segment of an object file is  always  padded  to  an  even
  16. address.  In addition, if the file has split I/D space, the text segment
  17. will be padded to a paragraph boundary (i.e., an  address  divisible  by
  18. 16).  Due  to  padding, the disassembler may produce a few spurious, but
  19. harmless, instructions at the end of the text segment.
  20.      Because the information to which  initialized  data  refers  cannot
  21. generally  be  inferred  from  context,  the  data  segment  is  treated
  22. literally. Byte values (in hexadecimal) are output, and  long  stretches
  23. of   null   data  are  represented  by  appropriate  .zerow  pseudo-ops.
  24. Disassembly  of  the  bss  segment,  on  the  other   hand,   is   quite
  25. straightforward,  because  uninitialized data is all zero by definition.
  26. No data is output in the bss segment, but symbolic labels are output  as
  27. appropriate.
  28.      The output of operands in symbolic form is complicated somewhat  by
  29. the  existence  of  assembler  symbolic  constants  and segment override
  30. opcodes. Thus, the program's symbol lookup routine attempts to  apply  a
  31. certain  amount of intelligence when it is asked to find a symbol. If it
  32. cannot match on a symbol of the preferred type, it may output  a  symbol
  33. of  some  other  type, depending on preassigned (and somewhat arbitrary)
  34. rankings within each type. Finally, if all else fails, it will output  a
  35. string  containing  the  address  sought  as  a  hex  constant. For user
  36. convenience, the targets of branches are also output,  in  comments,  as
  37. hexadecimal constants.
  38. Error Messages
  39.      Various error messages may be generated as  a  result  of  problems
  40. encountered during the disassembly.  They are listed below
  41.                                                                         
  42.                                                                         
  43.    Cannot access input file         - Input file  cannot  be  opened  or
  44.                                       read
  45.    Cannot open output file          - Output file cannot be created
  46.    Input file not in object format  - Bad magic number
  47.    Not an 8086/8088 object file     - CPU  ID  of  the  file  header  is
  48.                                       incorrect
  49.    Reloc table overflow             - Relocation  table   exceeds   1500
  50.                                       entries
  51.    Symbol table overflow            - Symbol table exceeds 1500 entries
  52.    Lseek error                      - Input file corrupted (should never
  53.                                       happen)
  54.    Warning: no symbols              - Symbol table is missing (use ast)
  55.    Cannot reopen input file         - Input  file  was  removed   during
  56.                                       execution
  57. Author
  58.      Dis88  was written and copyrighted by G. M. Harding and is included
  59. here  by  permission.  It  may  be  freely  redistributed  provided that
  60. complete source  code,  with  all  copyright  notices,  accompanies  any
  61. redistribution. This provision also applies to any modifications you may
  62. make. You are urged to comment such changes, giving, as a minimum,  your
  63. name and complete address.
  64.