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