       Help with NoICE - Debugger for 8 Bit Microprocessors (v1.6.2)
                (copyright (c) 1992, 1993 by John Hartman)
 

1.  INTRODUCTION

 NoICE is a PC-hosted debugger for use with a variety of eight bit
 microprocessor targets.  It is intended to replace the hex monitor
 programs often used for such debugging, but is much more powerful.  The
 debugger consists of a target-specific DOS program, NOICExxx.EXE, and a
 target-resident monitor program.  The two programs communicate via RS-232,
 at user selectable baud rates from 300 to 57600.  Processors currently
 supported are the Z80/Z180, Z8, 8051, 6809, 68HC11, 65(c)02, and
 M50740/M38000.
 
 The PC-hosted approach has a number of advantages over a simple hex
 monitor:
 
 The target-resident monitor is simple and small:  less than 1024 bytes for
 most versions.  The simplicity of the monitor eases the process of porting
 to new hardware platforms.
 
 The PC has a more flexible display than the generic terminals used by most
 hex monitors.  NoICE maintains a number of windows containing register,
 disassembly, and other data.
 
 Because the size of code on the PC does not penalize the target, features
 may be added without penalty.  NoICE includes:
    
    -   Memory display and editing, including loading of Intel Hex and
        Motorola S1 record files.
    -   A disassembler.
    -   A file viewer for files of any size.  This allows the user to view
        assembly list files in conjunction with the disassembled code.
    -   A virtually unlimited number of breakpoints.
    -   Hardware-free single step using automatically inserted breakpoints.
    -   Definition of symbols, which may be used in expressions and by the
        disassembler.
    -   The ability to record and play back files of commands.
    -   On-line help
 
 NoICE uses keyboard commands which are generally similar to those of other
 hex monitor programs.  In addition, the function keys provide single-key
 invocation of a number of commands.  Command keywords are case
 insensitive.
 
 Function key commands are executed as a single keystroke.  Other commands
 must be terminated with a carriage return.  Until carriage return is
 pressed, the command may be edited.
 
 The NoICE screen displays for the Z80, 8051, and 68HC11 are shown below.  
 Other processors are similar.  The upper left hand portion of the screen 
 is called the "disassembly window", for obvious reasons.  The upper right 
 hand portion of the screen is the "register window".  The lower portion of 
 the screen is the "data window", which is used for output which does not 
 appear in either the disassembly or register window.  The bottom line of 
 the screen is a menu showing function key definitions, and the line above 
 it is the command entry line.
 

Z80
Ŀ
  RESET        F3        DI                                  A  56    0000 AF'
  0086         AF        XOR    A,A                          BC 0000  0000 BC'
  0087         01EE00    LD     BC,SCRP_REG                  DE 0000  0000 DE'
  008A         ED79      OUT    (C),A                        HL 1234  0000 HL'
  008C         3E1C      LD     A,1C                         IX 0000    00 I    
  008E         01EF00    LD     BC,SCDP_REG                  IY 0000     0 IFF
  0091         ED79      OUT    (C),A                        SP 1000            
  INIT         31800A    LD     SP,TASK_REGS                 PC 0085            
  0096         216103    LD     HL,INIOUT                    FL .Z.H..NC        
  0099         1616      LD     D,16                         PG  00             
  009B         0600      LD     B,00                                            
  rst10        4E        LD     C,(HL)                                          
  009E         23        INC    HL                           (RESET)          
ĳ
0000  04 EB 0D 1E B8 CD 2D 50 9A 09 72 59 25 83 C4 04       ......-P..rY%...   
0010  C4 5E FC 26 FF 77 06 26 FF 77 04 26 FF 77 02 26       .^.&.w.&.w.&.w.&   
0020  FF 37 1E B8 D0 2D 50 9A 09 72 59 25 83 C4 0C C4       .7...-P..rY%....   
0030  5E FC 26 8B 57 0C 26 8B 47 0A 89 D1 09 C1 89 56       ^.&.W.&.G......V   
0040  FE 89 46 FC 75 A1 1E B8 D8 2D 50 9A 09 72 59 25       ..F.u....-P..rY%   
0050  83 C4 04 C4 5E F8 26 8B 57 0A 26 8B 47 08 89 56       ....^.&.W.&.G..V   
0060  FA 89 46 F8 8B 46 FA 0B 46 F8 74 03 E9 46 FF 1E       ..F..F..F.t..F..   
0070  B8 DA 2D 50 9A 09 72 59 25 83 C4 04 8B E5 5D CB       ..-P..rY%.....].   
>                                                                              
F1=help F2=dump F3=unasm F4=view F5=go F6=break F7=step F8=next F10=quit       


