home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / tt / tt_dis / dis.doc next >
Text File  |  1991-11-17  |  11KB  |  217 lines

  1.   
  2.        Instructions for Atari TT DIS, a 68030/68882 disassembler
  3.   
  4.                       Version 1.01 - 17th Nov 1991
  5.   
  6.   Introduction
  7.   
  8.      DIS is a 68000  disassembler for the Atari TT series computers.   It
  9.   is not in the public domain but can be freely distributed provided that
  10.   this does not involve any direct or indirect profit or an inducement to
  11.   purchase other items (e.g products,  magazines  or  services).  DIS has
  12.   been  derived from an  earlier version on  the Atari ST and this  means
  13.   that the 68000 core has been fairly well tested. However the extensions
  14.   for the 68030 and the 68882 have only  been tested in a limited way and
  15.   there will certainly be bugs in this area.  Please let me know any that
  16.   you come accross.
  17.   
  18.   Operation of DIS
  19.   
  20.      On entry DIS  displays a > prompt and waits for a command line which
  21.   consists of  a letter which may be followed by further parameters which
  22.   are separated from  each other by either commas or blank spaces.  A '?'
  23.   in response to the prompt gives a summary of commands. In the following
  24.   command descriptions 'x1', 'x2' etc. represent numeric parameters which
  25.   are normally in hexadecimal notation.  If a program with a symbol table
  26.   is loaded then x1, x2 etc. can be symbols.
  27.                                                                          
  28.   Command              Function
  29.   
  30.   I  x1 x2             Disassemble Instructions from x1 to x2
  31.   
  32.   B  x1 x2             Disassemble data Bytes  (8 bits) from x1 to x2
  33.   
  34.   W  x1 x2             Disassemble data Words (16 bits) from x1 to x2
  35.   
  36.   L  x1 x2             Disassemble Long words (32 bits) from x1 to x2
  37.   
  38.   C  x1 x2             Disassemble in Character format from x1 to x2
  39.   
  40.   A  x1 x2             Disassemble a table of Addresses from x1 to x2
  41.   
  42.   M  x1 x2 template    Disassemble according to a template. The template
  43.                        is a a sequence of the characters ICBWLANV which
  44.                        represent Instructions, Characters, Bytes, Words,
  45.                        Longs, Addresses, Newlines, & Labels respectively.
  46.                        Each character in the template produces an output
  47.                        of the appropriate type, with the template being
  48.                        repeatedly scanned if more output is required.
  49.                        For example NVCCA would give Labelled blocks with
  50.                        two bytes and an address in each. If the template
  51.                        contains a '/' character this marks the re-scan
  52.                        position rather than the beginning. An optional
  53.                        decimal count can precede any output character
  54.                        (ICBWLA) and then applies to this output.
  55.   
  56.   Ec x1 x2             Output Equates for addresses using range x1 to x2
  57.                        Note that labels external to the range are output
  58.                        as the default but if the character 'c' is present
  59.                        and is 'I', 'E' or 'A' then Internal, External or
  60.                        All labels in the range are output respectively
  61.   
  62.   J  x1 x2             Compile labels from x1 to x2 into the symbol table
  63.   
  64.   Fc x1 x2 xx..        Find positions of the hexadecimal digit sequence
  65.                        xx... between x1 and x2. If 'c' is present and is
  66.                        'E' then only even address matches are output
  67.   
  68.   Fc x1 x2 "cc.."      Find positions of the string "cc..." between x1
  69.                        and x2 . If 'c' is present and is 'E' then only
  70.                        match positions at even addresses are given
  71.   
  72.   K  x1 x2 x3 [x4]     Find positions where address x3 is referenced. If
  73.                        x4 is present then find positions where addresses
  74.                        in the range x3= < address < x4 are referenced
  75.   
  76.   U  x1 x2             Set range limits for disassembly
  77.   
  78.   Uc                   Reset to initial range limits. If 'c' is present
  79.                        and is 'C', 'D', 'B' or 'P' the  the limits  of
  80.                        the Code, the Data, the Bss or the (Code + Data)
  81.                        are set. If 'c' is not present the total program
  82.                        length limits are set
  83.   
  84.   Vc x1                Enter (Make) a symbol at address x1. If 'c' is
  85.                        present and is the character 'E' (or 'e') then
  86.                        the symbol is absolute, otherwise it is program
  87.                        relative (Note that V alone outputs a DIS version
  88.                        number and author information).
  89.   
  90.   X  x1                Set the eXecution address for a program when this
  91.                        is different to the load address (this should not
  92.                        be used on programs loaded with the 'P' command)
  93.   
  94.   Y  x1                SYmbol form control. x1 can be a sum of the values
  95.                        1, 2 and 4 to produce the desired effect:
  96.   
  97.                           x1 = 1: output long labels          (0 = short)
  98.                           x1 = 2: output absolute labels   (0 = relative)
  99.                           x1 = 4: input absolute addresses (0 = relative)
  100.                 x1 = 8: use old 68000 instruction syntax
  101.  
  102.   N  x1                Disassembly control. x1 can be a sum of the values
  103.                        1, 2, 4 and 8 to produce the desired effect:
  104.   
  105.                           x1 = 1:   enter labels into the symbol table
  106.                           x1 = 2:    display internal labels in output
  107.                           x1 = 4:    display external labels in output
  108.                           x1 = 8:  use any symbols loaded with program
  109.   
  110.                        Internal and External labels reference addresses
  111.                        inside and outside the program area respectively.
  112.                        Program  symbols will only be available if the
  113.                        program contains a symbol table.
  114.   
  115.   H+  H-               Turn Hexadecimal code output on (+) or off (-)
  116.                        during the disassembly of instructions
  117.   
  118.   D+  D-               Turn character code output on (+) or off (-)
  119.                        during the disassembly of instructions
  120.   
  121.   P prog_name          Load a Program for disassembly
  122.   
  123.   P-                   Unload a Program (or image file)
  124.   
  125.   R file_name x1       Load (Read) a binary image file for disassembly
  126.                        with x1 as the execution address (default = 0)
  127.   
  128.   R-                   Unload a binary image file (or program)
  129.   
  130.   S file_name          Output (Save) disassembly from here onwards to a 
  131.                        specified file
  132.   
  133.   S-                   Turn off saving and close output file
  134.   
  135.   O                    Output file name and range information
  136.   
  137.   Q                    Quit disassembler (safer than ^C !)
  138.   
  139.   T                    Compile auto_disassembly control table (see later)
  140.   
  141.   T-                   Clear auto Table
  142.   
  143.   TD                   Display the contents of the auto control table
  144.   
  145.   TL file_name         Load the auto table contents from specified file 
  146.   
  147.   TS file_name         Save the auto table contents to the specified file 
  148.   
  149.   G                    Run (Go) auto disassembly (see later)
  150.   
  151.   Z                    Delete (Zap) all symbol table entries
  152.   
  153.      When a program or image  file is loaded the relative label forms are
  154.   relative to the start of the file.  Otherwise relative labels take zero
  155.   as a base and are therefore effectively absolute.   Input  values  will
  156.   either be absolute or relative depending on  the  value  set  by  the Y
  157.   command.   In  relative  input  mode an absolute number can be input by
  158.   preceeding it with a '$' sign. If the second number of an input pair is
  159.   preceeded by  a  '+'  sign the value input is added to the value of the
  160.   first parameter to form the  second  parameter.  If  a  '*'  is entered
  161.   instead  of  an  input value then the current  value  of  the  relevant
  162.   parameter is used.   DIS generates address labels by adding a letter in
  163.   front of the lowest six hexadecimal  digits of the address,  the letter
  164.   being determined by the type of access.  Thus a subroutine at $00xxxxxx
  165.   will have a label sxxxx (short) or sxxxxxx (long). Address labels in TT
  166.   RAM are distinguished by  adjusting the top hexadecimal digit by adding
  167.   'k' to it. Thus a subroutine at $012xxxxx has a label smxxx or smxxxxx.
  168.   
  169.      Pressing  the  SPACE  bar  during disassembly will pause the output;
  170.   pressing space again will resume output while any other key will return
  171.   to  command  mode.   Pressing  ESC  during   disassembly   will  return
  172.   immediately  to command mode.  During disassembly the x1  parameter  is
  173.   continuously updated  so  that  a  stopped disassembly can be restarted
  174.   by using a * in the first parameter position.   In number pair commands
  175.   if no second  value  is given then a convenient number of lines will be
  176.   disassembled to the  screen.  A  RETURN  entered  at  the > prompt will
  177.   repeat the previous command.
  178.   
  179.   Automatic Disassembly
  180.   
  181.       The T command allows a table to be  input  in the following form to
  182.   control disassembly:
  183.   
  184.                        c1 x1
  185.                        c2 x2
  186.                        m3 x3 template
  187.                        ...
  188.                        cN xN
  189.   
  190.   where  each Cn is one of the characters (I,C,B,W,L,A,V,M,X) and xN is a
  191.   hexadecimal number as normal.  After a table has been input a G command
  192.   starts disassembly.  Each entry in the table  is processed in turn with
  193.   the  letter  determining  the  type  of  disassembly  and  the  address
  194.   indicating where to start.  The address for  the  next entry determines
  195.   where disassembly finishes and restarts in a new form (an X is used for
  196.   the last entry in the table). An M instruction for template disassembly
  197.   is followed by  a  mask as for the normal M command.  When entering the
  198.   table an entry can be corrected by simply entering a new entry with the
  199.   same address value (or a Z with the same address if the  entry is to be
  200.   removed).  To end table input simply type a  RETURN  in response to the
  201.   prompt.  The table will then be output for you to  confirm  that  it is
  202.   correct. After a table has been input disassembly is initiated with the
  203.   G command (its  output can be saved if required by issuing an S command
  204.   before and after the G command). The symbol table is not cleared before
  205.   an automatic disassembly so you may wish to  do this before issuing a G
  206.   command.
  207.   
  208.   Bug Reports to:
  209.   
  210.                        Brian Gladman
  211.                         8 College Grove
  212.                          Great Malvern
  213.                           Worcs WR14 3HP
  214.                            United Kingdom
  215.   
  216.                        Internet: gladman@ccint1.rsre.mod.uk
  217.