Calling SID
SID commands
Some command examples
SID utility files
:Calling the program

  Syntax:

       SID {pgm-filespec} {,sym-filespec}

  Explanation:

  The SID symbolic debugger  allows  you  to   monitor   and   test
  programs  developed  for  the  8080 microprocessor.  SID supports
  real-time  breakpoints,  fully  monitored   execution,   symbolic
  disassembly,  assembly,  and  memory  display and fill functions.
  SID  can  dynamically  load  SID  utility  programs  to   provide
  traceback and histogram facilities.

: Commands:

        Command              Meaning

     As              (Assemble)    Enter assembly language
                                   statements
                                   s is the start address

     Cs{b{,d}}       (Call)        Call to memory location from SID
                                   s is the called address
                                   b is the value of the BC register
                                   pair d is the value of the DE
                                   register pair

     D{W}{s}{,f}     (Display)     Display memory in hex and ASCII
                                   W is a 16-bit word format
                                   s is the start address
                                   f is the finish address

        Command              Meaning

     Epgm-filespec   (Load)        Load program and symbol table
      {,sym-filespec}              for execution



     E*sym-filespec  (Load)        Load a symbol table file

     Fs,f,d          (Fill)        Fill memory with constant value
                                   s is the start address
                                   f is the finish address
                                   d is an eight-bit data item

     G{p}{,a{,b}}     (Go)         Begin Execution
                                   p is a start address
                                   a is a temporary breakpoint

        Command              Meaning

     H                (Hex)        Displays all symbols with
                                   addresses in Hex
     H.a                           Displays hex, decimal, and ASCII
                                   values of a where
                                   a is a symbolic expression

     Ha,b                          Computes hex sum and difference
                                   of a and b where
                                   a and b are symbolic expressions

     Icommand tail   (Input)       Input CCP command line

     L{s}{,f}        (List)        List 8080 mnemonic instructions
                                   s is the start address
                                   f is the finish address

        Command              Meaning

     Ms,h,d          (Move)        Move Memory Block
                                   s is the start address
                                   h is the high address of the block
                                   d is the destination start address

     P{p{,c}}        (Pass)        Pass point set, reset, and display
                                   p is a permanent breakpoint address
                                   c is initial value of pass counter

     Rfilespec{,d}   (Read)        Read Code/Symbols
                                   d is an offset to each address

     S{W}s           (Set)         Set Memory Values
                                   s is address where value is sent
                                   W is 16 bit word

        Command              Meaning

     T{n{,c}}        (Trace)       Trace Program Execution
                                   n is the number of program steps
                                   c is the utility entry address.

     T{W}{n{,c}}     (Trace)       Trace Without Call
                                   W instructs SID not to trace
                                   subroutines
                                   n is the number of program steps
                                   c is the utility entry address

     U{W}{n{,c}}     (Untrace)     Monitor Execution without Trace
                                   n is the number of program steps
                                   c is the utility entry address
                                   W instructs SID not to trace
                                   subroutines

        Command              Meaning

     V                (Value)      Display the value of the next
                                   available location in memory
                                   (NEXT), the next location after
                                   the largest file read in (MSZE),
                                   the current value of the Program
                                   counter (PC), and the address of
                                   the end of available memory (END)

     Wfilespec,s,f  (Write)        Write the contents of a contiguous
                                   block of memory to filespec.
                                   f is finish address

     X{f}{r}        (Examine)      Examine/alter CPU state.
                                   f is flag bit C,Z,M,E or I.
                                   r is register A,B,D,H,S or P.

: Examples:

  A>SID

       CP/M loads SID from drive A into memory.  SID displays the
       # prompt when it is ready to accept commands.

  A>B:SID SAMPLE.HEX

       CP/M loads SID and the program file SAMPLE.HEX into memory
       from drive B.

: SID Utilities:

  SID utilities, HIST.UTL and TRACE.UTL are special  programs  that
  operate with SID to provide additional debugging facilities.  The
  mechanisms for system  initialization,   data   collection,   and
  data  display  are  described  in the CP/M SID User's Guide.

  The HIST utility creates a histogram  (bar  graph)   showing  the
  relative   frequency   of   execution   of   code within selected
  program segments of the test program.  The  HIST  utility  allows
  you   to  monitor  those  sections  of  code  that  execute  most
  frequently.

  The TRACE utility obtains a backtrace of  the  instructions  that
  led  to  a particular breakpoint address in a program under test.
  You can collect  the  addresses  of  up   to   256   instructions
  between pass points in U or T modes.