8051
Ŀ
  207D         5B        ANL    A,R3                         A  00   B  00    
  207E         5C        ANL    A,R4                         R0 00   R1 00    
  207F         5D        ANL    A,R5                         R2 00   R3 00    
  2080         5E        ANL    A,R6                         R4 00   R5 00    
  2081         5F        ANL    A,R7                         R6 00   R7 00    
  2082         60FB      JZ     207F                                          
  2084         6100      AJMP   2300                         DPTR 0000        
  2086         6212      XRL    12,A                           PC 0000  IE 00 
  2088         631256    XRL    12,#56                         SP   00  RB  0 
  208B         6412      XRL    A,#12                         PSW ........    
  208D         6512      XRL    A,12                                          
  208F         66        XRL    A,@R0                                         
  2090         67        XRL    A,@R1                        (RESET)          
ĳ
                                                                               
0000  94 C4 7E E8 26 01 05 26 8B 1D 26 8B 55 02 B8 01       ..~.&..&..&.U...   
0010  00 50 1E B8 79 2C 50 52 53 9A 06 6F 59 25 83 C4       .P..y,PRS..oY%..   
0020  0A C4 5E DC 26 FF 0F C4 5E E8 26 FF 07 C4 5E 8C       ..^.&...^.&...^.   
0030  26 FF 77 02 26 FF 37 9A 60 6D 59 25 83 C4 04 89       &.w.&.7.`mY%....   
0040  46 96 FF 76 96 C4 5E 8C 26 FF 77 02 26 FF 37 C4       F..v..^.&.w.&.7.   
0050  5E E8 26 FF 77 02 26 FF 37 9A 06 6F 59 25 83 C4       ^.&.w.&.7..oY%..   
0060  0A 8B 46 96 C4 5E DC 26 29 07 8B 46 96 C4 5E E8       ..F..^.&)..F..^.   
0070  26 01 07 26 8B 37 26 8B 57 02 B8 0A 00 50 1E B8       &..&.7&.W....P..   
>                                                                              
F1=help F2=dump F3=unasm F4=view F5=go F6=break F7=step F8=next F10=quit       

                                                                                
68HC11
Ŀ
  1177         DB34      ADDB   34                           A  00            
  1179         DC34      LDD    34                           B  00            
  117B         DD34      STD    34                           X  0000          
  117D         DE34      LDX    34                           Y  0000          
  117F         DF34      STX    34                           SP 0000          
  1181         E012      SUBB   12,X                         PC 0000          
  1183         E112      CMPB   12,X                         CC ........      
  1185         E212      SBCB   12,X                                          
  1187         E312      ADDD   12,X                                          
  1189         E412      ANDB   12,X                                          
  118B         E512      BITB   12,X                                          
  118D         E612      LDAB   12,X                                          
  118F         E712      STAB   12,X                         (RESET)          
ĳ
                                                                               
0000  04 EB 0D 1E B8 CD 2D 50 9A 09 72 59 25 83 C4 04       ......-P..rY%...   
0010  C4 5E FC 26 FF 77 06 26 FF 77 04 26 FF 77 02 26       .^.&.w.&.w.&.w.&   
0020  FF 37 1E B8 D0 2D 50 9A 09 72 59 25 83 C4 0C C4       .7...-P..rY%....   
0030  5E FC 26 8B 57 0C 26 8B 47 0A 89 D1 09 C1 89 56       ^.&.W.&.G......V   
0040  FE 89 46 FC 75 A1 1E B8 D8 2D 50 9A 09 72 59 25       ..F.u....-P..rY%   
0050  83 C4 04 C4 5E F8 26 8B 57 0A 26 8B 47 08 89 56       ....^.&.W.&.G..V   
0060  FA 89 46 F8 8B 46 FA 0B 46 F8 74 03 E9 46 FF 1E       ..F..F..F.t..F..   
0070  B8 DA 2D 50 9A 09 72 59 25 83 C4 04 8B E5 5D CB       ..-P..rY%.....].   
>                                                                              
F1=help F2=dump F3=unasm F4=view F5=go F6=break F7=step F8=next F10=quit       



2.  INVOKING NOICE

 NoICE assumes an 80286 or higher processor running DOS 3.3 or later.  Most
 testing was done on a color VGA display, but EGA, CGA, or Monochrome
 should work as well.  NoICE has been successfully run in a DOS window
 under Microsoft Windows (tm).
 
 NoICE is invoked via the command line
 
        NOICExx COMn=baud LINES=mm @cmdfile
 
 where all parameters are optional and order independent.
 
 "COMn" specifies the PC serial port to be used, and may be either COM0,
 COM1, COM2, COM3 or COM4.  "baud" specifies the baud rate, which may be
 any value between 300 and 57600 baud.  Note that the baud rate must match
 that used by the target monitor.  The default if the first parameter is
 omitted is COM1=19200.
 
 "COM0" at any baud rate causes NoICE to simulate the target without any
 communications.  Currently, the simulation is very simple, supporting only
 reading and writing of memory, but not program execution.
 
 The optional parameter "LINES=mm" specifies the number of lines to be used
 for the display.  Legal values for "mm" are 25, 43, or 50.  The default if
 this parameter is omitted is LINES=25.
 
 The optional parameter "SHOW=1" tells NoICE to display in hex all message
 bytes sent to and received from the target.  This is useful when debugging
 a new target monitor.
 
 The optional parameter "COLOR=mamhrgcm" sets the colors of NoICE displays
 according to a string of eight hex digits.  "ma" sets the color of the
 disassembly and data windows.  "mh" sets the color of highlighted text.
 "rg" sets the color of the register window.  "cm" sets the color of the
 command line.  Each two digit hex value is of the form
 
        (blink, 3 bit background, bright, 3 bit foreground)
 
 Color choices are the standard IBM set
        0       black
        1       blue
        2       green
        3       cyan
        4       red
        5       magenta
        6       brown
        7       white
 
 If the COLOR option is omitted, the default colors are yellow (bright
 brown) on blue for text, with the command line and highlights in black on
 cyan.  This is equivalent to "COLOR=1E301E30".  Monochrome mode may be set
 as "COLOR=70077007.
 
 The final optional parameter specifies a file of NoICE commands to be
 executed after NoICE initializes.  For example, these might be used to
 load the file being debugged, and perhaps to set the address windows or
 insert breakpoints.


3.  COMMAND SUMMARY

 This section lists the commands in alphabetical order.  For more details
 on the operation and parameter format of each command, refer to the NoICE
 Help Document, NOICE.HLP.
 
 in each command:
 -      curly brackets {} denote optional parameters.
 -      "addr" denotes an address or address expression
 -      "size" denotes a size or size expression
 -      "value" denotes a numeric expression
 
 @file          	Execute commands from "file"
 B              	Abbreviation of BREAK
 BREAK {addr}   	Insert, delete, or display breakpoints
 CHECK addr size        Compute byte checksum on region
 CLEARSYMBOLS   	Delete all symbols
 COPY addr1 size addr2  Copy memory from addr1 to addr2
 D              	Abbreviation of DUMP
 DEF            	Abbreviation of DEFINE
 DEFBASE name value     Define base symbol "name"
 DEFB           	Abbreviation of DEFBASE
 DEFINE name value      Define symbol "name"
 DELAY time     	Set command delay for command files
 DIR {filespec} 	Show file directory in data window
 DOS {command}  	Issue DOS command
 DUMP {addr} {size}     Dump block of memory at addr in hex
 ECHO {text string}     Echo "text string" to Data Window
 G              	Abbreviation of GO
 GO {addr}              Begin execution at addr or at PC
 H              	Abbreviation of HELP
 HELP           	Show help display
 I              	Abbreviation of IN
 IN addr                Read byte from port
 INIT addr size value   Initialize memory block at addr to value
 L              	Abbreviation of LOAD
 LOAD file {load offset}        Load Intel or Motorola hex file
 M              	Abbreviation of MEM
 MEM {addr} {val}       Examine/change memory
 N              	Abbreviation of NEXT
 NEXT           	Step over subroutine
 O              	Abbreviation of OUT
 OUT addr val   	Write byte to port
 PLAY file              Execute commands from "file"
 Q              	Abbreviation of QUIT
 QUIT           	Exit to DOS
 RECORD file    	Record commands to file
 R              	Abbreviation of REG
 REG {reg val}  	Change register
 S              	Abbreviation of STEP
 SET name value 	Same as DEFINE
 STEP           	Step into subroutines
 SHOW val               Control hex display of communications
 STOP           	Stop recording commands to file
 SYM            	Abbreviation of SYMBOL
 SYMBOL expr    	Show symbol with value "expr"
 U              	Abbreviation of UNASM
 UNASM {addr}   	Disassemble beginning at addr
 V              	Abbreviation of VIEW
 VAL            	Abbreviation of VALUE
 VALUE expr     	Show value of "expr"
 VER            	Show host and target software versions
 VIEW {file}            View file
 W              	Abbreviation of WATCH
 WATCH addr {len} {f}   Watch data at "addr"
 
 F1             	Help
 F2             	Dump next block
 F3             	Disassemble next block
 F4             	View file
 F5             	Go
 F6             	List Breakpoints
 F7             	Step
 F8             	Step Over
 F9             	Show Version
 F10            	Quit


4.  BUGS, FEATURES, ORDERING INFORMATION

 If you use NoICE, but have not yet registered this copy, please do so now.
 The cost is $25 (US) for the first processor, and $5 (US) for each
 additional processor ordered at the same time.  Please add $5 (US) for
 shipping outside the United States or Canada.  Send your check to:
 
        John Hartman
        1030 14th Avenue Southeast
        Minneapolis, MN 55414
 
 Software will be shipped on a 720K 3.5 inch floppy unless your order
 specifies 1.2M 5.25 inch floppy.  Be sure to specify the desired target
 processor(s).
 
 The distribution package includes
    -   NoICExxx PC-host program and on-line help
    -   Printed User's Guide
    -   Target assembly language source code for MONxxx target monitor
    -   Executables and C source code for all symbol processing utilities
        described in section 12.
 
 If you find a bug, or would like to suggest an enhancement, please contact
 me at the above address.
