%OP%BON %OP%WRN %OP%PL66 %OP%TM2 %OP%BM2 %OP%LM5 %OP%HE\%H2%Z88 Users' Club Software Library%H2%\ %OP%FO\\- @P@ -\\ %OP%DE\\Z80 DISASEMBLER (Z80DIS V2.1) MANUAL\\ %CO:A,72,70%%C%%H1%%H2%Z80 DISASSEMBLER V2.1 The Z80DIS V2.1 can disassemble any code into Z80 mnemonics at any memory location and with any bank arrangement. It will also display, at option, Z88 operating system codes which follow a "RST 18H" or a "RST 20H" instruction - these codes are listed in the "Z88 Software Developers Notes" (published by Cambridge Computer Ltd). Disassembly can be directed to the screen or a device. Z80DIS V2.1 is in two parts - the BASIC driving program and the machine code routine. The machine code is located at &37C9 so that Z80DIS V2.1 may be used on both the expanded and unexpanded machine (i.e. less than 128K RAM in slot 1). The machine code is stored in the file "Z128C". If this file's name is to be changed then line 110 of the BASIC program must be altered so that it uses the new file name to load it up. On loading and running the BASIC program the user will be presented with the main menu. Pressing the appropriate key will give the user access to the commands which are examined in detail below. %H2%A. DISASSEMBLE TO SCREEN This command disassembles code to the screen, as prescribed by the parameters given in the right-hand window. Z80DIS V2.1 will scroll the disassembley on to the screen using a split screen arrangement so that 24 lines can be displayed at once. The disassembley may be paused at any moment by pressing the left hand SHIFT and <> keys together. %H2%B. DISASSEMBLE TO A DEVICE Code is disassembled, as above, but to a device. By default the device is ":PRT.0", which is to a printer, controlled by the parameters set by PrinterEd. Other devices may be used and a list is given below: :RAM.0, :RAM.1, :RAM.2, :RAM.3, :RAM.-, :NUL.0, :COM.0 Refer to the "Z88 USER GUIDE" for more details. Sending the disassembly to a file in RAM will allow PIPEDREAM to load it up, as plain text, so that it may be edited. %H2%C. CONTINUE DISASSEMBLY TO SCREEN If disassembly was aborted then it can be continued to the screen by selecting this command, regardless of whether disassembly was to the screen or a device. %P0% The user has the option of continuing the disassembly from the aborted address, by pressing "ENTER", or providing Z80DIS V2.1 with a new address to continue from. The latter will not affect the START address parameter (see later) and is therefore useful if the user wishes to branch away from the main disassembly, to disassemble another piece of code in the memory, and then later revert back to the original disassembly by using command "A) Disassemble to the SCREEN", described above. In each of the above cases the "ESC" key will abort the disassembly and return Z80DIS V2.1 to the main menu. %H2%D. EXIT TO BASIC This simply stops the program and returns the control of the Z88 to BBC BASIC(Z80). The disassembler parameters determine the way in which Z80DIS V2.1 performs the disassembly and may be altered as follows. %H2%0 - 3. ALTER MEMORY BANK ARRANGEMENT On running, the current bank arrangement is used as default for the initial memory bank arrangement. Other pages of memory can be selected for each bank by pressing "0" - "3". The memory will be set up by Z80DIS V2.1 using this specified arrangement, which would be the memory banks the Z80 microprocessor would use if it were to read from a memory location. Bank pages are of 16K in size and a summary follows of the meaning of each page value give to Z80DIS V2.1. For more information of how the memory works either read the "Z88 Software Developers Notes" or the article by Mark Stevenson on page 2.5.20 of "Z88 Eprom" (Sept-Oct 1988 edition). %H1%PAGE VALUE%H1% %H1%MEANING%H1% &00-&1F Z88's internal ROM (only pages &00-&07 are used by the Z88). &20-&3F Z88's internal RAM (only pages &20-&21 are used by the Z88). &40-&7F Memory pages of the card in Slot 1 (under the keyboard). &80-&BF Memory pages of the card in Slot 2. &C0-&FF Memory pages of the card in Slot 3. %H2%4. TOGGLE Z88 OPERATING SYSTEM CODES OPTION Toggling the status of the option will decide whether Z80DIS V2.1 will use the "DEFB" directive to display Z88 operating system codes which are used by the Z88 to invoke special operating system routines when it executes a "RST &18" or a "RST &20" instruction. These codes are listed in the "Z88 Software Developers Notes". %H2%5. ALTER DISASSEMBLY START ADDRESS This simply allows a location in logical memory, from which Z80DIS V2.1 disassembles from, to be entered. %H2%6. ALTER DISASSEMBLY END ADDRESS This allows a location in logical memory, at which the disassembler stops disassembling when reached, to be entered. Note that all input is expected to be in hexadecimal. If, however, should values need to be given in decimal then the ampersand ("&") can be deleted from the input line to allow this. Z80DIS V2.1 is for free distribution among members of the Z88 Users' Club and is not to be sold for profit making purposes without the prior written consent of the author. Keith R Rickard 7.10.1990. 85 Havelock Road Dartford Kent DA1 3HZ.