Compucolor.org – Virtual Media

Listing of file='IDAINS.TXT;01' on disk='vmedia/ida_v2.6-sector.ccvf'

                          IDA V2.2

             (INTERPRETER-DISASSEMBLER-ASSEMBLER)



DESCRIPTION

        IDA is a combination of Interpreter, Disassembler,
Assembler, debugger, editor, monitor and calculator designed
for all CCII programmers.  Beginning assembly language
programmers will find IDA to be a very friendly teacher while
advanced programmers will appreciate the ease and speed of
debugging and program modifying.  BASIC programmers will also
find many applications for IDA.


        IDA is supplied assembled with START addresses of
4000H, 8200H, A000H and E000H, runs in 8K of memory with V6.78
and V8.79 software, and may be re-entered via ESC USER.



COMMANDS

   A - ASCII dump                P - Peek/Poke

   B - Set Baud rate             Q - Quit, exit to FCS

   C - Set Checkpoints           R - Unused, jumps to START

   D - Disassemble               SS - Simple Search

   E - List Editor(SRC) files    SD - Search and Disassemble

   F - Fill memory               SP - Search and Peek/poke

   G - Goto memory, run program  SR - Search and Replace

   H - Hex dump                  T - Type to printer

   I - Interpret, display regs.  U - Data byte parameters

   J - Jump table parameters     V - Display directory

   K - Compare memory            W - Write a message

   L - Lineprint                 X - eXecute FCS commands

   M - Move memory               Y - Unused, jumps to START

   N - Numeric(Decimal) dump     Z - Lines/page & blanks

   O - Origin for assembler      @ - Toggles lowercase flag



COMMAND FORMATS

        Most commands are single characters followed by one or
more parameters separated by spaces.  Parameters may be entered
in hexadecimal (default), decimal (%ddddd), or 'M', an address
marked in BREAK MODE.  A space between the command and first
parameter results in an automatic break following 30 lines of
output.  See BREAK OPTIONS on page 2.  In lieu of an end
address the number of output lines may be specified as nn+, an
automatic break will follow nn output lines.  No end address or
nn+ option results in FFFFH as end address.  No end address and
no space in disassemble command defaults to 1 opcode
disassembled.  ASCII input is allowed where indicated under
specific commands.



ERROR MESSAGES

        ESYN     - Syntax error

        EIVC     - Invalid command

        EIVP     - Invalid parameter


INPUT EDITOR  -  Input  is  one line of 59 (max.) characters

                 with standard Insert/Delete editing.

                 Special function keys are:


   RIGHT and LEFT ARROWS - Move cursor. Typematic.

   DELETE CHAR   - Deletes character before cursor. Typematic.

   INSERT CHAR   - Accepts next key in input line.

   INSERT LINE   - Aborts input and recalls previous command.

   ERASE  LINE   - Aborts input, clears line.

   ERASE  PAGE   - Aborts input, clears screen.

   UP ARROW      - Aborts input, goes to BREAK mode.

   HOME          - Aborts input, continues 'D' or 'E' output.

   SHIFT RIGHT ARROW  - Moves cursor to end of line.

   SHIFT LEFT ARROW   - Moves cursor to beginning of line.

   RETURN - Executes command line.

   CMD PRINT - Active at all times, Dumps screen(top to cursor)

               to printer.

   All other keys are accepted in input line directly.



BREAK OPTIONS   -   After a manual or  automatic break the

                    following keys are functional (all other 

                    keys resume output):


   CMD CRT     - Enters simulated CRT MODE for screen editing.

   ESC exits to IDA. CMD PRINT dumps screen to printer.

   HOME        - Repeats previous page(nn+), two pages maximum.

   INSERT LINE - Restarts output from original start address.

   SPACE BAR   - Scrolls at reduced rate. Release to stop.

   DOWN ARROW  - Returns to IDA.


   UP ARROW    - Moves cursor to an address for options:-

        P  - PEEK/POKE address

        O  - Set Origin for Assembler at address

        I  - Interpret from address

        G  - Run program from address

        C  - Set or clear a Checkpoint at address

        M  - Marks an address for reference or printing

        L  - Starts printout or cancels 'M' address

        BREAK returns to Break Options (above).

        DOWN ARROW after an UP ARROW also moves the cursor.

        ESC returns to IDA.


   All other keys resume output.



COMMAND FUNCTIONS


  Assss eeee - ASCII dump.  COLOR CODE (applies to all ASCII
outputs): 0-31 RED uppercase letters,  32-127 CYAN ASCII
characters,  128-159 MAGENTA uppercase letters and 160-255
YELLOW ASCII characters.


  Bn(2) - Sets Baud rate, n = 1 to 7.  Optional (2) = two stop

          bits.

  C  - Displays 8 available Checkpoints and enters edit mode.


  Checkpoints are set by entering the desired address in hex.
