home *** CD-ROM | disk | FTP | other *** search
- Washington Electronics & Systems Ltd
- 17 July 85
- HELP FILE for DazzleStar Disassembler
- =====================================
- Contents
- Introduction --------
- Starting up (the command line)
- Windows on the screen
- Moving thru the file
- Moving further
- Command groups
- Control table & ^KS ^KR
- HELP!
- Auto-build control points or symbol names
- "Onscreen" functions (the ^O family)
- File commands (the ^K family)
- Symbol table
- ^OF, ^OS, ^OU: how they affect display /contents contd next screen
- --------------------------------------------------------------------------
- .c≡ 25
- Entering names and phrases into the symbol table
- Building and destroying the symbol table
- Comments (adding and deleting them)
- "Quick" family (^Q)
- ^QF ^QA improvements
- Moving forward or back by just a few bytes
- TYPICAL USE
- Installatioε Notes
- Rough notes
- Self-relocating code
- Symbol table access
- Wishes
- DZINSTAL development plans...
- Feedback
- Disclaime≥ anΣ Warning
- MORE PROGRAMS
-
- --------------------------------------------------------------------------
- .c≡ 25
- è Introduction
-
-
- Thi≤ filσ i≤ DZMSGS.OV╥ anΣ serve≤ a≤ aε introductioε t∩ DazzleStar.
-
- DazzleSta≥á i≤á ßá prograφá whicΦ caε disassemblσá ßá CP/M-8░á .CO═á file¼ ì
- producinτá Z8░á mnemonics«á Thσ firs⌠ par⌠ oµ thi≤ documen⌠ serve≤á a≤á ß ì
- compromisσá betweeεá ß referencσ manua∞ anΣ ß tutorial¼á anΣá late≥á part≤ ì
- discus≤á sucΦ thing≤ a≤ installation¼á printinτ thi≤ manual¼á anΣá typica∞ ì
- method≤ oµ disassembly.
-
- Iε thσ descriptions¼ item≤ markeΣ {!² arσ no⌠ ye⌠ implemented«
-
- --------------------------------------------------------------------------
- .cp 25
-
- DazzleSta≥á disassemble≤ ß program¼á producinτ ß listinτ (o≥á sourcσá tex⌠ ì
- filσ fo≥ inpu⌠ t∩ aε assembler⌐ usinτ Ziloτ Z8░ mnemonics«á Mos⌠ program≤ ì
- havσá data¼á a≤ wel∞ a≤ code¼á s∩ DazzleSta≥ keep≤ ß contro∞ table¼á whicΦ ì
- specifie≤á ho≈ eacΦ par⌠ oµ thσ prograφ i≤ t∩ bσ disassembled«á Therσá i≤ ì
- als∩ ß symbo∞ table¼ s∩ tha⌠ label≤ anΣ value≤ caε bσ giveε whateve≥ name≤ ì
- (o≥ phrases¼ even⌐ thσ use≥ wishes.
-
- Thσá contro∞á anΣ symbo∞ table≤ wil∞ bσ discusseΣ iεá morσá detai∞á later╗ ì
- first¼ let'≤ takσ ß looδ a⌠ ho≈ t∩ ge⌠ DazzleSta≥ runninτ anΣ thσ wa∙ you≥ ì
- screeε i≤ used.
-
- --------------------------------------------------------------------------
- .c≡ 25
- Starting up (the command line)
-
- Thσá filσ t∩ bσ disassembleΣ mus⌠ bσ specifieΣ iε thσ commanΣ tail«á Sincσ ì
- thσ .CO═ extensioε i≤ thσ mos⌠ frequent¼á .CO═ i≤ addeΣ iµ n∩ extensioε i≤ ì
- explicitl∙ given«á Fo≥ example¼á t∩ disassemblσ ß filσ FRED.COM¼ typσ "D┌ ì
- FREDó ("D┌ FRED.COMó als∩ works)«á Othe≥ files¼ fo≥ examplσ FRED.OVR¼ caε ì
- bσ specifieΣ b∙ givinτ thσ namσ iε full«
-
- Iµá yo⌡ omi⌠ thσ namσ oµ thσ inpu⌠ file¼á DazzleSta≥ wil∞ assumσ you'rσá ß ì
- ne≈ use≥ anΣ displa∙ thi≤ "helpó file«
-
- --------------------------------------------------------------------------
- .cp 25
- è Windows on the screen
-
- Thσ screeε i≤ arrangeΣ witΦ window≤ whicΦ arσ independentl∙ updated.
-
- .-------------------------------.
- | Status Line |
- |-------------------------------| Experienced users can
- | | suppress the menu to
- | Men⌡ windo≈ | expanΣ thσ othe≥ windows
- Info about |-------------------------------|
- nearby con- | Control window |
- trol points |-------------------------------|
- | | You≥ curso≥ i≤ normally
- Sometimes | Disassembly window | within this window
- these two |-------------------------------|
- windows are | Hex dump window or | If disassembly window
- combined | second disassembly window | is very small, your
- '-------------------------------' curso≥ may be iε thi≤
- window
- --------------------------------------------------------------------------
- .c≡ 25
- Moving thru the file
-
- Thσ commanΣ key≤ choseε arσ baseΣ oε WordStar¼á s∩ yo⌡ shoulΣ quickl∙ finΣ ì
- ß lo⌠ oµ olΣ friend≤ oε you≥ keyboard.
-
- Cursor ^E Scroll ^R previous page
- movement up (or thereabouts)
-
- ^S left right ^D ^W scroll up line
-
- down
- ^X ^Z scroll down line
-
- ^^ (up) also work, which allows use of
- ^_ (down) cursor arrows on some machines ^C next page
-
- Actually¼ jus⌠ thσ letter≤ alonσ als∩ worδ ok¼ n∩ neeΣ t∩ usσ <CTRL>.
- --------------------------------------------------------------------------
- .cp 25
- è Moving further
-
- S∩á thσ screeε give≤ ß vie≈ oµ you≥ file¼á usuall∙ iε tw∩ differen⌠á ways« ì
- Thσá maiε vie≈ i≤ ß disassembl∙ oµ thσ filσ (iε whateve≥ modσ thσá contro∞ ì
- tablσ specifie≤ a⌠ thi≤ point)¼ anΣ thσ seconΣ vie≈ show≤ thσ samσ par⌠ oµ ì
- thσ filσ a≤ ra≈ he° anΣ characters.
-
- T∩á movσá ßá shor⌠á distancσ througΦ thσ file¼á usσá thσá scrol∞á command≤ ì
- (especiall∙ ^├ anΣ ^R)«á Ofteε you'l∞ wan⌠ t∩ movσ further¼á s∩ therσ arσ ì
- hand∙ way≤ t∩ d∩ this:
-
- Go to address ^A hex address <return>
- and display ^F goes to the address in the 2nd and 3rd bytes of
- screenful the instruction specified by the cursor
- (to remember: A for Address, F for Follow)
- --------------------------------------------------------------------------
- .cp 25
- Command groups
-
- Somσá oµá thσ commanΣ code≤ arσ tw∩ character≤ lonτ (simila≥á t∩á WordSta≥ ì
- wherσ analogie≤ arσ possible)« The∙ arσ loosel∙ grouped¼ accordinτ t∩ thσ ì
- firs⌠ characte≥ oµ thσ pair.
-
- Thσ meaning≤ oµ thesσ group≤ wil∞ bσ explaineΣ later¼á but¼á jus⌠ fo≥á thσ ì
- record¼ herσ the∙ are:
-
- ^K- various file commands
- ^O- Onscreen: how the screen is arranged
- ^Q- Quick: move quickly to another part of the file
- ^P- build symbol table
- ^B- Build control table (forget WordStar paragraph reform, who
- ^J- Help need≤ para- reforφ iε ß disassembler?)
-
- "Quickóá i≤á no⌠ ß ver∙ gooΣ mnemoniπ fo≥ thσ ^╤ family¼á bu⌠ man∙ oµá thσ ì
- use≤ arσ simila≥ t∩ WordStar¼á fo≥ examplσ ^QR¼ ^QC¼ ^QF¼ ^QA¼ ^Q╓ arσ al∞ ì
- inspireΣ b∙ WordStar.
- --------------------------------------------------------------------------
- .cp 25
- è Control table
-
- DazzleSta≥á build≤ ß tablσ oµ "contro∞ pointsó (calleΣ thσ contro∞á table⌐ ì
- whicΦá decide≤ ho≈ eacΦ par⌠ oµ thσ inpu⌠ filσ i≤ displayed«á Thi≤á tablσ ì
- caε bσ modifieΣ witΦ ^B° sequences:
-
- Control disassembly
- ^B┬ Byte≤ (i.e« DB) ^B─ Decima∞ ^B═ Byte≤ anΣ messages
- ^BI Instructions ^BH Hexadecimal ^BN Numeric bytes only
- ^BW Words (i.e. DW)
- ^BL Labels (i.e. DW label) ^BR Relative labels (i.e. DW label-$)
- ^BY Delete this entry ^BA Auto-build control table
- ^BO Offset (.PHASE directive)
- YES! You can save your work:
- ^KS Write .DZ file (text file containing all symbols, comments,
- and control points, so disassembly can continue another day)
- ^K╥á ReaΣ .DZ file (produced by ^KS)
-
- --------------------------------------------------------------------------
- .cp 25
- HELP!
-
- ^J▓á clear≤á thσ to≡ oµ thσ screeε t∩ makσ morσ rooφ fo≥ displayinτá code¼ ì
- bu⌠ turns ofµ thσ menu.
-
- ^J3 turns the menu back on again.
-
- ^J <space> returns to the main menu
-
- ^J followed by anything else displays this file
-
- Wheε thσ firs⌠ characte≥ oµ ß two-characte≥ commanΣ ha≤ beeε typed¼ iµ thσ ì
- seconΣá characte≥ i≤ no⌠ typeΣ withiε ß reasonablσ timσ theε thσá use≥á i≤ ì
- prompteΣ b∙ thσ displa∙ oµ aε appropriatσ secondar∙ menu.
-
- --------------------------------------------------------------------------
- .cp 25
- Auto-build control points or symbol names
-
- ^BA searcΦ fo≥ asciΘ string≤ to auto-builΣ contro∞ tablσ
- ^PA auto-builΣ symbo∞ tablσ (name≤ deriveΣ froφ he° addresses)
-
- BotΦ oµ thesσ command≤ asδ fo≥ ß star⌠ anΣ aε enΣ address« Iµ yo⌡ specif∙ ì
- thσá wholσá oµ ß largσ program¼á yo⌡ ma∙ havσ t∩ wai⌠ ßá significan⌠á timσ ì
- (minutes¼á even)« Morσ serious¼ yo⌡ ma∙ ruε ou⌠ oµ memory¼ witΦ n∩ chancσ ì
- to save your earlier work -- do use ^KS before trying either ^BA or ^PA.
-
- --------------------------------------------------------------------------
- .cp 25
- è"Onscreen" functions, which affect the way the display is presented
-
- ^OR most of the screen will be used for hex dump
- (i.e. screen divider moves near the top of the screen)
-
- ^OC most of the screen will be used for instructions etc
- (i.e. screen divider moves near the bottom of the screen)
-
- ^OO split the screen at the current cursor position
-
- ^OV a few rows at the bottom of the screen for hex dump,
- with most of the screen used for instructions etc
- (i.e. back to the type of presentation used initially)
-
- ^OF, ^OS, ^OU
- toggles described later (see symbol table description)
-
- ^OB display control table
- ^OP display symbol table ^OT display both of them (T for "two")
- ^OI display instructions (i.e. normal display)
- --------------------------------------------------------------------------
- .cp 25
- ^KS save control & symbol tables on disk (.DZ file)
-
- ^KQ return to CP/M -- nothing is saved
-
- ^KX save control & symbol tables (if altered) and return to CP/M
-
- ^KP print part or whole disassembly on LST:
- ^KW write part or whole disassembly to disk (.MAC file)
-
- {! ^KF Files (display directory) (These would be nice, !}
- {! ^KO copy but space is not yet !}
- {! ^KL Login drive available to implement !}
- {! ^KY Delete a file them) !}
- {! ^KE Rename !}
- {! ^KD Do ^KS and return to no-file menu (no such menu yet) !}
- {! (and maybe never will be) !}
- --------------------------------------------------------------------------
- .cp 25
- è Symbol table
-
- Thσ symbo∞ tablσ caε bσ though⌠ oµ a≤ severa∞ independen⌠ symbo∞ table≤ -- ì
- wheεá aε instructioε i≤ decodeΣ DazzleSta≥ decide≤ wha⌠ kinΣ oµ symbo∞á i≤ ì
- involveΣ (fo≥ example¼á ß bytσ reference¼á ß worΣ reference¼á ßá label¼á ß ì
- relativσ label¼ etc)« Wheε thσ instructioε i≤ displayed¼ you≥ symbo∞ namσ ì
- i≤á onl∙ useΣ iµ yo⌡ askeΣ fo≥ i⌠ t∩ bσ useΣ fo≥ thi≤ kinΣ oµ symbol«á S∩ ì
- i⌠ i≤ eas∙ t∩ tel∞ DazzleSta≥ t∩ turε this:
-
- LD HL,0100 (size of 256 byte block)
- ...
- JP 0100 (restart the program)
-
- into:
- LD HL,blocksize
- ...
- JP start
-
- without any confusion between the two uses of 0100.
- --------------------------------------------------------------------------
- .cp 25
- Late≥á thσ command≤ wil∞ bσ describeΣ morσ formally¼á bu⌠ firs⌠á let'≤á g∩ ì
- througΦ tha⌠ examplσ iε morσ detail:
-
- LD HL,0100
- ...
- JP 0100
-
- Movσá thσá curso≥á (b∙á usinτá ^┼á o≥á ^X⌐á t∩á thσá L─á H╠á line«áá Typσ ì
- ^PIblocksize<return>«áá Movσá thσá curso≥á t∩á thσá J╨á line«á No≈á typσ ì
- ^PIstart<return>«á I⌠á reall∙á i≤á tha⌠ simple«á Wheεá yo⌡á subsequentl∙ ì
- displa∙á somewherσ elsσ iε thσ filσ witΦ ß referencσ t∩ 010░ i⌠ wil∞á sho≈ ì
- 'startº o≥ 'blocksizeº a≤ appropriate.
- --------------------------------------------------------------------------
- .cp 25
- ^OF, ^OS, ^OU: how they affect display
-
- A⌠ firs⌠ DazzleSta≥ display≤ thσ symbol-name≤ yo⌡ havσ specified¼á o≥ (fo≥ ì
- value≤á fo≥á whicΦá yo⌡á havn'⌠ ye⌠ specifieΣ ßá name⌐á thσá correspondinτ ì
- pseudo-symbo∞ (e.g« L0100)« S∩ initiall∙ yo⌡ migh⌠ seσ
- 010░ J╨ L123┤ oε thσ screen¼á anΣ late≥ (afte≥ defininτ L123┤ a≤ MAIN⌐ ì
- yo⌡á migh⌠ seσ
- 010░ J╨ MAIN« Morσ informally¼ wσ cal∞ thesσ pseudo-symbol≤ (tha⌠ arσ ì
- constructeΣ froφ he° numbers⌐ "fakeó symbols« Fakσ symbol≤ caε bσ toggleΣ ì
- on and off (^OF)¼á bu⌠ arσ initiall∙ off«á Iµ yo⌡ turneΣ theφ oε iεá thi≤ ì
- example yo⌡ would ge⌠
- 010░á J╨áL123┤ MAI╬ whicΦ i≤ no⌠ ß gooΣ ideß fo≥ you≥ .MA├ filσá bu⌠ ì
- somσ peoplσ prefe≥ wheε they'rσ browsinτ (╔ likσ it¼ eveε iµ yo⌡ don't!).
-
- Similarly¼á ^O╒á toggle≤á ofµá anΣá oε thσ displa∙á oµá you≥á choseεá namσ ì
- (otherwisσ knowε a≤ thσ "useró symbol)«á Noticσ tha⌠ nothinτ i≤ destroyeΣ ì
- iε you≥ symbo∞ tablσ -- ß seconΣ ^O╒ wil∞ brinτ bacδ everything« Likσ al∞ ì
- thσ ^╧ sequences¼ onl∙ thσ displa∙ i≤ affected.
- --------------------------------------------------------------------------
- .cp 25
- è
- ^O╙á toggle≤á thσ "splitó feature«á Thi≤ onl∙ ha≤ aε effec⌠ wheεá ßá use≥ ì
- symbo∞ ha≤ space≤ iε it« Fo≥ example¼ definσ B000│ a≤
-
- "IOBYT┼ fou≥ two-bi⌠ fields"
-
- With ^OS on, and ^OF off, a typical display would be:
- probably the
- LD (IOBYT┼),A ; fou≥ two-bi⌠ fields most useful when
- generatinτá.MA├ file
-
- With ^OS off, and ^OF on:
- most useful when
- LD (B0003 IOBYT┼ fou≥ two-bi⌠ fields),A browsing
-
- Thσ othe≥ combination≤ arσ allowed¼á bu⌠ no⌠ s∩ useful¼á fo≥ example¼ witΦ ì
- ^O╙ off¼ anΣ ^O╞ off:
-
- LD (IOBYT┼ fou≥ two-bi⌠ fields),A
-
- --------------------------------------------------------------------------
- .cp 25
- Entering names and phrases into the symbol table
-
- ^Px (x is a letter) gives a question, to which you reply
-
- symbol name blah blah blah<return>
-
- You'vσá probabl∙ guesseΣ alread∙ tha⌠ symbo∞ name≤ caε includσ spaces¼á iε ì
- fac⌠ yo⌡ caε typσ anythinτ yo⌡ fanc∙ u≡ t∩ abou⌠ 4░ characters.
-
- Thσá addres≤ (o≥ value⌐ associateΣ witΦ thσ symbo∞ i≤ thσ addres≤á oµá thσ ì
- curren⌠á linσ wheε yo⌡ pres≤ ^P«á ^P╔ i≤ ß usefu∞ exceptioε t∩ this¼á anΣ ì
- wil∞ bσ describeΣ oε thσ nex⌠ screen.
-
- ^PB Byte references to this line will use this symbol, e.g. LD A,(ref)
- ^PL Label references will use this symbol, e.g. JP label, CALL label
- ^PR Relative references, e.g. JR label
- ^PT Table references, e.g. LD HL,table
- ^PW Word references, e.g. LD HL,(word)
- ^P┐ Simila≥ t∩ ^P┬ etc.¼ bu⌠ generate≤ ß symbo∞ whicΦ wil∞ satisf∙ al∞
- reference≤ t∩ sucΦ ß value.
- --------------------------------------------------------------------------
- .cp 25
- è
- ^P╔ i≤ ß littlσ morσ complicated«á Yo⌡ ofteε wisΦ t∩ ente≥ thσ namσ oµá ß ì
- symbol¼á no⌠ wheε yo⌡ arσ A╘ thσ placσ wherσ thσ symbo∞ wil∞ be¼á bu⌠ wheε ì
- yo⌡ arσ a⌠ ß linσ oµ codσ whicΦ REFER╙ t∩ thσ symbol« Oµ course¼ b∙ usinτ ì
- ^╞ yo⌡ coulΣ easil∙ arrivσ a⌠ thσ placσ wherσ thσ symbo∞ wil∞ be«á Bu⌠ aε ì
- eveε morσ convenien⌠ methoΣ i≤ provided...
-
- ^P╔ (mnemonic║ Indirect)
- Thσ addres≤ associateΣ witΦ thi≤ symbo∞ depend≤ oε thσ conten⌠ oµ thσ linσ ì
- thσ curso≥ wa≤ oε wheε yo⌡ hi⌠ ^PI.
-
- E.g.
- 070B LD (B5200),A ^PI would define B5200.
-
- 070E LD A,H ^PI would be illegal (bell sounds, and '***')
-
- --------------------------------------------------------------------------
- .cp 25
- Building and destroying the symbol table
-
- ^P┴á ask≤ yo⌡ t∩ specif∙ thσ firs⌠ anΣ las⌠ addresse≤ oµ thσ regioε t∩á bσ ì
- searcheΣá (defaul⌠á i≤ thσ wholσ file)«á ┴ completσ disassembl∙á i≤á donσ ì
- behinΣá thσ scene≤ (s∩ bσ patient!)¼á anΣ whereve≥ ß symbo∞ i≤ referenced¼ ì
- bu⌠ no⌠ founΣ iε thσ symbo∞ table¼ ß ne≈ symbo∞ i≤ created.
-
- Thσá namσ giveε use≤ thσ lette≥ appropriatσ fo≥ thσ usσ oµ thσ symbo∞á anΣ ì
- thσ fou≥ he° digit≤ oµ it≤ value«á Fo≥ example¼á decodinτ C│ 3┤ 1▓ iεá aε ì
- areßá startinτá witΦ aε "Ió contro∞ poin⌠ (Instructions⌐ woulΣ generatσá ß ì
- symbo∞ L1234.
-
- ^P┘á Flushe≤á thσ symbo∞ table¼á firs⌠ oµ al∞ fakσ symbols¼á theε oµá al∞ ì
- symbols«á Sincσá thσá operatioεá i≤á rathe≥á dangerous¼á confirmatioεá i≤ ì
- requesteΣ a⌠ botΦ stages«á Thσ contro∞ point≤ arσ no⌠ affecteΣ (anΣ therσ ì
- i≤á n∩á wa∙á t∩ flusΦ al∞ contro∞ points¼á excep⌠ b∙ usinτá ^K╪á anΣá theε ì
- editinτá thσ .D┌ filσ b∙ hanΣ o≥ b∙ ß "littlσ utilityó whicΦ ╔ hopσ you'l∞ ì
- writσ anΣ makσ public!).
- --------------------------------------------------------------------------
- .cp 25
- è Comments
-
- Inserting comments on lines: {!}
- Not yet possible {!}
-
- Inserting a comment between lines:
-
- Move the cursor to the line following where you want the comment.
- Pres≤ semicolon« (Thσ screeε wil∞ bσ redisplayed¼ witΦ ß ga≡ fo≥
- your new comment).
- Type comment, terminating with <return>
-
- Backspacσá i≤á implemented¼á bu⌠ otherwisσ thσ commen⌠ canno⌠á bσá edited« ì
- However¼á yo⌡á caεá late≥ retypσ i⌠ completely¼á anΣ deletσ thσá olΣá one« ì
- Therσá i≤ n∩ limi⌠ t∩ thσ numbe≥ oµ line≤ oµ commen⌠ a⌠ an∙á poin⌠á (apar⌠ ì
- froφ thσ tota∞ symbo∞ tablσ space).
-
- --------------------------------------------------------------------------
- .c≡ 25
- Symbol≤á anΣá comment≤ arσ storeΣ iε thσ samσ wa∙ internally¼á anΣ caεá bσ ì
- quitσ lonτ (abou⌠ 4░ character≤ o≥ more)«á Iµ you'rσ tryinτ t∩ understanΣ ì
- ß program¼ rathe≥ thaε generatinτ ß sourcσ tex⌠ tha⌠ wil∞ assemble¼ i⌠ caε ì
- bσ hand∙ t∩ givσ symbol≤ chatt∙ names« Fo≥ example,
-
- CAL╠ Outpu⌠ cha≥ iε A
- L─ A,(B374╣ ??┐ flaτ fo≥ pas≤ ▓ ???)
- O╥ ┴
- J╥ NZ,pas≤ ▓ maybe?
-
- Thi≤ caε bσ ß biτ help¼á becausσ thσ result≤ oµ you≥ idea≤ arσ immediatel∙ ì
- availablσ throughou⌠ thσ disassembly¼á anΣ yo⌡ caε revisσ thσ symbo∞ name≤ ì
- a≤ yo⌡ becomσ morσ surσ oµ ho≈ thing≤ work«á Oncσ you'vσ useΣ thi≤ methoΣ ì
- yo⌡á wil∞á rarel∙ wan⌠ t∩ g∩ bacδ t∩ usinτ ß pape≥á listing¼á eveεá thougΦ ì
- pape≥ i≤ s∩ hand∙ fo≥ drawinτ arrow≤ al∞ over«
- --------------------------------------------------------------------------
- .cp 25
- "Quick" family
-
- ^QR go to the start of the program and display
- ^QC go to thσ enΣ oµ thσáprogram and display
- ^QV go to address before previous ^F or ^A
- (the last ten addresses are remembered, so you can
- follow calls and jumps in the code and then "unwind"
- to where you were)
-
- ^QB find next control point and display from there
- ^QP find next symbol and display from there
- ^QT find next symbol or control point and display from there
-
- ^QF find the next occurence of a sequence of bytes and/or words
- ^QA as ^QF plus execute a string of commands when match found
- ^L repeat the previous ^QF or ^QA
- --------------------------------------------------------------------------
- .c≡ 25
- è STOP PRESS! ^QF ^QA improvements
-
- ^Q╞á improved«á Caεá no≈ typσ thing≤ likσ C─ 123┤ anΣ i⌠ doe≤ wha⌠á yo⌡ ì
- hopσ i⌠ wouldíá Iε othe≥ words¼á there'≤ aε arra∙ oµ teε bytes¼á anΣ eacΦ ì
- he° numbe≥ yo⌡ typσ i≤ pu⌠ int∩ thσ nex⌠ byte«á Iµ yo⌡ typσ morσ thaε tw∩ ì
- consecutivσá he° digit≤ theε thi≤ i≤ obviousl∙ ß word¼á anΣ s∩ it'≤á spli⌠ ì
- int∩á tw∩á byte≤ (iε thσ usua∞ wierΣ low/higΦ fashion⌐ anΣ storeΣá iεá thσ ì
- nex⌠á tw∩á byte≤ oµ thσ array«á Wheε yo⌡ typσá <return>¼á thσá searcΦá i≤ ì
- started¼á matchinτá a≤ man∙ byte≤ a≤ yo⌡ gave«á ╔ supposσ yo⌡ wan⌠á wild-ì
- cards¼ anΣ mask≤ even┐ It's on the wish list!
-
- ^Q╞ wil∞ als∩ takσ aε apostrophσ followeΣ b∙ printablσ char≤ a≤ ß speπá oµ ì
- wha⌠á t∩á searcΦ for«á Samσ limitatioε oµ ten«á N∩á apology«á Ho≈á man∙ ì
- programmer≤á d∩á yo⌡ kno≈ witΦ ß vocabular∙ widσ enougΦ t∩á usσá differen⌠ ì
- word≤á tha⌠ havσ morσ thaε teε letter≤ iε common┐á O≥á even..«á Ho≈á man∙ ì
- programmer≤ d∩ yo⌡ kno≈ tha⌠ caε spel∞ fo≥ teε consecutivσ letter≤ withou⌠ ì
- aε error?
-
- --------------------------------------------------------------------------
- .c≡ 25
- ^Q┴á i≤ ß sor⌠ oµ "macroó facility«á ^Q┴ ask≤ fo≥ wha⌠ t∩ finΣ (likσ ^QF⌐ ì
- (fo≥á example¼á C─ 1234⌐ bu⌠ theε ask≤ fo≥ ß "commanΣ stringóá t∩á executσ ì
- wheεá thσá sequencσá i≤ found«á Finall∙ i⌠ ask≤ fo≥ option≤á (likσá ^QF)« ì
- Option≤ includσ
-
- G global, i.e. keep on doing it
- I instructions, i.e. search only for matches with ^BI areas
- N no-verify, i.e. do it without demanding Y/N
- B backward search
- R restart, i.e. start search from 100 instead of the current
- line (or end of file, if B option also used)
-
- That's a rather terse description of ^QA, let's look at an example...
-
- --------------------------------------------------------------------------
- .c≡ 25
- Supposσá yo⌡á havσ ß prograφ witΦ frequen⌠ call≤ t∩á somσá routine¼á usinτ ì
- inlinσ parameters« Fo≥ example,
-
- CALL L6789
- DB ---
- DB ---
- normal code
-
- With one command you can go through the whole program
-
- ^QA
- Value(s) to search for? CD 6789<return>
- Command? 3BB2BI<return>
- Options? GN<return>
-
- Iµá yo⌡ havσ ß largσ program¼á thi≤ commanΣ ma∙ no⌠ bσ particularl∙á fast¼ ì
- bu⌠ i⌠ caε d∩ ß lo⌠ fo≥ yo⌡ (whilσ yo⌡ havσ ß cu≡ oµ coffee).
-
- Afterwards, ^QB helps you to browse through checking if you wish.
- --------------------------------------------------------------------------
- .c≡ 25
- è Moving forward or back by just a few bytes
-
- ┴ digi⌠ (DON'╘ pres≤ thσ <CTRL╛ ke∙ a⌠ thσ samσ time¼á somσ computer≤á ge⌠ ì
- upse⌠á a⌠ this⌐ cause≤ redispla∙ froφ thσ addres≤ oµ thσ curren⌠ linσ plu≤ ì
- thσ valuσ oµ thσ digi⌠ yo⌡ typed«
-
- Fo≥á example¼á movσá thσá curso≥ t∩ ß linσ (perhap≤ thσ firs⌠á linσá oµá ß ì
- routine⌐á anΣ typσ '0'«á Thσ addres≤ oµ thi≤ linσ (plu≤ ░ ╜á nothing⌐á i≤ ì
- useΣá a≤ thσ firs⌠ linσ oµ thσ screeε anΣ thσ wholσ screeε i≤ redisplayed« ì
- S∩ '0º slide≤ you≥ windo≈ dowε thσ codσ ß bi⌠ (dependinτ wherσ you≥ curso≥ ì
- is⌐á bu⌠á no⌠ a≤ mucΦ a≤ ^├ woulΣ (unles≤ you≥ curso≥ wa≤á oεá thσá bottoφ ì
- line¼ iε whicΦ casσ thσ resul⌠ woulΣ bσ identical).
-
- '1ºá i≤á usefu∞á iµá yo⌡ thinδ you'rσ lookinτá a⌠á instructions¼á bu⌠á thσ ì
- decodinτ i≤ "ou⌠ oµ sync".
-
- '-º followeΣ b∙ ß digi⌠ causes..« (oh¼ yo⌡ guessed!)
-
- Thesσ digi⌠ command≤ arσ particularl∙ usefu∞ wheε yo⌡ usσ ^QA.
- --------------------------------------------------------------------------
- .pa
- è TYPICAL USE
-
- Supposσá yo⌡ havσ ß filσ FRED.CO═ whicΦ yo⌡ wisΦá t∩á disassemble«á Firs⌠ ì
- type
- D┌ FRE─ (o≥ d· fred.com)
-
- Usσ ^B┴ t∩ builΣ thσ contro∞ table«á Optionally¼á browsσ thσ codσ a⌠ thi≤ ì
- stagσá anΣ amenΣ thσ contro∞ tablσ usinτ ^B° sequences«á Savσ wha⌠ you'vσ ì
- donσ s∩ fa≥ (^KS)«á Iµ you'rσ aε impatien⌠ browser¼á ^Q┬ wil∞ takσ yo⌡ t∩ ì
- thσ nex⌠ contro∞ point¼á s∩ yo⌡ caε checδ tha⌠ i⌠ look≤á right«á However¼ ì
- thi≤ ma∙ meaε yo⌡ mis≤ place≤ wherσ additiona∞ contro∞ point≤ arσ needed.
-
- Theε usσ ^P┴ t∩ builΣ thσ symbo∞ table«á Thi≤ take≤ quitσ ß time¼ anΣ ma∙ ì
- eveεá usσ morσ memor∙ thaε yo⌡ have¼á iε whicΦ casσ DazzleSta≥á bomb≤á ou⌠ ì
- witΦá ßá cryptiπ messagσ (erro≥ ╚ o≥ S⌐ anΣ it'≤ to∩ latσ t∩ recove≥á you≥ ì
- earlie≥ work« No≈ yo⌡ seσ wh∙ it'≤ ß gooΣ ideß t∩ usσ ^K╙ beforσ ^PA.
-
- ╔á makσ n∩ apolog∙ fo≥ thi≤ "bomb-outó potential¼á sincσ gettinτ rounΣá i⌠ ì
- woulΣ givσ yo⌡ les≤ workspace« It'≤ oε thσ wisΦ lis⌠ (but lo≈ priority).
- --------------------------------------------------------------------------
- .c≡ 25
- Dependinτ oε ho≈ gooΣ ß disassembl∙ yo⌡ need¼á it'≤ wortΦ takinτ somσ carσ ì
- t∩ ge⌠ thσ contro∞ tablσ fairl∙ accuratσ beforσ usinτ ^PA«á Iµ yo⌡ don't¼ ì
- theε datß tha⌠ i≤ disassembleΣ a≤ codσ wil∞ generatσ spuriou≤ symbols.
-
- Iµ therσ isn'⌠ enougΦ workspacσ t∩ usσ ^PA¼ don'⌠ worry« Thσ advantagσ oµ ì
- ^P┴á i≤ tha⌠ afterward≤ it'≤ eas∙ t∩ seσ sucΦ thing≤ a≤á destination≤á fo≥ ì
- jumps¼á start≤ oµ tables¼ location≤ tha⌠ arσ useΣ fo≥ storinτ word≤ rathe≥ ì
- thaεá bytes¼á a≤á yo⌡á browsσá thσ code«á Bu⌠ i⌠á i≤á stil∞á possiblσá t∩ ì
- disassemblσ withou⌠ usinτ ^PA.
-
- Whethe≥á o≥á no⌠ yo⌡ usσ ^PA¼á kee≡ aε eyσ oε thσ to≡ linσ oµ you≥á screeε ì
- froφá timσá t∩ timσ -- iµ freσ memor∙ get≤ belo≈ 100░ byte≤ yo⌡á ma∙á sooε ì
- havσá trouble¼á s∩ usσ ^K╙ t∩ savσ you≥ work«á DazzleSta≥ doe≤á no⌠á havσ ì
- garbage-collection¼á iεá othe≥á words¼á wheεá yo⌡ deletσá contro∞á points¼ ì
- comment≤ o≥ symbols¼á o≥ redefinσ them¼á spacσ i≤ wasted« So¼ iµ spacσ i≤ ì
- gettinτ low¼ tr∙ usinτ ^K╙ ^K╤ (o≥ ^KX¼ equivalen⌠ t∩ ^K╙ ^KQ)¼ reinvokinτ ì
- D┌ anΣ takinτ u≡ wherσ yo⌡ lef⌠ ofµ b∙ usinτ ^KR.
- --------------------------------------------------------------------------
- .c≡ 25
- èB∙ no≈ yo⌡ shoulΣ havσ ß disassembl∙ whicΦ correspond≤ linσ b∙ linσ fairl∙ ì
- wel∞á witΦá thσ origina∞ author'≤ source¼á bu⌠ i≤ horribl∙ opaquσ t∩á reaΣ ì
- becausσ i⌠ ha≤ n∩ comment≤ anΣ n∩ decen⌠ names.
-
- Star⌠á tryinτ t∩ understanΣ thosσ part≤ oµ thσ prograφ tha⌠ interes⌠á you« ì
- Everyonσá ha≤á thei≥ favoritσ methods¼á anΣ it'≤ bes⌠ t∩á bσá flexiblσá iε ì
- approach¼á varyinτá t∩á sui⌠á thσ stylσ oµ thσ program'≤ autho≥á anΣá you≥ ì
- reason≤á fo≥ disassemblinτ ß particula≥ program«á Iε casσ you'rσá ne≈á t∩ ì
- this¼á here'≤ somσ oµ m∙ owε methods¼á bu⌠ ge⌠ idea≤ froφ othe≥ peoplσ to∩ ì
- (anΣ thinδ abou⌠ thei≥ advantage≤ anΣ disadvantages)«
-
- Usuall∙á ╔á takσá ß quicδ browsσ froφá 0100¼á followinτá CALL≤á (^F)¼á anΣ ì
- returninτá t∩ thσ maiε linσ (^QV)«á ^╞ anΣ ^Q╓ worδ eveε fo≥ nesteΣ call≤ ì
- (u≡ t∩ ß ma° oµ teε levels).
- --------------------------------------------------------------------------
- .c≡ 25
- Mos⌠á program≤ displa∙ ß titlσ fairl∙ sooε afte≥ starting¼á iε whicΦá casσ ì
- you'l∞á sooεá finΣ somethinτ likσ ß CAL╠ L000╡ witΦ ß L─ C,N0╣ beforσá it« ì
- Iµ thi≤ i≤ withiε ß subroutinσ you'vσ probabl∙ founΣ ß widel∙ useΣá outpu⌠ ì
- routine« Labe∞ i⌠ witΦ ß suitablσ name¼ fo≥ example¼
-
- ^PLDispla∙ messagσ froφ D┼ <return>
-
- G∩ t∩ thσ star⌠ oµ thσ prograφ (^QR⌐ anΣ usσ ^Q╞ anΣ ^╠ t∩ finΣ reference≤ ì
- t∩á thσ addres≤ oµ tha⌠ displa∙ routine«á Probabl∙ jus⌠ beforσ eacΦá cal∞ ì
- you'l∞ finΣ ß L─ DE¼ pickinτ u≡ thσ addres≤ oµ thσ strinτ t∩ bσ displayed« ì
- Iµá so¼á follo≈ i⌠ (^F⌐ t∩ seσ wha⌠ i⌠ say≤ anΣ thu≤ ge⌠ ß cluσ abou⌠á thσ ì
- purposσá oµ thσ codσ yo⌡ jus⌠ camσ froφ (^QV)«á Inser⌠ ß commen⌠ iεá thi≤ ì
- code«á Better¼á givσá thσá star⌠ oµ thσ strinτ ß symbo∞ namσ s∩á yo⌡á seσ ì
- somethinτ like
-
- L─ DE,T738┬ msτ Disδ full
-
- nex⌠ timσ yo⌡ displa∙ thi≤ piecσ oµ code« Morσ important¼ you'l∞ als∩ seσ ì
- wheε anothe≥ piecσ oµ codσ use≤ thσ samσ string.
- --------------------------------------------------------------------------
- .c≡ 25
-
- Somσá program≤ havσ ß genera∞ routinσ t∩ cal∞ BDOS¼á anΣ thi≤á routinσá i≤ ì
- calleΣá b∙á thσá routinσ t∩ outpu⌠ ß string«á Ye⌠á othe≥á variation≤á arσ ì
- common¼á fo≥ example¼ CALL≤ followeΣ b∙ in-linσ parameters« Wheε yo⌡ finΣ ì
- sucΦ ß routine¼ usσ ^Q╞ t∩ finΣ ever∙ CAL╠ oµ tha⌠ routinσ anΣ adΣ contro∞ ì
- point≤á t∩á correc⌠á thσá disassembly«á ^Q┴ allow≤á yo⌡á t∩á repea⌠á thi≤ ì
- automatically.
-
- ┴á probleφ t∩ watcΦ for║á somσ program≤ havσ initialisatioε codσ whicΦá i≤ ì
- late≥á reuseΣá a≤á ßá buffe≥ o≥ something«á SucΦ dua∞á usagσá (whicΦá wa≤ ì
- probabl∙á donσ iε thσ origina∞ sourcσ tex⌠ b∙ reORGing⌐ i≤á difficul⌠á fo≥ ì
- an∙á disassemble≥ t∩ sor⌠ out¼á anΣ I'φ stil∞ wonderinτ ho≈ t∩á ge⌠á rounΣ ì
- thi≤ iε DazzleStar« Ideas?
- --------------------------------------------------------------------------
- .pa
- è Installatioε Notes
- ------------------
-
- Funn∙á thinτ abou⌠ installatioε direction≤ -- havσ yo⌡ noticeΣ ho≈ they'rσ ì
- thσá firs⌠á thinτá yo⌡ wan⌠ t∩ locate¼á ye⌠á they'rσá alway≤á tuckeΣá awa∙ ì
- somewherσ near thσ bacδ oµ thσ book?
-
- Sorr∙á iµá i⌠ tooδ yo⌡ ß whilσ t∩ finΣ thi≤ section¼á bu⌠ ╔á figureΣá tha⌠ ì
- afte≥ you'vσ installeΣ DZ¼ yo⌡ wouldn'⌠ wan⌠ thi≤ inf∩ a⌠ thσ star⌠ oµ thσ ì
- hel≡ file¼ anΣ havσ t∩ ski≡ pas⌠ i⌠ ever∙ time.
-
- First¼á thσ baΣ news« Iµ yo⌡ havσ onl∙ 48K┬ oµ memor∙ iε you≥ machinσ (o≥ ì
- less)¼á it'≤ unlikel∙ you'l∞ bσ ablσ t∩ ruε DazzleStar« However¼ thσ gooΣ ì
- new≤á i≤á tha⌠ you'rσ no⌠ limiteΣ t∩ disassemblinτ program≤ tha⌠ fi⌠á int∩ ì
- memor∙ TOGETHE╥ witΦ thσ disassembler«á Thi≤ freedoφ i≤ duσ t∩ thσ wa∙ iε ì
- whicΦ D┌ read≤ thσ prograφ t∩ bσ disassembled¼ usinτ ß paginτ techniquσ t∩ ì
- ensurσ tha⌠ mos⌠ oµ thσ accesse≤ d∩ no⌠ requirσ i⌠ t∩ re-reaΣ thσ disk.
-
- --------------------------------------------------------------------------
- .c≡ 25
- Thi≤ filσ i≤ calleΣ DZMSGS.OVR«á Wheε yo⌡ ruε DZ.CO═ (thσ DazzleSta≥ maiε ì
- program)¼á thi≤á "helpóá filσ DZMSGS.OV╥ shoulΣ bσ locateΣ oε thσá curren⌠ ì
- drive¼ otherwisσ you'l∞ ge⌠ ß messagσ t∩ reminΣ you.
-
- DZ.CO═á caε bσ renameΣ t∩ anythinτ yo⌡ prefer«á ╔ sugges⌠ yo⌡ retaiεá thσ ì
- conventioεá tha⌠ thσ namσ star⌠ witΦ DZ¼á becausσ thi≤ make≤ i⌠ simplσá t∩ ì
- cop∙á al∞á thσ file≤ withou⌠ forgettinτ onσ (fo≥á example¼á b∙á usinτá thσ ì
- commanΣ PI╨ x:=y:DZ*.*[V]¼ or¼ iµ yo⌡ prefe≥ SWEE╨ {anΣ wh∩ doesn't?}¼ al∞ ì
- thσá file≤ wil∞ bσ adjacen⌠ iε thσ displa∙ oµ thσ directory¼á makinτá theφ ì
- eas∙ t∩ tag)«á Ne≈ SWEE╨ eveε give≤ yo⌡ wildcarΣ taggingíá Iµ yo⌡ renamσ ì
- DZ.CO═ yo⌡ won'⌠ bσ ablσ t∩ usσ DZINSTAL.CO═ t∩ modif∙ it.
- --------------------------------------------------------------------------
- .c≡ 25
- Thi≤á filσ i≤ iε WordSta≥ "documentó format¼á anΣ thereforσ i≤ mos⌠ easil∙ ì
- printeΣ b∙ usinτ WordStar«á Iµ yo⌡ don'⌠ havσ WordStar¼ yo⌡ caε stil∞ ge⌠ ì
- ßá gooΣ listinτ b∙ usinτ ß printe≥ (o≥ CP/═ BIOS⌐ whicΦ ignore≤á thσá higΦ ì
- bi⌠á oµ characters«á Somσ printer≤ trea⌠ thσ higΦ bi⌠ a≤ ß signa∞ t∩á usσ ì
- italics¼á iεá whicΦ casσ yo⌡ caε ge⌠ ß tolerabl∙ readablσ printout¼á o≥á ß ì
- rathe≥á bette≥ onσ b∙ discoverinτ aε escapσ sequencσ whicΦ turn≤ ofµá thi≤ ì
- feature« Fo≥ aε Epsoε printer¼ tr∙
-
- PI╨ LST:=TTY:<return>
- <escape><hasΦ o≥ pound><ctrl-Z>
-
- However¼á somσ printer≤ trea⌠ thσ higΦ bi⌠ a≤ graphiπ characters¼á withou⌠ ì
- an∙ mean≤ oµ suppressinτ them¼ iε whicΦ casσ yo⌡ won'⌠ havσ mucΦ joy« Try
-
- PI╨ DZMSGS.TXT=DZMSGS.OVR[Z]<return>
-
- anΣ prin⌠ thσ ne≈ filσ DZMSGS.TX╘ tha⌠ PI╨ produces«á I'vσ no⌠ trieΣ thi≤ ì
- myself¼ bu⌠ I'φ tolΣ i⌠ works.
- --------------------------------------------------------------------------
- .c≡ 25
- è
-
- You should have the following files on your distribution disk :
-
- DZ.COM DZMENU.OVR DZMSGS.OVR DZINSTAL.COM DZ-DXERS.DOC
-
- Moreover¼ t∩ ruε correctly¼ thσ .OV╥ file≤ mus⌠ bσ oε thσ currentl∙ loggeΣ ì
- disδá (no⌠ essentia∞ wheε you'rσ s∩ familia≥ witΦ DazzleSta≥ tha⌠ yo⌡á caε ì
- worδ withou⌠ menu≤ anΣ help).
-
- --------------------------------------------------------------------------
- .c≡ 25
- Screeεá sizσá i≤ assumeΣ t∩ bσ no⌠ morσ thaε 2╡ row≤ oµ 8░ column≤ (8░á i≤ ì
- thσ onl∙ widtΦ supported)«á I⌠ i≤ expecteΣ tha⌠ mos⌠ screen≤ wil∞ havσ 2┤ ì
- rows¼á thougΦ perhap≤ 1╢ woulΣ bσ sufficien⌠ (thougΦ irritatingl∙ smal∞ iµ ì
- yo⌡á als∩ wan⌠ thσ menus)«á Aε Epsoε PX-╕ (onl∙ eigh⌠ rows⌐ caεá bσá useΣ ì
- successfull∙ bu⌠ n∩ men⌡ displa∙ i≤ possible.
-
- DZINSTAL.CO═ i≤ introduced«á Yo⌡ caε gues≤ wha⌠ i⌠ does¼ bu⌠ thi≤ versioε ì
- i≤á somewha⌠ limited«á I⌠ offer≤ ß men⌡ t∩ choosσ whicΦ machinσ yo⌡ have¼ ì
- anΣá theε modifie≤ DZ.CO═ appropriately«á Iµ you≥ machinσ i≤ no⌠á oεá thσ ì
- lis⌠á (ßá highl∙ likel∙ situation!⌐ theε yo⌡ neeΣ somσ othe≥á method«á T∩ ì
- makσá thi≤ easier¼á somσ oµ thσ earl∙ location≤ iε DZ.CO═ arσ useΣ iεá thσ ì
- samσ wa∙ a≤ WS.CO═ (WordSta≥ 3.3)«á Yo⌡ caε eithe≥ patcΦ D┌ "b∙ handóá o≥ ì
- usσ thσ WordSta≥ 3.│ installatioε program¼ iµ yo⌡ havσ it« Othe≥ version≤ ì
- oµá WordSta≥á wil∞ NO╘ worδ -- iε particula≥ versioε 3.░á definitel∙á use≤ ì
- differen⌠ locations¼ anΣ therσ i≤ n∩ poin⌠ iε yo⌡ tryinτ it«
- --------------------------------------------------------------------------
- .c≡ 25
-
- D┌á doesn'⌠á suppor⌠á man∙ oµ thσ feature≤ tha⌠ W