Home
        DYNAMITE Disassembler User`s Manual
         Contents
1.       the sou    You will be prompted for a title   every page   Any excess over 32 character    The    bytes in hex and the  replaced by a period    ries  This directs  sting data area types    The prompting format is detailed in       tput file will not be    more than four bytes  disassembled code may  code bytes  e line with the first    t device     The line number is  rce line     a       which will be  title can be up to 32  s will be ignored           tpu       is formatted for 66                S Prompt for the segment to disassemb  disassemble only a portion of the code     DYNAMITE Disassembler User     s Manual    line pages  with a heading line  several blank lines  54 code  lines  and a form feed at the bottom of each page     le  It is possible to    and ignore the rest of the    program  This option would be helpful if a large program is to be                   disassembled  and the resultant text file would be too large fora  single disk if the entire source was output  You will be prompted  for a beginning and ending address  and the disassembly will take  place only between these two addresses inclusive                       Z Disassemble the program for the 6800   default           not the 6809  which is the       label file  DISLBLO9 BIN or                0 3 Set the disk drive to read the default  DISLBLOO BIN  from  Normally  the defau                      lt label file will be read       from the same disk as DYNAMITE was read from  This is done by  re
2.   DYNAMITE   program to  errors are detected in the  the thr passes begin           befor       while the command file is being  then another line is    nnn is the line number within the command file on which the error  This line is the second line in a disk error     the first in a    All files are  FLEX via the warm start vector   the same  illegal input during the user input  error message is not usually a    EO       for re input of the unaccepted data        Syntax error in command line    Some unrecognizable  command line calling                character     TE are     found in the FLEX       DYNAMITE           sequenc was          Start  gt  End  Reenter both addresses  When entering a pair of addresses  either data area boundaries or  the segment to disassemble  the starting address was greater than  the ending address  The input is ignored  and you will be  re prompted for both addresses    Illegal entry  re enter    An illegal hex number was typed     Retype the input              DYNAMITE Disassembler User s Manual    Command syntax error  A line was found in the command file which could not be recognized  as a legal command line           Illegal segment address specification  The starting ending address pair ina data area address command  line was illegal in some way        Multiple  S  or  T  commands in command file  The command file had either two  S  commands  two  T  commands  or  at least one of each  Only one  S  command or one  T  command is  allowed in t
3.   S BUG  IM    three label       s themselves     t a different sel    ault label file  ou can  set up   of defaul    ther source label             be as    the label file can th    TE has been sent to you also contain    S were    study these files to be  If desired  you can  lt standard label names can             MFLEXLBL TXT is th          ts for MINIFLE  n the 6800   for SWTBUG TM    SBUGLBL TXT is  the s  files  1                      First  the tex  files that you  onto          E  create   existing label    Can be use  Second  the  e segments t    iles    fil       if this is don    th          A    of a blank na    appended last     me     since          M       N             and the  al     S       label file segment cannot have th  tandard  L are shipped with    X  TM   a predece  the system mon  the label sour   ystem monitor in   f needed  can be u   d as starting poin   binary label files   o create a new lab                   FLEX is a trademark of Technical Systems Consultants     files   e label       sembled to  en be    the  ted   ter  modify    S  crea                along with  source file       ssor of    SWTBGLBL TXT is the label source fil    itor in  ce file  SWTPC 68    sed in three  ts for custom    can b  el file   e termin    label file you are using mus  the terminating entry       TAE    the FLEX  le of  SWTPC 6809   of label  09 computer  ways   label  appended  Note that  ating entry  t be  supplied                e       SWIBUG and S BUG are 
4.   it  specified        can  then       Wha          disassemble     in    be       split  DYNAM        up   TE will    D       ISASSEMBLE       using the S       DYNAMITE then prompts for  exactly    t are the bounds of the segment       for while inputting the data       Dx THE COMMAND FILE  While you can  by invoking the B option     area bounds every  small program       for  The entry of the             S                 the first and last  the same way as    this  time you disassemble the program     prompt with       area bounds     tered was not P   t data area can be specified     option     address of the  the address pairs are prompted       to disassemb     Disassembler User s Manual    the text of a disassembly would be too large to save ona  If the S option is       le                    th the hex address of the end of the data    Proceed  then the prompt    single    segment to    always specify the addresses of a program s data areas  requires that you enter all of  This  but can be a substantial job for any large programs   specifications may take several minutes each time        the data    is acceptable    and a       single error would require starting over from scratch  To make your job  easier  DYNAMITE has the ability to read the data area specifications  from a text file  as well as from the terminal at run time  This is the  main function of the command file  You also use the command file to  specify the name of a label file which is to be used in add
5.   not specify a data area type     o erase all data area specifications    so  Each double byte in the data  preceded  and word segments     This is useful for jump tables or    that it    with    but inste  input so          on the bounds input from scratch   area bounds processing  it  in the prompting sequence     a  ep       SO    Due  is not possible    a maximum of fo    be generated on FCB lines       it will be  e printed  maximum of          it will be  area  be defined  tables    will be    dollar  ur    a       ad directs  far  and             to the  to       the only recourse    structure  back up a  if an             to reset everything             rea bounds   ts DYNAM  on  In other words        and continue with the disassembly     aracter will       be ignored        nd W type characters requir          These ar    th    will first prompt with    to which you shoul  Next     area     Start       DYNAMIT       ing address     to the start and    first and last address in the data    Te       area  D       E prompts       enter all    ITE to proceed from the prompting sequence to the  stop prompting for    data area    and the prompt reissued     a pair of addresses to be    YNAMITE       ld respond with the hex address of the start of the data       DYNAMI       TE    Ending address     to which you  area     If the       type    should respond wit    character ent  will be reissued so that the nex             4 3 PROMPTING FOR THE SEGMENT TO          RE  disk
6.   will be used to enclose essential elements  of a statement  Square brackets      will be used to enclose optional    DYNAMITE              elements        3  THE FLEX COMMAND LINE          The full syntax for calling DYNAMITE from FLEX is as follows                       DYNAMITE  lt input file gt    lt output file gt     lt options gt     lt command       All of the files default to the working drive     file gt      Th   has a  may be       D                D       If  then th  extensi  extensi  the exi          If N is  typed   else is        lt o  The lis  and con    A          DYNAMI          TE    e  lt inpu  default  used by specifying it in       t As no  fil    extension of  CMD   th       rmal           YNAMITE PROG             YNAMITE 0 PROG BIN   th  e o  on  on     stin    e  tput file will  SEXTY The  lt output file gt    If the output file already  g file should be deleted                       X             DYNAMITE PROG PROGSRC TXT  output file exists   Delete                WE             DYNAMITE will  be deleted  uestion wil        then  will  the q       typed   the file    typed                    P  t mus    tain          start with a plus sign                     Print the ASC  characters will be             stop and  and a new text file created   be re asked     nam    ists      Y N             return    file gt  is the file from which the object code in read     anothe  Some    Disassembler User s Manual    It  r extension or drive  examples       
7.  Default to PROG CMD on working disk       Override defaults on filename     lt output file gt  is not specified  but disk output is enabled   default to the name of the input  if specified  defaults toa       with the    TXT    file        then D       E    tions gt  specify a list of disassembly options on  not have any embedded spaces   the following option switches in any order     equivalent of the code on the source  neh    cod    YNAMITE will ask if       re Y     is  If anything    FLEX        O          the command line     line  These          printed betw  ASC                   label field  llegal    characters will       be       in this field        the data  Interactiv    Prompt the user for  DYNAMITE to enter an             area  mod    bounda          and addresses from the user   the next section           Do not create a text file on the d          are in an FCC  FCB   normally require mor  in hex  If this option is enab  four code bytes is printed     or FDB                       Do not send a disassembly listing    isk     created even if a name is specified     requ    A    The ou       Do not generate extra lines of code bytes when  Some data area  than one line to list all of the    led     to the outpu    only on          Generate line numbers in the outpu    t lis    ting           decimal number printed at the star  Enable pagination   printed a the  characters long   If pagination          top of       is          E Of    enabled  the listing ou    
8.  a difficult job  which can be simplified by a  powerful disassembler  A simple disassembler may do nothing more than  translate object code into absolute source code  without supplying labels  to allow easy moving of the program to another part of memory  While  adequate for small jobs  this type of disassembler will not suffice for  larger jobs  where th xistence of labels can be a decided advantage  if  not a necessity  Another needed ability of a good disassembler is the  ability to specify portions of a program as data instead of code which is  meant to be executed by the computer  Such data areas occur as strings  of ASC characters for output or tables of byte or word data for                                           reference by the program  If a disassembler attempts to disassemble  these data areas  incorrect code can be produced  or labels can be  generated where they need not be  Finally  a useful addition to a       disassembler might be the ability to specify that any reference to  certain locations should be labeled not by an internally generated label   but by some standard symbol name  Often  a program will reference some  location in the operating system which is normally known by a certain  standard name  If the disassembler uses this standard name instead of a  less meaningful label  a program becomes much easier to understand on  first reading                          Obviously  a disassembler cannot perform all of these functions  unaided  For example  a
9.  command in the user data area specification  The  parameters take the same format as for the A command line                       S  lt label file gt   This command line specifies the name of a label file to be used in  place of the default label files  DISLBLO9 BIN or DISLBLOO BIN                                                                                         The default label file is always used if this command is not  issued  The file name should have the standard FLEX file name  format  The file will default to the working drive  with a default  extension of  BIN  A special form of the S command is simply  S    with no file specified  If such a command is found  then no label  files will be used  and all labels in the disassembly will be    assigned program generated names     T  lt label file gt   This command line specifies the name of a label file to be used in  addition to the default label file  The file name must be in the  standard FLEX format  and defaults to the working drive with an  extension of BIN                                               DYNAMITE Disassembler User s Manual   The    A  B  L  and W command lines may occur as many times as is  necessary within the command file  and do not have to be in any  particular order  Only one label file can be used in place of or in  addition to the default label file  so only a single S or T command may  be used  The command file can only have one S command  one T command  or  neither  You cannot specify b
10.  disassembler cannot know where all the data  areas in a program are located  but it can make it easier to find them   Disassembling a program becomes a cooperative effort between you  the  user  and the disassembler  A well designed disassenbler can make this  interaction relatively easy  maybe even fun              DYNAMITE Disassembler User s Manual                   DYNAMITE is such a disassembler  It has many abilities not usually  found in a disassembler  and can make your disassembly jobs much more  agreeable  All of the above mentioned functions are available  as well  as many others  A partial list of DYNAMITE s abilities are              Runs under FLEX 9 0 TM  for the 6809         Can disassemble both 6800 and 6809 object files            Produces source code which  when reassembled  is identical to the  original binary file         Automatically produces labels for any memory references within a  program  External labels are defined by EQU statements grouped together  at the start of the text file               Any label can be given a standard name  which is printed instead of the             program     generated label name  In the default configuration  references  to standard FLEX locations will be given their standard names  i e  a  jump to the warmstart entry of FLEX will be disassembled as   JMP WARMS    You can define standard names for additional labels  or use different  labels in place of the default assignments in a particular program                  
11.  file     stu    struction over    ssed  The program to  language  and    9 with FLEX 9           80    The process   step procedure   within a program        be disass    will be converted     of disassembling a program  First   To    you need  do this  d             output and generating  dying this listing   e idea of  stance        om  in       the ASC e          embled       wi  to det    character   a direct load into ACCA from address    6809  and is  TSC s Assembler   PCR relative addressing  the less than sign        11 16 bit references for       DYNAMITE s  will  sing    th  rmin    addressing  character   extended store of IX to       a  abilities will be  be written in 6800  DYNAMITE  to run under                DYNAMITE is usually a  where the data areas             isassemble  quivalen          all of the    the location of other  most programs running under FLEX w          rea  Once an idea    the version number an  can be defined as some combi  is formed of where       disassembled       ly be found now     more  this time    again   tput is again suppressed  but this t  areas discovered in the first disassem  r to the final version   Finally   final version of the data area boundaries   using the command file and creating a disk text    this tim       you             ASC Ss             the program   t of code in  trings can be easily found   types of data areas Can be formed        suppressing  the listing     ill start with a branch       d other data  tion
12.  foun  and extra lin       HOT   should be included in the ASC    branch past a data area   SA102 to  A105 should be either byte or    DYNAMI       TE                                        so the BRA LA1  word data     Disassembler User s Manual                                        equivalent area of the listing  It is   an ASC string  The  04 at   used by FLEX to terminate ASC strings  and  area  Next  most FLEX programs    06 at  A100 implies    Since the inst    obvious  SA120  as such  begin  that  ruction       sa       16 bit register     Xy a    t LA104     an ASC  there should be no ext    1    ume that SA102    as    at  A102       a word type data area   the program version number          is normally          to       th    the data areas have probably been    b       SA103 should be       nerated        ng             strin          you can proceed wi  ndaries  bly will be required  the   command sent    to    g     so that when    Also  the by       a byte type da    found     nter th          th the secon  DYNAMITE  Si                   to FLEX is n       AM       TE TESTF       B       LE BIN  BNGZ       wi  d e    es for the ASC    ll have  arlier     will again be treated as  of the listing is       turned       After       to  A103  the star  RETURN    DYNAMITE  prompt     lt 7                will  answer       DYNAMI       TE    specify a word type dal  to the first question   specify an ASC  of the dat  you made a mistake which  to the dal  data area sp
13.  indirec       This decla  disassembl  area will  sign  Fo  words will             This does  DYNAMITE t  start over  of the dat  single st                error is made is    the data a    This direc  next acti  addresses       type ch    a       DYNAMI Disassembler User s Manual          TE    ecked        be          ares a data to  ed as FCCs     ir standard    area  ASC  names        ASCII                          e ASC          control characters will  with EQU statements collec    so that    The meaning of the commands in the type prompt    it will be       b    characters    generated  ted at the  will be             he program  Other unprintabl  s two  09  all of these elements wi    arated by commas  since this                      digit hex bytes  preceded by a dollar  11 be generated together  syntax is allowed by the TSC  For the 6800  though  this format is    sign  Sis  in    illegal                 table ASC characters wi    FCC data area                 ares a data area to  ed as FCBs  Each byte in  hex digits preceded wi    s will be generated in each FCB        ares a data area  ed as FDBs of labels   printed as a label        and that    be byte data   the data area will  th a dollar sign     to be label data   Each double byte in the data  label    so that  b  A  so that    will       in the output   t addresses     res a data area to be word data   ed as FDBs of constants   be printed as four hex digits  r both the label  be generated in each FDB         
14.  of byte and word length data  the data areas occur   D and B options     na       e with the  ime  bly     can create    variable areas  Such          the program  so disk       prompting you  This disassembly will be much  and any data areas missed the first time can    and disassemble       for the data    a command file with the  the program          If you are          DYNAMITE Disassembler User s Manual       converting a program from 6800 to 6809  the next step          would be to edit the text file  Since all external labels are grouped                the program using          together  it is a simple matter to update all FLEX 2 0 references at the  start of the program to FLEX 9 0 addresses  usually just by changing  every SA to  C   B to  D  Also  find all of the ORG statements within  the text  and update theg as needed  Once this is done  simply assemble                      the 6809 assembler  Your conversion is complete     The example disassembly will follow this method  All of the files  referred to below exist on the disk on which DYNAMITE was shipped  so    follow along              The first step  as outlined above  is to disassemble the program  with ASC generated  to find the data areas  The command to do this is   assuming that DYNAMITE and the standard label files are on the system                                     drive  TESTFILE B       N on the working drive               DYNAM    TE TESTFILE BIN  DANZ             This will disassemble the progra
15.  the location value  The name FCC must assemble as six data bytes  If  the name is less than six bytes long  it should left justified in the FCC  with spaces padding the unused name bytes  The FDB should specify a  single word address  The last entry in the file should be a  name  of  six spaces  that is  an empty name  followed by an FDB specifying a zero  address  As an example  consider a small label file  assigning the name   VN  to address C102  the name  STARTL  to address C100  and the name   MEMHT  to address FFFF  The assembler source file would be set up as  follows    FCC  VN     FDB SC102   FCC  STARTL    FDB  C100   FCC  MEMHI     FDB SFFFE   FCC       FDB  0000  Remember when creating the label source file that all name FCCs must be  six characters long  and that the list of equivalences must be terminated       with a name of six spaces        Once the la    bel       source file is       T       create the bin  used within    The disk  source files f  DISLBLO9 TXT and  understand how          comman    ary    on  ron       label file     created  it must    he name of       d files for any disassemblies     which DYNAMI  which the       def       DI    label    S    LBLOO TXT   files shoul    Y  d be          these files  so  be used  You wi          th    11    a  a    lso find three o             the binary label    f1           of label  operating syste  label assignmen  computer system  assignments for  systems  These          m  ts  S     assignmen    O  
16.  will ask for       cter  s        A102   then          since hex is    E    Typ  ond  and  A105     been entered    immediate           as       address of the data    for data area type   ta area from  A104 to  A105    A104     e  to    type data area from  A115 to  A120   ta areas should hav                Ove     P  to indica    the rest of the disassembly process     processing before beginning          At    the sta  Afte       rt of pass one   r pass three is    Kia  te       L       a RETURN     NE FEED     W     If at  y flag as    sumed  Next   area  this       To    You should n  in respon  the third  In  After  any point  an error   rwise  th  DYNAMITE    OW  se             oth  that                its  is sent  and       complete  th       e O       utput listing    t page     D      o    Oo                   vw 0 004 UY NROD0OCO  JOoO0Dd Na          DYNAMITE Disassembler User s Manual                           DISASSEMBLY BY DYNAMITE OF 1 TESTFILE BIN                                 STANDARD PRE NAMED LABEL EQUATES          D03 WARMS EQU SADO3  DIE PSTRNG EQU SADIE        gt  D               ASC CODE EQUATES                                        H H  LO OO OO  a O                 Ea ee ee ES  COON HOO om ONS    N                         0004 EOT EQU  04  ORG  4100  04 LA100 BRA LA106  FCB  01  LA103 FCB  00  FDB  0000  A103 LA106 STAA LA103  A106 STS LA106  A115 LDS  LA115  AD1E JSR PSTRNG  AD03 JMP WARMS  45 53 54 LA115 FCC  TEST STRING   FCB EOT    A100 END L
17. A100                DYNAMITE Disassembler User s Manual    This latest disassembly is the final one required  All of the data  areas are formatted correctly  and the output on disk is ready for  editing so it can be updated to run on the 6809  Thus  you next edit the  program TESTFILE TXT                    The first thing to be done in fixing the text is to update th  addresses of the FLEX variables from those used by FLEX 2 to those o  FLEX 9  Thus  the equate addresses given for WARMS and PSTRNG should b  changed from SAD03 and  AD13 to  CDO0O3 and  CD13 respectively  Also  th  origin address for the program should be changed from SA100 to _  C100   moving it into the FLEX 9 command file buffer  This is all the editing  which must be done  but you may chose to change all the labels from LAxxx  to LCxxx  so that they reflect the actual  new addresses  not the old  ones  This is not necessary  though  and may not always help much since   because 6800 and 6809 source code lines do not always translate to the  same number of bytes  the labels may still not reflect the correct  addresses        omo                                                                         Once the editing is complete  assemble the file TESTFILE TXT  If  using the TSC Assembler  the command might be                ASMB TESTFILE TESTFILE CMD  GN                      or any other such line creating a 6809 type CMD file  Now execute th  new command file  which should simply type the ASC string  TEST S
18. AMITE was read from                                                                          4  USER INPUT BEFORE THE DISASSEMBLY                Three options  the B  P  and S options  requir user input before  the disassembly can begin  The format of that input will be described  below              4 1 THE TITLE INPUT                The first user input  if pagination is enabled  will be the title to  be printed at the top of every page  DYNAMITE will print the prompt                   Title     and wait for input from you  Now type in the title you want  then press  RETURN  The title can be at most 32 characters long  so any excess typed  in is simply ignored                 4 2 THE DATA AREA BOUNDS INPUT                The next user input is that required by the B option  DYNAMITE will  enter an interactive mode enabling you to specify the addresses of data  areas within the program to disassemble  DYNAMITE will print the prompt                   Data Segment Type  Ascii  Byte  Label  Word  Reset  or Proceed        and wait for your response  Now enter the command for the type of the  text data area  Only the first letter of the type must be given  as that          is all    are     Any illegal    The A  B  L     input     that is ch    This decl  disassembl  using the  start of t  printed a  For the 68  FCCs  sep       Mnemonic Assembler        so  with    unprin  in the       This decl  disassembl  with two  eight byte       This decl  disassembl  will be   elsewhere  of
19. Any block of code within a program can be treated as data  Such an area  can be defined as any of four different varieties                     ASC data areas will produce FCCs  with strings automatically  delimited  and ASC control characters referred to by their  standard names                              Byte data areas will produce FCBs of hex data bytes            Label data areas will produce FDBs of labels references to the  program  Many programs have data tables in them which are used for  indirect addressing or for performing multi direction jumps  Such  tables are best disassembled as a series of labels                     Word data areas will produce FDBs of hex data double bytes      You can specify the boundaries for data areas within a program in two  ways  The data area addresses can be input interactively at the  beginning of a disassembly  or can be read from a disk text file which  has been set up previously                  The output from DYNAMITE can be directed to the output device or to a  disk text file  The text file created has all extra spaces deleted to  save disk space         The output listing can be line numbered or paginated               To help in finding the data areas in a program  the ASC equivalent of                FLEX is a trademark of Technical Systems Consultants  Inc     DYNAMITE Disassembler User s Manual             the code being translated can be printed alongside the source line     2  TERMS    2 1 FILES             DYNAMITE 
20. DYNAMITE Disassembler User s Manual             1  INTRODUCTION             A disassembler is a program which  as the name implies  provides a  function opposite that of an assembler  An assembler takes text files  which you type in  and converts them to object files which can be used by  the computer  These object files  while perfect for a computer  are not  suitable for human consumption  Thus  the job of a disassembler is to  take an object file  and from it create a text file which can be  understood  Assemblers and disassemblers are therefore complementary  programs        A disassembler can be useful for many jobs  You might have a  program which needs to be modified  but have only an object file of the  code  With a disassembler  you can translate this object into a text  file  which you can then update as required  The disassembler will not  do the whole job  but a good disassembler will make the job infinitely  easier  A good way to become a better programmer is to study the  programs of others  to encounter new methods of programming  With a  disassembler  you can do this with very little trouble  Finally  this  disassembler in particular can come in very handy with a specific problem  encountered by fap   who are upgrading to the 6809  but don t want          to leave behind exi g programs for the 6800  With the disassembler   those programs came disassembled  then reassembled under the 6809   after making whatever changes need to be           Disassembling can be
21. NAMITE has been written to run under FLEX 9  and has very little  which needs to be modified to adapt it for a particular system  There  are  however  two constants available for you to change                 1  The number of code lines printed per page  2  The first illegal ASC character past  20                The first constant is located at address  003A  This is the number  of code lines to be printed on each page of the output listing when  pagination is enabled  This number does not include the lines required  for the page heading and top blank lines  5  or blank lines at the botton  of the page  determined by the physical page size   The skip to the next  page is done by outputting a form feed character  ASC SOC  to the  output device  Presently  the constant for the number of code lines per  page is set to 54                                                                                                                                                     The second constant is located at  003B  This number is the value  of the first ASC character past  20 which should not be printed  This  value is referenced when printing the ASC equivalent area of the  listing  and when printing ASC strings generated in ASC data areas   Tf an ASC character to be sent is greater than or equal to this value   a period will be placed in the ASC area  and the hex value of the    character will be placed in the FCC  or FCB for the 6800  This can be  useful for certain CRT terminals  whi
22. TRING   and return to FLEX  The conversion of a 6800 program to the 6809 is  complete                    While other programs to be disassembled will not be as simple as the  example program  the procedure remains the same  Thus  as long as you  are careful in finding the data areas within a program  practically any  program can be disassembled and updated to run as you wish        As a further example  listed below are the lines which would be  placed in a text command file so that the prompting for data areas need  not be done at DYNAMITE run time  The command file would have the lines                                                            ZG   B A102 A103   W A104 A105   A A115 A120  This specifies that the program being disassembled contains 6800 object  code  with data areas of type and location as determined earlier  If the  command file has been called TESTCMD TXT  as it has on the DYNAMITE  disk   then the command to disassemble TESTFILE using the command file  would be          DYNAMITE TESTFILE BIN  DN  TESTCMD                            The options typed on the FLEX command line specify that no disk output is  to be produced  and that the listing should have line numbers  Note that  it is not necessary to declar th code as 6800  or suppress the  generation of extra code lines  since the first line of the command file                         DYNAMITE Disassembler User s Manual             accomplishes this automatically        9  ADAPTING TO YOUR SYSTEM       DY
23. ch will not accept some ASC  characters normally accepted by other terminals  For instance  Hazeltine  terminals  such as the 1500  use ASC STE as th scap sequenc  character  so that  7E is never printed  If an attempt is made to print  this as a character  the output will not appear correct  To change  DYNAMITE to accomodate the terminal  the constant at  003B should be  changed to  7E  The default value  as shipped  is  7F  so that deletes  are not treated as printable                                                                                To change either constant  do the following   First  using the FLEX MAP utility  determine the addresses at which  DYNAMITE loads  This will be from  0000 to some number around  2000   Next  load DYNAMITE using the FLEX GET command  and enter the system  monitor with the MON command  Change the constants at  003A and  0033 as  required  Go back into FLEX via the warm start address  SCD03  Finally  save the new version of DYNAMITE on the disk using the FLEX SAVE command   For the start and end addresses of the program  use the values determined  by MAP in the first step  Remember to specify a transfer address of 0000                                                        DYNAMI       TE                There are two varieties of errors detected by  as returned by EMS   caused by some form of illegal user input detected by    of these  errors     Disk       is    errors  particular file involved     disk       Type    where    of the 
24. creates the act    Th    tements    ual dis  utput h  ad from    eo         the code   ined using equal  If any ASC dal                      cters are used    er names ar    E    and are exi  tes   ta areas were defined   tered within these areas     in    defined                output  Third  all exte  equates  This output se  generated labels which  this equate segment  If             rnal  a          should  a label                true legal memory ref    erence  check    really be data will  is defined which does not appear to be a  in the actual    E       ternal  Second     then t  the FCC  in thi    labels without standard names ar  tion should be studied    caref    at the beginning    assembly code  both  as four main parts   the label files   to the program  are  all ASC equates  and control  he standard names  statements  These   section of the  defined by  ully  because any  normally show up in                      S             disassembly for all    DYNAMI                                        TE          Disassembler User s Manual                                  references to the  label and determine for yourself if it should actually  be a data value  The fourth output section is the main section  the  actual disassembly  This will be a series of assembler compatible source  lines  If any lines ar referenced in the code  then the internally  generated label will be placed in the label field of the source line   All label references appear either as a standar
25. d name  if the value was  found in a label file  or as an L followed by a four digit hex number   whose value is the reference address  Thus  references to address  1234  will generate a label of L1234     which    The    code    is identical       though     espec  code  addre    compatibl    Thus   will  eee  S55  which    the greater    b    will    can generat    produced by  with the original  ither          S    8 bit       ially on the 6809        with the sam  ssing where required           all  have  for       the  th     force  label              be  8 bits          than sign    gt       referenc    bit le    This can be done only for the  le with the forced addressing method expected by  direct references    8 bit addressing   For example   disassembled as LDA  lt L005    suffice will have the    as well a          fo    before th    ource file   references    To ensure that such references  ITE will    DYNAM       ngth     DYNAMITE should always reassemble into code    Some addressing modes   or 16 bit references   will assemble to  generate forced                   s all 8 bit    5  Also   ree 16 bit  lab An    a          address  33 will be disassembled as STX  gt L0033     fairly       yu          SASSEMBLY EXAMPLE       To help you understand the procedure for disassembling a program   which uses many of    routine example       discu    assembly    the 6    multi  occur  disk  By   and s  For  in    an a    areas   be    Can  ou       close  usual       once 
26. dressing is  Since ACCD   is alm  addressing  immediate r       ferences ar             this may  very rarely   will prevent the gen       The second pass  code but simply flags  external Internal la          miss a label which should hav  eration of many unneeded labels     of  all  bels    DYNAMI  label    TE  S                within the program  whil  the program as code   externa   of the disassembly listi          The third pass of D  disk file and the  First  all standard labe  wer referenced within  grouped together and def  are grouped together   characters were encoun  for the control  standard control charact    the          chara             e external       addresses  This    p    ost exclusively used for data manipulation inst    immediate    the first pass  the  re to be translated  such as the direct  addressing  eferences  Thus  a  object code will  sures that the vast  this also means  will also generate  nce  in some code   as in LDX  256   is the label  Thus  there will  ta values instead  tion of labels from  D  aS in ADDD  1   tead of                100                         always disassembled as data        While          in pass    labels are those not    ass is r    been generated  it    does not attempt to disassemble the  found  are those whose value is    1 as internal or  the address of code  occuring  within  equired so that all             ng     YNAM  output listing   ls  whose names w            labels can be defined using equate sta    ITE 
27. ecification is done     the same way   this  all       type an  R     DYNAM         TE has begun  first data area type will be sent   as byte data   ting address of the data area   The dollar sign is not    SO    DYNAM          W    ternal labels     d disassembly   nce there is li    you can assume that  A104    te    ta       e program seems to have disassembled properly     following the  so you       area     SO       Note the external  It is referenced only in  data    e    label  the code that  areas to          this  ttle          output can be written to disk    OW        Also  the ou                  listing wil    be    time entering  chance that a  at       ITE input  via the keyboard  the data area  tpu      line numbered        11       string w    not be generated              6800  off     code  No       execution   You    type a  B   th       required       a     A103      re    sk for    th    issues          should Proceed to          DYNAMITE will    finish       three passes     disassembly begins   produced should be the same as the listing on the next          the ending  en RETURN   the prompt    to the sec                DYNAMITE did no       ta area type prompt and start    Type a       up its initial             e that the ASC       equivalent    The program    area             the prompt for    want to enter t          the  h    since it is no longer required     entry of the    area from  A102       en RETURN  DYN  Type the chara       AMIT       E
28. error is the ou  file ERRORS SYS is on    complete   nn     T Type      text    Non disk    be    Both types  processed   included in the error output     aborted       File    or    is one of    errors     DYNAMITE ERROR MESSAGES    are at least two lines long   The line has the form    Error       Input     Output           line     will be printed     errors    of    tpu  the  but    print  These errors give a descript  interrupted   option processing portion of    errors  If an error occurs in the command file   This line has the form    system  if          CEL OE        All          may    Command file line  nnn    where  occurred     non disk error        closed     Non disk errors normal    If       way   portion    The non disk errors detected by    of  terminating    Disk errors always cause  then    control       is returned          ly result          in       the       one     error       DYNAMITE   but just    is    caused  though   a reg    by  the  Uest             DYNAM     t line returned by RPTERR in FLEX   disk   the file is not found     messages found internal to  tion of the condition causing the  non disk  DYNAMITE     occur    DYNAMITE to stop execution     the program being halted in    Disassembler User s Manual    DYNAMI  The    TEs The first  second is non disk  DYNAMITE                    The first lin       gives th       line  if the  be a  ISK ERROR    The last  us   111  D    Command  or Label   Th  then the error message w    a line          
29. file is processed                             A  lt start addr gt   lt end addr gt    This command lin specifies the addresses of a data area to be  disassembled as FCCs or ASC data  As such  its effect is the  same as the A type character entered in response to the B option    lt start addr gt  and  lt end addr gt  are the hex values of the first and  last addresses of the data area being specified  with the first  address less than or equal to the last  The addresses should be  separated by a dash         without any spaces between them  For  example  to declare the zero page of memory as an ASC data area   the commands  A O FF  or  A 0000 00FF   would be used                                                     B  lt start addr gt   lt end addr gt   This command lin specifies the addresses of a data area to be  disassembled as byte data in FCBS  Its result is the same as the B  command in the user data area specification  The parameters take  the same format as for the A command line                          L  lt start addr gt   lt end addr gt   This command line specifies the addresses of a data area to be  disassembled as FDBs of labels  Its result is the same as the L  command in the user data area specification  The parameters take  the same format as for the A command line                 W  lt start addr gt   lt end addr gt   This command lin specifies the addresses of a data area to be  disassembled as FDBs of words  or double bytes  Its result is the  same as the W
30. he command file        Illegal option switch             An illegal option character was encountered in the option list in  the FLEX command line or in an option command within the command  file     Word or Label segment has odd length  The addresses specified for a data area of type word or label was  an odd number of bytes long  Double byte data areas must have an                      even length  If this error occurred during user prompting of data  areas  the input is ignored  In the command file  this error halts  DYNAMITE              Data segments overlap  The latest data area occupied some of the same addresses as a          previously specified data area  Data areas must be mutually  exclusive  in that any address can be in at most one data area  If  this error occurred during user prompting of data areas  the input  is ignored  In the command file  this error halts DYNAMITE                    Tables out of memory  DYNAMITE has insufficient memory to build all of the required  tables                       This manual his been prepared using the TSC 6809 Text Processor and  printed by a XEROX model 1750 daisy wheel printer     
31. her in a                      program the data areas  especially the ASC  that a more accurate disassembly can be made               DYNAMITE OBJFILE BIN  DNGB                            Disassemble program OBJFILE BIN  read from the          strings  are located  so       working disk  Do not    create a disk file  The output listing should have line numbers  and       FDBs  FCBs  and FCCs should not run to e             xtra lines  Before the    disassembly starts  prompt the user for the addresses of data areas    DYNAMITE Disassembler User s Manual             within the program           DYNAMITE TESTFILE O 1 SRCFILE  ZLS                   Disassemble program 0 TESTFILE CMD  and create a text file 1 SRCFILE TXT  for the source text  TESTFILE should be disassembled as a 6800 program   not 6809  Do not print an output listing  and before disassembly begins  prompt the user for addresses between which the program should be  disassembled                                   DYNAMITE FILEA FILEZ  PGN1  FILEABND                         Disassemble the program FILEA CMD from the working drive  and store the  text output in the file FILEZ TXT on the working drive  The output  listing should be paginated and have line numbers  and extra lines of  code generation should be suppressed  Before disassembly starts  the  command file FILEABND TXT from the working drive should be processed   The default label file  DISLBLO9 BIN  should be read from drive 1   regardless of the disk that DYN
32. ition to the  default label file  or as a replacement for the default  Finally  the  command file can also be used to specify options so that they need not be    declared in       The command file  each holdin  character in the  requires   file are        lt options gt   This  values are    command lin  identical    line     the FLEX command    shoul  g a single command              FLEX       command line   always be specified for a program being disassembled     specifies  in meaning to the    a       accepted    options          line for every disassembly     ld be created as a series of comm  The command character should be  and be followed by what  The various commands which are    list of options   specified    and lines   the first    tever parameters the line  within       the command    whose allowable  in the       This command is used for options which would    For example     a common usage of the options command would be to specify a program    as 6800 co    de     so that you do not need to remember    to    do this on    DYNAMITE Disassembler User s Manual             every disassembly  The command in this case would be   Z   All of  the options for the FLEX command line are legal within the command  file except for the B  D  P  and S options  These are not allowed  because  for the D command  any disk option file has already been  opened before the command file is processed  and for the B  P  and  S options  all user input has been requested befor th command  
33. m for the 6800  suppress disk output  and       add line numbers                   and ASC code equivalents to the listing  The listing    produced can be found on the next page                                                                                                                                                                                         DYNAMITE Disassembler User s Manual  1   DISASSEMBLY BY DYNAMITE OF 1 TESTFILE BIN  2  3   STANDARD PRE NAMED LABEL EQUATES  4  S ADO3 WARMS EQU SADO3  6 ADIE PSTRNG EQU SADIE  Fi  8   EXTERNAL LABEL EQUATES  9  10 A16E LAI16E EQU SA16E  11  12 A100 ORG SA100  13 A100 20 04 LA100 BRA LA106  14 A102 01 NOP  15 A103 00 LA103 FCB  00  16 A104 00 FCB S00  17 A105 00 FCB S00  18 A106 B7 A103 LA106 STAA LA103  19 A109 BF A106 STX LA104  20 Al0C CE A115 LDX FLA115  21 A10F BD AD1E Lita JSR PSTRNG  22 A112 7E ADO3 Prats JMP WARMS  23 A115 54 T LA115 LSRB  24 A116 45 E FCB S45  25 AILS 53 S COMB  26 A118 54 T LSRB  27 A119 20 53 S BRA LA1 6E  28 Al11B 54 T LSRB  29 Al1C 52 R FCB  52  30 A11D 49 I ROLA  31 A11E 4E N FCB S4E  32 A11F 47 G ASRA  33 A120 04 A FCB S04  34 A100 END LA100       By    that the code from  A115 to  A120 is       scanning the ASC       ASC       is an       with a       at  A109 save    to  A105 should be    branch  the    Can ass    The remainder of    all of  LA16E tha  should be  DYNAMITE              h             Now   the data bou  third disassem  this time  The       DYN       This command  addresses
34. oth the S and T options within a single  command file    You may also include blank lines or lines beginning with an  asterisk       in the command file wherever desired  These lines are  ignored by the command file processor  and can be used as comment lines    or to format    As an example of  following command lines                          the command fil       a    command file     consider                                                                                                                            the    le for easy viewing and editing     effect of the           ZG     Data areas within the code   B A102 A104   W A105 A108   L A233 A240   A A241 A27F     Use an additional label file   T LBLFIL BIN  The first command line declares the program being disassembled to be 6800  code  and directs DYNAMITE to suppress extra generation of code byte  lines for FCCs  FDBs  and FCBS  The second line  starting with an  asterisk  is a comment line  ignored by DYNAMITE  The third through  sixth lines declare four data areas within the program  one of each data  area type  The code from A102 to A104 should be disassembled as bytes in  FCBs  The bytes from A105 to A108 should be disassembled as two words in  FDBs  The bytes from A233 to A240 should be disassembled as seven labels  of FDBs  Finally  the bytes  from A241 to A27F should be disassembled as  ASC data  in ASC strings or as ASC constants  The seventh line is  another comment line  and is ignored  The eigth line s
35. pecifies a label  file  LBLFIL BIN  to be read from the working drive and used in addition  to the default label file   6  THE LABEL FILE   Normally  you don t have to worry about the assignment of standard       names to predefined memory addresses        taken care of by DYNAMI    TE     This function    which will       normal names   though  either for a  single program  this invol  program  and placing th  file   modify the default labe    You may wan             t to    expand the scope       single    ves  e n    Lt E    creating a custom labe       is automatically    refer to FLEX addresses by their  of the  program or for all disassemblies     assignments   Fora  the          file for       ame in an          DISLBLO9 B          N D       iles  or          accomplish either function    A    S or T command within the command  To change the equivalences for all disassemblies     have to  N  To    you will  ISLBLOO BI                   you must know the format of the label       files        DYNAMI       TE                                              Disassembler User s Manual                                           DYNAMITE label files must be binary object files  with code produced  by an assembler  To create a label file  you must first type in an  assembler source file  from which the binary file is produced  The label  source file should be a series of pairs of FCCs and FDBs  The FCC ina  pair specifies the standard name for a location  while the FDB specifies 
36. trademarks of Southwest Technical Products Corp        DYNAMI       TE         4       within them Finally  e  Since all have the corre    ther standard label    file          ct format for labe         may  files                 ISASSEMBLY PARTI       There are several  to keep in mind when dis       DYNAMITE  object code  as labels   or extended  mode using  LDX    load  generate a label for  majority of labels will  that an immediate loa  labels  when this was no  IX is loaded with  This will be disassemble  assigned a reference          is a thr    As well as          the IX  IY   IX immedia                                     addressing modes      CULARS       assembling     ee pass       DYNAM        U   te  encountered  the immediat  be picked up   d of those registi  wha                d  to       DX  L0100  256     as Ll  address          usually be some lab  of memory locations        An  in th    exception  immediat    to      particular attributes of    disassembler   is searched for memory references     wi    value   Unfortunately   ters with  was desired   a constant to control a loop count           100 in hex   ls generated which are actually dat    mod    DYNAM            TE    Disassembler User s Manual    be used as is     which are useful       On    which a    the obvious memory references    TE regards th  or S registers as mem    e  ory     the  is en    thin  Th       dat  For inst    ta  Ca       where LO    the genera  with ACC          immediate ad
37. trieving the disk drive number from the system file control block                on entry  and assuming that DYNAMITE was  this is not true  or the default file  different disk than that holding DYNAM  option list will set the drive number to                            The final element of the command line i                loaded using this FCB  If  should be read from a   TTES a Op ky Ly OY So an the  override the default           s the  lt command file gt   This    is the file holding th predefined data area boundaries and other          miscellaneous commands  The format of this f  5  The command file has a default extension of  file name must be separated from the rest of  Sign        This is not the same plus sign as  of the option list  If no options are spe  still be in the command line  For example                          DYNAMTITE OBJPROG   CMDFILE                   What follows are several examples of  explanations of the effect of each call              DYNAMITE PROGA  DAN                disk file  but do list the disassembly   line numbered  and have the ASC equivalent  code line  This option list is normally used t                      ile is described in section    TXT  If specified  the  the command line by a plus  that specifying the status  cified  two plus signs must                   calls to DYNAMITE  with             Disassemble program PROGA CMD  from the working disk  Do not create any    The listing should be  of the code printed in the  o determin w
38. uses several files to perform disassembly jobs           Initial    definitions for these files follow  more complete definitions are given  in the instructions                     disassemble           INPUT FILE is the binary object file which DYNAMITE is directed to          OUTPUT FILE is the text file which is optionally created by DYNAM   hold the disassembled code for further editing     COMMAND F               TE to     LE is an optional text file which contains lines specifying the    address boundaries and types of data areas within a program  Also within  the command fil are the lines specifying the user defined label files   below  to use  as well as lines specifying options normally sent  FLEX commnand line to specify default options                          via the             LABEL FILE is a binary file which sets up the equivalence between  and standard symbol names for those addresses  DYNAMITE  defaults to using label files which name the standard FLEX locations     addresses    The defaul    6800 code     the defaul             memory                                  lt file used is DISLBLO9 BIN for 6809 code  and DISLBLOO BIN for                      t label file  or to be used in place of the default        2 2 CONVENTIONS    As       is standard in most 6809 program documentation     You can specify a single label file to be used in addition to    certain    conventions will be used in declaring the format of user directions for  Angle brackets   lt  gt 
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
MTA-cradle personal gateway  Cycle Analyst Bedienungsanleitung  Hama uRage Illuminated Essential  User`s Manual - cnctar.hunbay.com      Copyright © All rights reserved. 
   Failed to retrieve file