The byte at the checkpoint will be displayed following the the
address.  The first checkpoint may be set in ROM for the
interpreter.


  Checkpoint control keys:

        RIGHT ARROW - Moves cursor. Typematic.

        GREEN   (CTL R) - Clears checkpoint.

        RED (CTL Q) - Clears all checkpoints from cursor to end

        MAGENTA (CTL U) - Goto Interpret mode. Same as 'I'.

        RETURN - Exits to IDA.


  Dssss eeee  -  Disassembles memory range.   Display
includes address, opcode, mnemonic, ASCII equivalent of opcode
and decimal value of two byte opcode operands. CCII label names
(see pages 7-8 & 'J') are displayed for V6.78 and V8.79 ROM
utilities and FCS RAM locations. Checkpoints blink red address
digit, marked addresses blink blue.  Data bytes will be 
displayed as such if identified by 'U' command.


  Essss eeee - Lists Editor (ASCII-SRC) files in memory
range.  The address of the beginning of each line is listed in
visual mode only.  Marked addresses blink blue.  Line addresses
are not output when printing.


  Fssss eeee bb - Fills memory range with hex byte bb.
ASCII character, :a, is accepted for fill byte, as is decimal
byte, %ddd.



  G(aaaa) - GOTO, runs program from PC address with
registers loaded as displayed by the 'I' command.  If optional
start address, aaaa, is entered, program will start at aaaa
with registers cleared.  If a checkpoint (RST 1) is encountered
in either case, the registers, flags, and top four stack values
will be displayed.  CKPT, in green will be displayed above the
PC register if a valid checkpoint is encountered and the
checkpoint will be cleared.


  Hssss eeee - Hex dump.


  I(aaaa) (cccc) - Interpret mode.  Displays pseudoregisters
and enters edit mode.  New values may be entered in hex for any
register or flag.  If optional start address aaaa is entered
interpretation begins immediately.cccc is an optional
checkpoint which will replace the first checkpoint, if
already set.  cccc may be in ROM. The BREAK key halts the
interpreter. After a break, 'R' displays the registers or DOWN
ARROW returns to IDA.


  Interpret control keys:


        RIGHT ARROW     - Moves cursor. Typematic.

        BLUE    (CTL T) - Interpret 1 instruction.

        BLACK   (CTL P) - Interpret 16 instructions.

        RED     (CTL Q) - Interpret program.

        GREEN   (CTL R) - Run program. Same as 'G'.

        MAGENTA (CTL U) - Display checkpoints. Same as 'C'.

        RETURN          - Exit to IDA.


  Jjbeg jend  - Jump table parameters.

        For programs with 6.78/8.79 overlay jump tables.  jbeg
is the address of the first jump vector in the active jump
table.  jend is the address of the last jump vector.  Sets
JFLAG which causes 'D' to display label names of ROM utilities
referenced in a jump table, and 'O' to assemble jump vector
address for label in lieu of ROM address.  'J' alone toggles
JFLAG.


  Kssss eeee dddd - Compare memory range with range at dddd.
Lists both addresses where a difference is found and bytes at
addresses.


  L - Lineprint. L preceeding any other command sends output of
command to the RS232C port and screen.  Returns to IDA in 
visual.


  LF - Sends ASCII FF(0CH) to printer and resets line count to
top of page.


  Mssss eeee dddd - Moves memory range to destination dddd.
dddd may be between ssss and eeee.


  Oaaaa - Origin for assembler.  Disassembles byte at aaaa and
responds with ASM>  prompt.  Enter INTEL 8080 assembly language
source code separated by spaces.  CCII ROM or RAM labels (up to
5 characters, see pages 7-8 & 'J') may be used. Hexadecimal
input is default (leading zero required before letters,
trailing 'H' is optional).  ASCII data in single quotes and
%ddddd are acceptable.  Editing is same as for command input.



   Example:


  ASM>LXI H,KBCHA MOV A,M CPI 'A' CZ LO JMP $-9 DB 'CCII',0D,
0A,%239


   Recognizes ORG, DW, DB, $, $+, and $-.  DS hh can be
simulated with ORG $+hh.  RETURN terminates input and activates
the assembler.  Following assembly the code entered will be
disassembled plus one byte.  The last byte disassembled is the
new origin followed by the ASM> prompt.  More code may be
entered or RETURN exits to IDA.  A flashing red A in the prompt
indicates an improper label name such as LDA KBDCH or a missing
leading zero in a hex entry such as STA B200.  In either case
0000 is substituted for the address and assembly continues.  If
an improper mnemonic, register or other syntax error is
encountered a red ESYN appears, assembly halts and returns to
ASM> with the origin at the point of the error.


  Paaaa - PEEK, option to POKE.  Displays 16 bytes from aaaa in
ASCII and hex, then enters edit (POKE) mode. To POKE enter a
hex byte, or INSERT CHAR followed by any key.  The cursor right
key moves to the next higher byte.  The cursor left key moves
to the next lower byte.  The cursor up key displays the
previous 16 bytes.  The cursor down key displays the next 16
bytes from cursor.  Typematic action  on all cursor keys.  HOME
rePEEKs aaaa.   RETURN exits to IDA.


  Q - Quit, exits to FCS.


  R & Y - UNUSED COMMANDS - User may wish to POKE an address in
the Command Branch Table to jump to the cold and/or warm start
address of the program being worked.  Also, 12 bytes are
available to the user at START+1FF4H.'R' or 'Y' could be used
to jump there.


  SSssss eeee (;)(bb bb bb)(:aaaaa),etc. - Simple Search.
Searches memory range for search bytes and displays address and
hex bytes for all occurrences.  An ASCII string preceeded by a
colon is acceptable as the search parameter.  A semi-colon(;)
alone calls ASM> for entry of mnemonics, including ROM & RAM
labels (Page 7-8), as search parameters. Entry of a space after
the command (SS ssss,etc.) causes the hex byte 'DC' to be
interpreted as a 'Don't Care' or automatic match byte.


  SPssss eeee bb bb,etc.  -   Search and PEEK.  Enters PEEK
mode with option to POKE at each occurrence of search bytes,
string or mnemonics.  RETURN continues search for next
occurrence.


  SDssss eeee bb bb, etc. - Search and Disassemble.



  SRssss eeee bb bb, etc. - Search and Replace.  When prompted
by RPL>, enter the same number and type of bytes as in the
search parameter, i.e., hex bytes, ASCII string or mnemonics.
ASM> and RPL> share the same buffer, so INSERT LINE on RPL>
will recall search mnemonics for editing as replacement
mnemonics.  Editing is same as for command input.
USE THIS COMMAND WITH CAUTION !!


  T - Type to printer.  Sends any key to printer except YELLOW
(CTL S) which returns to IDA.  Screen displays hex value of
non-printing characters and ESC for (ESC) key.  All other keys
are displayed in normal fashion.


  U(A,B or W)ssss eeee nn - Display data bytes in range. A =
ASCII data, B = data BYTES, and W = data WORDS.  nn = number of
bytes per line or ASCII terminator(0 or 0EFH).  If nn = 1 for
BYTES or WORDS, output will be in Hex, Decimal, and Binary. U
alone resets UFLAG.  UA, UW, or UB sets UFLAG and lists
previously identified bytes.  US nn sets UFLAG with new nn.


  V(1) - Displays directory on default device with BYTE COUNT
of each file and <FREE SPACE> displayed in HEX and DEC,
optional (1) or (0) displays directory on device specified.


  W - Write a message for the printer. Sends following input on
the command line to printer only.  Use for short messages,
notes or control codes.


  X - eXecutes all FCS commands with return to IDA.  Examples,
XDIR, XLOAD NAME.TYP;VER, XSAVE NAME.TYP SSSS-EEEE, XREAD BB
DDDD NNNN, etc.


  Znn b - Sets lines/page(nn) and blanks(b) for printer.
Default values are 56 & 10.  'Z' alone resets line count for
top of page.


  @ - Toggles lowercase flag to accept lowercase commands.
When set all input letters are converted to uppercase.  Must be
reset to Search for lowercase ASCII and for lowercase 'W'
input.  Default status is reset.


KEYBOARD EQUIVALENTS


   CCII STANDARD CCII EXTENDED & DELUXE    COMP-U-WRITER


   SHIFT     CRT DELETE CHAR   DELETE CHAR

   CONTROL   C INSERT LINE     UNDEL

   CONTROL   E INSERT CHAR     DELETE WORD

   CONTROL   P BLACK           BLACK

   CONTROL   Q RED             RED

   CONTROL   R GREEN           GREEN

   CONTROL   S, YELLOW         YELLOW

   CONTROL   T BLUE            BLUE

   CONTROL   U MAGENTA         MAGENTA

   CTL/SHIFT V COMMAND PRINT(CYAN)   COMMAND PRINT(CYAN)

   CTL/SHIFT CRT COMMAND CRT     COMMAND CRT



CALCULATOR OPERATION


        The calculator performs standard math and logical
operations on intergers from 0 to FFFF, %65535.  One level of
open parenthesis is allowed.  Input is in standard mathmatical
notation from left to right, terminated by =.  Calculations
proceed from left to right with no precedence of operators.
Answers are displayed in hex, decimal and binary.  Entry of a
single value results in base conversion.


CALCULATOR OPERATORS


        +     =     Plus

        -     =     Minus

        *     =     Multiply

        /     =     Divide

        M     =     MOD

        N     =     AND

        O     =     OR

        X     =     XOR




Bill Greene

3601 Noble Creek Drive, N.W.

Atlanta, GA  30327

(404)352-0921