home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-01-15 | 159.9 KB | 4,788 lines |
- # (c)Copyright MetaLink Corporation 1989,1990,1991
- # Model File for 8052
- A0 "iceMASTER - 8052";
- A21 "MetaLink Corporation" "Chandler, Arizona";
- A16 "iceMASTER";
- A17 "MetaLink";
- A18 "(800)METAICE {(800)638-2423}";
- A45 "iceMASTER (8051 Family)" "iceMASTER (68HC11 Family)" "iceMASTER (COP800 Family)";
- # (c)Copyright MetaLink Corporation 1989, 1990, 1991
- A1 1 0 0 0 ;
- A2 4 "8052";
- A3 0 1 0xE0 0 0 "ACC" ;
- A3 0 1 0xF0 0 0 "B" ;
- A3 0 1 0x83 0 0 "DPH" ;
- A3 0 1 0x82 0 0 "DPL" ;
- A3 0 1 0xA8 0 0 "IE" ;
- A3 0 1 0xF8 0 0 "IOCON" ;
- A3 0 1 0xB8 0 0 "IP" ;
- A3 0 1 0x80 0 0 "P0" ;
- A3 0 1 0x90 0 0 "P1" ;
- A3 0 1 0xA0 0 0 "P2" ;
- A3 0 1 0xB0 0 0 "P3" ;
- A3 0 1 0x87 0 0 "PCON" ;
- A3 0 1 0xD0 0 0 "PSW" ;
- A3 0 1 0xCB 0 0 "RCAP2H" ;
- A3 0 1 0xCA 0 0 "RCAP2L" ;
- A3 0 1 0x99 0 0 "SBUF" ;
- A3 0 1 0x98 0 0 "SCON" ;
- A3 0 1 0x81 0 0 "SP" ;
- A3 0 1 0xC8 0 0 "T2CON" ;
- A3 0 1 0x88 0 0 "TCON" ;
- A3 0 1 0x8C 0 0 "TH0" ;
- A3 0 1 0x8A 0 0 "TL0" ;
- A3 0 1 0x8D 0 0 "TH1" ;
- A3 0 1 0x8B 0 0 "TL1" ;
- A3 0 1 0xCD 0 0 "TH2" ;
- A3 0 1 0xCC 0 0 "TL2" ;
- A3 0 1 0x89 0 0 "TMOD" ;
- A3 1 0 0x88 0 0 "IT0" ;
- A3 1 0 0x89 0 0 "IE0" ;
- A3 1 0 0x8A 0 0 "IT1" ;
- A3 1 0 0x8B 0 0 "IE1" ;
- A3 1 0 0x8C 0 0 "TR0" ;
- A3 1 0 0x8D 0 0 "TF0" ;
- A3 1 0 0x8E 0 0 "TR1" ;
- A3 1 0 0x8F 0 0 "TF1" ;
- A3 1 0 0x98 0 0 "RI" ;
- A3 1 0 0x99 0 0 "TI" ;
- A3 1 0 0x9A 0 0 "RB8" ;
- A3 1 0 0x9B 0 0 "TB8" ;
- A3 1 0 0x9C 0 0 "REN" ;
- A3 1 0 0x9D 0 0 "SM2" ;
- A3 1 0 0x9E 0 0 "SM1" ;
- A3 1 0 0x9F 0 0 "SM0" ;
- A3 1 0 0xA8 0 0 "EX0" ;
- A3 1 0 0xA9 0 0 "ET0" ;
- A3 1 0 0xAA 0 0 "EX1" ;
- A3 1 0 0xAB 0 0 "ET1" ;
- A3 1 0 0xAC 0 0 "ES" ;
- A3 1 0 0xAD 0 0 "ET2" ;
- A3 1 0 0xAF 0 0 "EA" ;
- A3 1 0 0xB0 0 0 "RXD" ;
- A3 1 0 0xB1 0 0 "TXD" ;
- A3 1 0 0xB2 0 0 "INT0" ;
- A3 1 0 0xB3 0 0 "INT1" ;
- A3 1 0 0xB4 0 0 "T0" ;
- A3 1 0 0xB5 0 0 "T1" ;
- A3 1 0 0xB6 0 0 "WR" ;
- A3 1 0 0xB7 0 0 "RD" ;
- A3 1 0 0xB8 0 0 "PX0" ;
- A3 1 0 0xB9 0 0 "PT0" ;
- A3 1 0 0xBA 0 0 "PX1" ;
- A3 1 0 0xBB 0 0 "PT1" ;
- A3 1 0 0xBC 0 0 "PS" ;
- A3 1 0 0xBD 0 0 "PT2" ;
- A3 1 0 0xBF 0 0 "PCT" ;
- A3 1 0 0xC8 0 0 "CAP2" ;
- A3 1 0 0xC9 0 0 "CNT2" ;
- A3 1 0 0xCA 0 0 "TR2" ;
- A3 1 0 0xCB 0 0 "EXEN2" ;
- A3 1 0 0xCC 0 0 "TCLK" ;
- A3 1 0 0xCD 0 0 "RCLK" ;
- A3 1 0 0xCE 0 0 "EXF2" ;
- A3 1 0 0xCF 0 0 "TF2" ;
- A3 1 0 0xD0 0 0 "P" ;
- A3 1 0 0xD2 0 0 "OV" ;
- A3 1 0 0xD3 0 0 "RS0" ;
- A3 1 0 0xD4 0 0 "RS1" ;
- A3 1 0 0xD5 0 0 "F0" ;
- A3 1 0 0xD6 0 0 "AC" ;
- A3 1 0 0xD7 0 0 "CY" ;
- A3 1 0 0xF8 0 0 "ALF" ;
- A3 1 0 0xF9 0 0 "P1F" ;
- A3 1 0 0xFA 0 0 "P2F" ;
- A3 1 0 0xFB 0 0 "P3F" ;
- A3 1 0 0xFC 0 0 "IZC" ;
- A3 1 0 0xFD 0 0 "SERR" ;
- A3 1 0 0xFE 0 0 "T32" ;
- A3 1 0 0xFF 0 0 "WDT" ;
- A4 0x10000
- 0xFFFF;
- A5 0x10000
- 0xFFFF;
- A6 256 128;
- A7 "3.004" ;
- A8
- 3
- 1
- 3
- 3
- 0
- ;
- A9
- 1
- 0
- 0
- 0
- "\x0A"
- &"\x00"
- &"\xE0"
- &"\x88"
- &"\xC8"
- &"\x83"
- &"\x82"
- &"\xA8"
- &"\xD0"
- &"\xF0"
- &"\x81"
- &"\x00"
- &"\x00"
- &"\x00"
- &"\x00"
- &"\x00"
- &"\x00"
- &"\x40"
- &"\x00"
- &"\x00"
- &"\x07"
- &"\x00"
- &"\xDC"
- &"\xC8"
- &"\xB4"
- &"\xA8"
- &"\x9C"
- &"\x90"
- &"\x84"
- &"\x78"
- &"\x6C"
- &"\x7D"
- &"\x62"
- &"\x76"
- &"\x72"
- &"\x6E"
- &"\x6A"
- &"\x7A"
- &"\x66"
- &"\x5E"
- &"\x5A"
- ;
- A9
- 2
- 0
- 0
- 0
- "\x85\xA8\xA8\xA8"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x75\x81\zGG\x00"
- &"\x75\xF0\zHH\x00"
- &"\x75\xE0\zII\x00"
- &"\x75\xD0\zJJ\x00"
- &"\x75\x82\zKK\x00"
- &"\x75\x83\zLL\x00"
- &"\x75\xC8\zMM\x00"
- &"\x75\x88\zNN\x00"
- &"\x75\xA8\zPP\x00"
- &"\x02\zRR\zRR\x00"
- ;
- A9
- 3
- 0
- 0
- 0
- "\x85\xA8\xA8\xA8"
- &"\x85\xA8\xA8\xA8"
- &"\x10\xAF\xFE\x00"
- &"\x02\x00\x00\x00"
- &"\x83\x00\x00\zTV"
- &"\xE5\x88"
- &"\x75\x88\x00\x00"
- &"\x83\x00\x00\zTV"
- &"\xE5\xC8"
- &"\x75\xC8\x00\x00"
- &"\x83\x00\x00\zTV"
- &"\xE5\x83"
- &"\x83\x00\x00\zTV"
- &"\xE5\x82"
- &"\x83\x00\x00\zTV"
- &"\xE5\xA8"
- &"\x83\x00\x00\zTV"
- &"\xE5\xD0"
- &"\x83\x00\x00\zTV"
- &"\xE5\xF0"
- &"\x83\x00\x00\zTV"
- &"\xE5\x81"
- &"\x83\x00\x00\zTV"
- &"\x75\xD0\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x00\x00"
- &"\x02\x00\x00\x00"
- ;
- A9
- 4
- 0
- 0
- 0
- "\x00"
- &"\x01\x00"
- ;
- A9
- 5
- 0
- 0
- 0
- "\x01"
- &"\xAF"
- &"\xF0"
- ;
- A9
- 6
- 0
- 0
- 0
- "\x07"
- &"\x00"
- &"\x03\x0B\x13\x1B\x23\x2B";
- A11 0; # This directive specifies the order in which the SFRs will
- # be displayed in the Interrogate and Modify Registers Menus:
- # 0: display SFRs (left-to-right, top-to-bottom)
- # in the order supplied in the Model File
- # 1: display SFRs (left-to-right, top-to-bottom)
- # alphabetically (ASCII collating sequence)
- # 2: display SFRs (left-to-right, top-to-bottom)
- # in increasing address order
- A12 1;
- A13 6 "\x03\x0B\x13\x1B\x23\x2B";
- A14 8;
- A15 0;
- A19 0x8F "2.25";
- A22 4096 516 8192;
- A23 3;
- A24 1 0 0x00000 0x10000 0x10000 0x10000 0x10000 0x00000 0 0 0 0xBE 0 1 0 "Mode 1: ROMless (803X) Operation, /EA = Low";
- A24 2 1 0x04000 0x04000 0x10000 0x00000 0x10000 0x03FF0 16 0 0 0xC8 1 2 0 "Mode 2: ROM (805X), /EA = High";
- A25 0;
- A26 0;
- A27 0 0;
- A28 0 0;
- A33 0;
- A36 0 # post-file delay == 0 milliseconds (no delay)
- 0; # post-module delay == 0 milliseconds (no delay)
- #
- # A40 <technique> <video_RAM_address_override> <MBZ> ;
- #
- # <technique>
- #
- # 0 Perform PC video display output by (DEFAULT)
- # writing directly to video RAM.
- # This option should be specified only when using
- # PC's that are 100%-IBM-hardware-compatible.
- # This is the fastest technique.
- #
- # Users with older CGA video controllers may notice some
- # flickering in the display when this technique is used.
- # The flickering can be eliminated by choosing <technique> 1
- # below.
- #
- # The ANSI.SYS device driver may or may not be loaded,
- # at the user's discretion, with no ill effects.
- #
- # See also <video_RAM_address_override> below.
- #
- # 1 Perform PC video display output by
- # using BIOS interrupts (only).
- # This option should be specified when using
- # PC's that are not 100%-IBM-hardware-compatible,
- # but that do have a 100%-IBM-compatible BIOS.
- # This is the next fastest technique.
- #
- # The ANSI.SYS device driver may or may not be loaded,
- # at the user's discretion, with no ill effects.
- #
- # 2 Perform PC video display output by
- # using (indirectly) DOS interrupts.
- # This option should be specified when using
- # PC's that are not 100%-IBM-hardware-compatible
- # and do not have a 100%-IBM-compatible BIOS.
- # This is the slowest technique.
- #
- # When this technique is used with a color monitor
- # and the device driver ANSI.SYS has been loaded, the
- # colors in effect at the time the host software is
- # invoked will "bleed through" into the display.
- #
- # <video_RAM_address_override>
- #
- # The value in this field has meaning only when the video
- # display <technique> above is 0 (write directly to video RAM)
- # and the value specified here is non-zero.
- # The host software automatically uses the following base
- # addresses for video RAM:
- #
- # 0xB000 for a Monochrome Display Adapter
- # 0xB800 for a Color/EGA Display Adapter
- #
- # If your display adapter is set up to use a different address,
- # then specify that address here. It should be in the form
- # 0xhhhh, where "hhhh" is the hexadecimal address of the base
- # of the video RAM segment.
- #
- # <MBZ>
- #
- # 0 (Must Be Zero)
- #
- A40 0 0x0000 0; # display output by writing directly to video RAM
- A41 0 # HLL source display: leading blanks -- skip (1) / don't skip (0)
- 4; # HLL source display: tab stops (column width) for ASCII TAB chars (0-10)
- # A42 directive is for Performance Analyzer (primarily):
- A42 0xDB # 4% bar char (video display)
- '#' # 4% bar char (when writing to file)
- 0x10 # 2% bar char (video display)
- '>' # 2% bar char (when writing to file)
- 0xE6 # "micro-" (mu) symbol (video display)
- 'u' # "micro-" (mu) symbol (when writing to file)
- 0xB3 # vertical line char (video display)
- '|' # vertical line char (when writing to file)
- 0; # in Symbolic and Mixed mode, display both Global & Local code labels
- # # (0 = Globals & Locals, 1 = Globals only, 2 = Locals only)
- A43 ','; # separator for every 3rd digit in time/count values
- A46 201
- 299;
- A47 260209
- 0;
- A48 100
- 0;
- #
- #A49:
- #
- # The 1st number in the A49 directive is used to set the
- # time-out limit for normal reception from, and transmission to,
- # the emulator. Note that the number specified here is not
- # an actual clock time value, but rather a count for the number
- # of times the host SW will execute (wait in) the innermost
- # "wait for a byte to be received" or
- # "wait for a byte to be transmitted" loop. The larger the number,
- # the longer the time-out interval will be (i.e., the more times the
- # host SW will execute the innermost "wait" loop before declaring
- # an actual time-out). Generally, faster host computers will require
- # a larger number here; slower host computers can get by with a
- # smaller number. Note that if the number here is too large and there
- # actually is a communication failure/problem, it will take a very
- # long time for the host SW to detect and report the problem.
- #
- # The 2nd number in the A49 directive is used to set the
- # time-out limit for the quick communication test routine
- # which is used to detect a warm-start condition when the host SW
- # is first invoked. The larger the number specified here,
- # the longer the host SW will wait for a response from the emulator
- # during the host SW's one-time-initialization
- # (only performed when the host SW is first invoked).
- A49 #
- 5 # 1st RS232 communication time-out limit (normal comm)
- 4 # 2nd RS232 communication time-out limit (warm-start comm test)
- ; # end of A49
- #
- #A50:
- # The following variables are used to set the display mode for
- # each data type when displaying symbol values. The modes are as follows:
- # 0 = hex format 1 = decimal format 2 = character format
- #
- # The data display variable will revert to its default format for any
- # mode number specified other than those above.
- #
- A50 #
- 0 # char default: hex
- 0 # unsigned char default: hex
- 1 # int default: decimal
- 1 # unsigned int default: decimal
- 1 # long default: decimal
- 1 # unsigned long default: decimal
- 0 # float default: hex
- ; # end of A50
- A51 1 ;
- #.(Begin_Help_File)
- #.($3)Configure
- #The \bConfigure\r pull-down menu allows you to set up and customize
- #various aspects of the operation of the emulator and
- #the host software.
- #.($4)Emulator
- #The \bEmulator\r command invokes a pop-up menu to allow you to
- #establish the operational characteristics of the emulator base
- #and the probe card (pod). These include such things as
- #the probe card's \l($6)mode\m of operation, and
- #the \l($17)communication^port\m
- #and \l($20)baud^rate\m
- #to be used for the RS-232 communication
- #link between the host PC and the emulator base.
- #.($5)Execute
- #The \bExecute\r command first establishes communication between
- #the host software system and the emulator base unit.
- #Then, the host software initializes the emulator base.
- #This initialization usually only needs to be performed once
- #at the beginning of each session.
- #.sp 1
- #The host sofware uses the current values associated with \l($6)Mode\m,
- #\l($17)Comm^port\m and \l($20)Baud^rate\m to
- #establish communication and initialize the emulator base.
- #When you change any of these values, all three are written to
- #the \b$CONFIG\r file. The host software automatically reads
- #this file when it begins executing. Thus, if you change any
- #of these values, the new settings become your defaults.
- #.($6)Mode
- #The \bMode\r command allows you to specify the probe card's mode
- #of operation. This command is available only for those probe cards
- #which can operate in different modes. The available modes are
- #different for each probe card. Typically, these modes consist of
- #combinations of:
- #.sp 1
- #.in +2 {
- #.in +3 {
- #.ti -3
- #-^^ROM mode / ROMless mode
- #.ti -3
- #-^^WDT (Watchdog Timer) On / WDT Off
- #.in -3 }
- #.in -2 }
- #.sp 1
- #Determine how the probe card should operate, based on your
- #application and your target system environment, and then select
- #the appropriate mode.
- #.($17)Comm port
- #The \bComm^port\r command allows to select the RS-232 communication
- #port on your computer which the host software will use to communicate
- #with the emulator base. The available communication ports are COM1
- #and COM2.
- #.($20)Baud rate
- #The \bBaud^rate\r command allows you to select the baud rate
- #that the host software will use during communication with the
- #emulator base. Normally, you should choose the highest (fastest)
- #available baud rate to maximize system throughput.
- #However, you may need to select a lower (slower) baud rate if:
- #.sp 1
- #.in +2 {
- #.in +3 {
- #.ti -3
- #-^^the emulator base is a long distance from your computer
- #.ti -3
- #-^^the 8250 UART chip in your computer cannot sustain
- #high-speed RS-232 communications
- #.in -3 }
- #.in -2 }
- #.sp 1
- #After establishing communication with the emulator base,
- #the baud rate may not be changed
- #unless the emulator is reset.
- #.($30)Code Memory Mapping
- #The \bCode^Memory\r command invokes a pop-up menu allowing
- #you to map Code memory
- #to either the emulator base or the target board.
- #.($31)Map Block To Emulator
- #The \bEmulator\r command maps a block of Code memory to the
- #emulator base. You will be prompted for the starting and ending
- #addresses of the range you wish to map to the emulator base.
- #.($32)Map Block To Target
- #The \bTarget\r command maps a block of Code memory to the
- #target board. You will be prompted for the starting and ending
- #addresses of the range you wish to map to the target board.
- #.($33)Mapping All Memory
- #The \bAll\r command quickly maps all of Code memory to either
- #the emulator base or the target board. After selecting the \bAll\r
- #command a pull-down menu will be displayed with the two choices
- #\l($34)Emulator\m and \l($35)Target\m available.
- #.($34)Emulator
- #The \bEmulator\r command quickly maps all of Code memory to the
- #emulator base.
- #.($35)Target
- #The \bTarget\r command quickly maps all of Code memory to the
- #target board.
- #.($36)Load
- #The \bLoad\r command reads Code memory mapping information previously
- #\l($37)Save\md in a file
- #and establishes that Code memory mapping.
- #.($37)Save
- #The \bSave\r command saves (writes) the current Code memory
- #mapping information into a file. At a later time, the mapping
- #can be restored to its current state by using
- #the \l($36)Load\m command.
- #.($38)Xdata Memory Mapping
- #The \bXdata^Memory\r command invokes a pop-up menu allowing
- #you to map External Data memory
- #to either the emulator base or the target board.
- #.($39)Map Block to Emulator
- #The \bEmulator\r command maps a block of External Data memory to the
- #emulator base. You will be prompted for the starting and ending
- #addresses of the range you wish to map to the emulator base.
- #.($40)Map Block to Target
- #The \bTarget\r command maps a block of External Data memory to the
- #target board. You will be prompted for the starting and ending
- #addresses of the range you wish to map to the target board.
- #.($41)Mapping All Memory
- #The \bAll\r command quickly maps all of External Data memory to either
- #the emulator base or the target board. After selecting the \bAll\r
- #command a pull-down menu will be displayed with the two choices
- #\l($42)Emulator\m and \l($43)Target\m.
- #.($42)Emulator
- #The \bEmulator\r command quickly maps all of External Data memory to
- #the emulator base.
- #.($43)Target
- #The \bTarget\r command quickly maps all of External Data memory to
- #the target board.
- #.($44)Load
- #The \bLoad\r command reads External Data memory mapping information
- #previously \l($45)Save\md in a file
- #and establishes that External Data memory mapping.
- #.($45)Save
- #The \bSave\r command saves (writes) the current External Data memory
- #mapping information into a file. At a later time, the mapping
- #can be restored to its current state by using
- #the \l($44)Load\m command.
- #.($46)Display Attributes
- #The display \bAttributes\r command invokes a pop-up menu which
- #allows you to customize the characteristics of the video display
- #on your host PC.
- #.($47)Lines
- #The \bLines\r command allows you change the total number of
- #lines displayed on your screen.
- #The choices available are dependent on the
- #video display adapter installed in your host PC:
- #.sp 1
- #.in +4 {
- #.ba {
- #MDA (Monochrome Display Adapter): 25 lines
- #.sp 1
- #CGA (Color Graphics Adapter): 25 lines
- #.sp 1
- #EGA (Enhanced Graphics Adapter): 25 lines
- # 43 lines
- #.sp 1
- #VGA (Video Graphics Array ): 25 lines
- # 28 lines
- # 50 lines
- #.ea }
- #.in -4 }
- #.($48)
- #The 25-line display mode is the default and is available
- #when using any video adapter or monitor in your PC.
- #.($49)
- #The 28-line display mode is available only when certain video
- #adapters are installed in your PC. See \l($47)Lines\m for details.
- #.($50)
- #The 43-line display mode is available only when certain video
- #adapters are installed in your PC. See \l($47)Lines\m for details.
- #.($51)
- #The 50-line display mode is available only when certain video
- #adapters are installed in your PC. See \l($47)Lines\m for details.
- #.($53)CGA/EGA/VGA Default
- #The \bCGA/EGA/VGA Default\r command sets up video colors and other
- #display attributes suitable for all color monitor types.
- #The supplied binary file $CLR1$ contains these color definitions.
- #These definitions make use of 16 foreground colors,
- #but only 8 background colors. If you have an EGA or VGA installed
- #in your system, the \l($54)EGA/VGA^Default\m provides a full
- #16 background colors.
- #.($54)EGA/VGA Default
- #The \bEGA/VGA Default\r command sets up video colors and other
- #display attributes suitable for EGA & VGA color monitors.
- #The supplied binary file $CLR2$ contains these color definitions.
- #These definitions make full use of 16 foreground \uand\r 16 background
- #colors. If you accidentally (or intentionally) select this command
- #when the display adapter installed in your PC is actually a CGA
- #or Monochrome adapter, many areas of the screen will blink!
- #This is because the $CLR2$ file is set up assuming that the
- #video display attribute control bit for "blink" actually means
- #"bold (or bright) background".
- #.($55)Monochrome Default
- #The \bMonochrome Default\r command sets up video
- #display attributes suitable for monochrome adapters/monitors.
- #The supplied binary file $CLRM$ contains these color definitions.
- #The only "color", other than black & white, available
- #for monochrome adapters is blue. However, "blue" does not display
- #as blue, but rather as \uunderline\ring.
- #If you accidentally (or intentionally) select this command
- #when the display adapter installed in your PC is actually
- #something other than a Monochrome adapter, the video display
- #indeed \uwill\r be painted in a rather hideous combination
- #of black, white and blue.
- #.($56)User
- #The \bUser\r command sets up video colors and other
- #display attributes to your customized settings.
- #The binary file $COLOR (not supplied) contains these color definitions.
- #.sp 1
- #To create your own customized, default color definitions, first
- #invoke the \l($57)Select\m command to change individual display
- #attribute settings. Then, \l($76)Save\m those settings into
- #the $COLOR file, making sure that the \bSave Option\r
- #for \l($79)Colors\m is \uon\r.
- #.sp 1
- #The $COLOR file is read during \b%rs1\r initialization,
- #thus establishing your own customized, default color definitions.
- #.($57)Select
- #The \bSelect\r command allows you to select/modify video colors and
- #other display attributes individually.
- #.($58)Windows
- #The \bWindows\r command invokes a pop-menu allowing you to customize
- #the characteristics of the windows on the main screen.
- #.sp 1
- #The data in each of the windows is updated after every emulation
- #cycle (\l($96)Run\m) or whenever you change the value in a
- #register, memory location or variable.
- #.sp 1
- #We recommend that you first \l($59)Modify\m the windows to:
- #.sp 1
- #.in +2 {
- #.in +4 {
- #.ti -4
- #1)^^Specify which windows will be active (present) or
- #inactive (absent).
- #.ti -4
- #2)^^Determine the order in which the windows will be
- #displayed (top of screen {1} to bottom of screen {n}).
- #.in -4 }
- #.in -2 }
- #.sp 1
- #and then \l($60)Size\m the windows to suit your needs.
- #.($59)Configure|Windows|Modify
- #The \bModify\r command allows you to define the layout and content
- #of all the windows on the main screen.
- #Use the arrow keys to move the highlighted cursor to the attribute
- #you wish to change and then follow the directions displayed
- #on the bottom border of the box.
- #.sp 1
- #The window attributes which you can change in this menu are:
- #.sp 1
- #.in +2 {
- #.in +5 {
- #.ti -5
- #\bActive\r
- #.sp 1
- #Each window can either be active (present, \bYes\r)
- #or inactive (absent, \bNo\r). By default, the only inactive window
- #is the Watch Window. And yes, you can operate the \b%rs1\r system
- #with all the windows inactive.
- #.sp 1
- #.ti -5
- #\bOrder\r
- #.sp 1
- #The order of presentation of the window names in
- #the \bWindow\r & \bOrder\r columns mirrors the order in which the
- #windows will appear on the main screen (top to bottom).
- #.sp 1
- #.ti -5
- #\bStart^Address\r
- #.sp 1
- #For most of the "dump" style windows, you can
- #specify the starting address for the data which will be displayed
- #in each window. The Stack Window always contains as much of the
- #stack as possible. Its starting address fluctuates from one
- #emulation cycle to the next, based on the content of the
- #Stack Pointer register (@SP).
- #For the External Data window, you can choose
- #whether you want this same behavior with respect to the Data Pointer
- #register (@DPTR), or simply a fixed starting address.
- #The Source Window always reflects the source lines and/or
- #machine instructions
- #in the vicinity of the value in the Program Counter register (@PC).
- #.sp 1
- #.ti -5
- #\bOptions\r
- #.sp 1
- #Each window has certain unique, user-controllable display
- #characteristics.
- #For all of the "dump" style windows, you can
- #specify whether you want to see the data in both hexadecimal
- #and ASCII formats, or in hexadecimal format only.
- #For the Register Window, you can define the fill character
- #which separates an SFR's name from its current content (value).
- #.in -5 }
- #.in -2 }
- #.($60)Configure|Windows|Size
- #The \bSize\r command allows you to make each window on the main screen
- #larger (taller) or smaller (shorter).
- #We recommend that you size the windows from top-of-screen to
- #bottom-of-screen.
- #The sizes of all windows \ubelow\r the one you are currently
- #adjusting will change automatically in response to your adjustments.
- #The sizes of all windows \uabove\r the one on which you are currently
- #working will remain unchanged.
- #.sp 1
- #The Quick Help line at the bottom of the screen shows you which
- #keys to use to affect the size changes. If you 'Exit' without
- #'Accept'ing the changes made to the last selected window,
- #that window will revert to its former size.
- #.($61)Configure|Windows|Goto
- #The \bGoto\r command allows you to select, or "jump into", the
- #the windows on the main screen.
- #When you do this, you can peruse and/or change the data in the
- #windows. To change a value, you don't even have to press the
- #\bEnter\r key to pop-up the dialog box -- simply start typing
- #the new value for the highlighted location/item and the
- #dialogue box pops up automatically.
- #.sp 1
- #The Quick Help line at the bottom of the screen shows you which
- #keys to use in perusing the windows.
- #.sp 1
- #\bHint:\r
- #.sp 1
- #.in +2 {
- #As an additional, convenient shortcut to invoke
- #the \bConfigure|Windows|Goto\r command,
- #you can press the \bTab\r or \bShift^Tab\r keys when
- #no pull-down menus are hanging off the top menu bar on the
- #main screen.
- #.in -2 }
- #.($62)Configure|Windows|Add Watch
- #The \bAdd\r command allows you to add a watch variable to the
- #Watch Window.
- #.sp 1
- #You can think of the Watch Window as one or more
- #peepholes into different areas of
- #memory, where you specify the starting addresses symbolically
- #(the names of the variables, registers or bits),
- #and where the displayed values
- #are interpreted according to the individual data types of the
- #variables (if such information is available in the program file).
- #.sp 1
- #The Watch Window must be active before you can add anything to it.
- #.sp 1
- #There is no limit on the number of entities which can be
- #watched -- the Watch Window is scrollable.
- #.sp 1
- #If the value of a variable in the Watch Window changes
- #from one emulation cycle to the next
- #(see \l($96)Run\m),
- #that value will be highlighted to alert you of the change.
- #.($63)Configure|Windows|Delete Watch
- #The \bDelete\r command allows you to delete (remove) a
- #watch variable from the Watch Window.
- #.($64)Identification
- #The \bIdentification\r command pops up a window
- #describing the properties of your \b%rs1\r emulator system.
- #The information displayed includes such things as hardware,
- #firmware and software version numbers, memory sizes, model numbers
- #and option configurations.
- #Such information is useful, for example, when you
- #call %rs2 for Technical Support at %rs3.
- #.($65)Options
- #The \bOptions\r command pops up a menu which allows you
- #to customize miscellaneous characteristics of the user
- #interface configuration.
- #.($67)Alert|Diagnostics
- #The \bDiagnostics\r command toggles whether or not
- #your computer will beep when the host software pops up a diagnostic
- #message box. This toggle command applies to all types of
- #diagnostics: errors, warnings and informative diagnostics.
- #.($68)Alert|Bad Key/Command
- #The \bBad^key/command\r command toggles whether or not
- #your computer will beep when you:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1)^^Press a key that is not recognized (does not apply)
- #in a particular context.
- #.ti -4
- #2)^^Select an inactive (inaccessible) command in a pull-down
- #or pop-up menu.
- #.in -4 }
- #.in -4 }
- #.($69)Alert|Host-break
- #Pressing the \bEsc\r key to break (stop) emulation is called
- #"stopping emulation via a Host-break".
- #.sp 1
- #The \bAlert|Host-break\r command toggles whether or not
- #your computer will beep when you break emulation via a "Host-break".
- #(The computer will never beep when emulation stops because a normal
- #hardware breakpoint was reached.)
- #.($70)Flicker
- #The \bFlicker/command\r command toggles whether or not
- #the host software will flicker displayed information in
- #various contexts.
- #The software uses flickering as a form of
- #immediate visual feedback to confirm that
- #"something has happened" or "this action was taken".
- #.sp 1
- #Currently, the software employs flickering to show the:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1)^^selected response in a "Yes/No/Cancel" dialog.
- #.sp 1
- #.ti -4
- #2)^^new value assigned to a variable or register when that
- #variable or register is changed using the \l($118)Var/Reg\m command
- #\uand\r both the name and new value are typed in the
- #same input box.
- #.in -4 }
- #.in -4 }
- #.($71)Trace Prefetch
- #The \bTrace^prefetch\r command toggles whether or not
- #the host software will prefetch (read) raw trace buffer data from the
- #\b%rs1\r emulator during keyboard "idle" time.
- #.($72)Main Esc
- #The \bMain^Esc^\r command controls the host software's behavior
- #when you press the \bEsc\r key when no pull-down menus are visible
- #(pulled down) on the main screen:
- #.sp 1
- #.in +2 {
- #.in +6 {
- #.ti -6
- #On:^^^The host software asks whether or not you really
- #want to exit completely back to DOS.
- #.ti -6
- #Off:^^The host software treats the \bEsc\r key as an unrecognized
- #keystroke and handles it according to the current setting
- #of the \l($68)Alert|Bad^key/command\m toggle.
- #.in -6 }
- #.in -2 }
- #.sp 1
- #Note that the \l($121)File|Exit\m command provides an alternative
- #method for exiting back to DOS.
- #.($73)Function-Key
- #The \bFunction-Key\r command calls a pull-down menu that
- #gives you access to commands to change the number of
- #\l($74)Lines\m of function key labels displayed and to
- #\l($75)Modify\m function key assignments.
- #.($74)Lines
- #The \bLines\r command is used to specify the number of lines of
- #\l($75)Function^Key\m labels to display at the bottom of the screen.
- #Up to four lines may be used (corresponding to all function keys
- #and their Shift, Alt, and Ctrl states). Specifying 0 lines
- #shuts off the display of function key labels.
- #.($75)Modify Function Key Assignments
- #The \bModify\r command calls a pop up menu from which you may
- #modify function key assignments. From this menu you may
- #\l($107)Assign\m new commands to function keys, \l($108)Clear\m
- #function key assignments, activate (\l($111)Save\m) new
- #assignments for the duration of the current session
- #and \l($112)Write\m an assignment/option report.
- #.sp 1
- #The function key menu is divided into two windows, the
- #\bAssignment^Window\r and the \bOption^Window\r. The assignment
- #window is used to display each function key and its assigned option.
- #The short description of the assigned option is always displayed and
- #depending on the \l($110)Display^Mode\m a long description may also
- #be displayed. The option window is used to display all the
- #possible options available for assignment. The short description
- #of each option is always displayed and depending on the display
- #mode the long description may also be displayed.
- #.sp 1
- #The short description of an assignment option is the description
- #that is shown for the \l($74)Function^Key^Labels\m displayed at the
- #bottom of the screen. The long description of an assignment option
- #is the full command path to a command (e.g., the full command
- #path to the current command is \bConfigure|Function-Keys|Modify\r).
- #.($76)Save
- #The \bSave\r command lets you selectively save various
- #facets of the current user interface configuration.
- #By doing so, you create new default settings for the user
- #interface configuration.
- #.($77)Save|Save
- #The \bSave\r command saves the current user interface configuration
- #environment according to the setting of the 'Save Opts' controls
- #which follow in this menu.
- #.($78)Lines
- #The setting of the \bLines\r toggle specifies whether or not the
- #current screen size (number of lines) will be saved into the
- #\b$LINES\r file when you select
- #the \l($77)Configure|Options|Save|Save\m command.
- #.($79)Colors
- #The setting of the \bColors\r toggle specifies whether or not the
- #current screen colors and highlighting controls
- #will be saved into the \b$COLOR\r file when you select
- #the \l($77)Configure|Options|Save|Save\m command.
- #.($80)Windows
- #The setting of the \bWindows\r toggle specifies whether or not the
- #current main screen window configuration
- #will be saved into the \b$WINDOW\r file when you select
- #the \l($77)Configure|Options|Save|Save\m command.
- #.($81)Alert
- #The setting of the \bAlert\r toggle specifies whether or not the
- #current \bAlert\b Options settings
- #will be saved into the \b$ALERT\r file when you select
- #the \l($77)Configure|Options|Save|Save\m command.
- #.($82)Miscellaneous
- #The setting of the \bMiscellaneous\r toggle specifies whether or not the
- #current \bMiscellaneous\b Options settings
- #will be saved into the \b$MISC\r file when you select
- #the \l($77)Configure|Options|Save|Save\m command.
- #.($83)Function Keys
- #The setting of the \bFunction Keys\r toggle specifies whether or not
- #the current function (hot) key definitions
- #will be saved into the \b$FKEYDEF\r file when you select
- #the \l($77)Configure|Options|Save|Save\m command.
- #.($84)Restore
- #The \bRestore\r command restores a previously \l($77)Save\md
- #user interface configuration.
- #.($85)File
- #The \bFile\r pull-down menu allows you to load programs into the
- #the emulator, build and run macros and save/restore the current
- #application environment.
- #.($86)File|Load
- #The \bLoad\r command is used to load code memory
- #with object code from a disk file. Several different
- #object file formats are accepted:
- #.sp 1
- #.in +2 {
- #.in +3 {
- #.ti -3
- #-^^Intel standard hex file format
- #.ti -3
- #-^^Intel absolute object module format (AOMF)
- #.ti -3
- #-^^Archimedes absolute object modules
- #.ti -3
- #-^^BSO absolute object modules
- #.ti -3
- #-^^Enertec absolute object modules
- #.ti -3
- #-^^Franklin absolute object modules
- #.ti -3
- #-^^IAR absolute object modules
- #.ti -3
- #-^^Kiel absolute object modules
- #.ti -3
- #-^^MCC absolute object modules
- #.ti -3
- #-^^Microtek Research absolute object modules
- #.ti -3
- #-^^Sysoft absolute object modules
- #.ti -3
- #-^^%rs2 absolute object file format.
- #.in -3 }
- #.in -2 }
- #.sp 1
- #Symbolic source-level debugging is supported with most formats.
- #.sp 1
- #NOTE:^^If you are loading the very first program,
- #or simply reloading or replacing that program,
- #respond \uNo\r to the "Merge..." prompt dialog.
- #Only respond \uYes\r to the "Merge..." prompt dialog
- #if you intend to merge the code and symbols from two or
- #more files -- respond \uNo\r for the first
- #file in the sequence and \uYes\r for all subsequent files.
- #.($87)File|Store
- #The \bStore\r command is used to save the status of
- #the system in a system status disk file.
- #It performs the complementary function of the
- #\l($88)Restore\m command.
- #.($88)File|Restore
- #The \bRestore\r command is used to restore the
- #system status to some state which
- #was previously saved in a system status disk file.
- #It performs the complementary function
- #of the \l($87)Store\m command.
- #.($89)File|Download
- #The \bDownload\r command is used to download data from
- #a disk file to your target system's external data
- #memory or code memory.
- #Downloading can be used to initialize your target system's
- #external data memory
- #(also see the \l($86)Load\m command).
- #Several different object file formats are accepted.
- #.sp 1
- #(The \bDownload\r command is not available for some parts
- #because they do not have the ability to access
- #external data/code memory.)
- #.($90)File|Upload
- #The \bUpload\r command is used to load the emulator's code
- #memory with object code from the target system.
- #Uploading code allows you to use
- #the program from the
- #code memory in your target system.
- #.sp 1
- #(The \bUpload\r command is not available for some parts
- #because they do not have the ability to access
- #external data/code memory.)
- #.($91)File|Macro
- #The \bMacro\r command pops up the Macro Menu.
- #In the Macro Menu you can create a macro command
- #file or execute (run) a previously-created macro command file.
- #.($92)Execute
- #The \bExecute\r command begins execution of the commands from
- #a macro command file. Execution continues from the macro
- #command file until the end of the file is reached. Control
- #then returns to manually entered commands.
- #If you type \bCtrl C\r while the macro is executing,
- #the macro will terminate immediately and the session will
- #resume in the normal, interactive mode.
- #.($93)Learn
- #The \bLearn\r command creates a macro command file by entering
- #every keystroke typed into the macro command file.
- #Learn mode terminates when you enter the percent character, \b%%\r,
- #followed by an \bE\r.
- #.($94)Delay
- #The \bDelay\r command creates a delay in between every
- #keystroke read from a macro command file.
- #You specify the delay time in milliseconds (1/1000th second).
- #.($95)Repeat
- #You can use the \bRepeat\r command to specify a repetition count
- #for execution of macro command files. The default repetition
- #count is zero (0).
- #.($96)Run
- #The commands in the \bRun\r pull-down menu allow you to start
- #various types of emulations.
- #These include:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1)^^Starting emulation from RESET conditions,
- #.ti -4
- #2)^^Resuming emulation under current, or slightly modified, conditions,
- #.ti -4
- #3)^^Several varieties of single-stepping.
- #.in -4 }
- #.in -4 }
- #.($97)Reset (emulator)
- #The \bReset^(emulator)\r command initiates emulation in the
- #target application system, with emulation beginning from
- #the chip's normal RESET state.
- #.sp 1
- #The \b%rs1\r emulator base unit supplies the RESET pulse.
- #.($98)Reset (target)
- #The \bReset^(target)\r command initiates emulation in the
- #target application system, with emulation beginning from
- #the chip's normal RESET state.
- #.sp 1
- #The \b%rs1\r emulator base unit does \unot\r supply the RESET pulse
- #automatically. Emulation will not begin until
- #the target application system supplies the RESET pulse or until
- #you press the \bRESET\r button on the emulator base unit.
- #.($99)Go
- #The \bGo\r command begins (or resumes) emulation starting from
- #the current PC address.
- #.($100)Go From
- #The \bGo^from\r command begins (or resumes) emulation starting from
- #an address that you supply.
- #When you select the \bGo^from\r command, the host software
- #will prompt you to supply the address at which to commence emulation.
- #.($101)Go Until
- #The \bUntil\r command sets a temporary breakpoint
- #which remains in effect only for the duration of the
- #next emulation cycle.
- #When you select the \bUntil\r command, the host software
- #will prompt you to supply the temporary breakpoint address.
- #The software then transmits this breakpoint to the emulator
- #without disturbing any other breakpoints which may already exist.
- #Then, emulation will begin as if you had selected the
- #\l($99)Go\m command. Emulation continues until the program
- #passes through \uany\r breakpoint, including the temporary
- #breakpoint just established. When emulation stops, the
- #host software removes the temporary breakpoint from
- #the emulator, again,
- #without disturbing (deleting) any other breakpoints which
- #may have been previously established.
- #.($102)Step
- #You can use the \bStep\r (single-step) command to execute
- #one machine instruction and then stop (break emulation).
- #The emulator will execute the next instruction
- #(i.e., the one addressed by
- #the Program Counter (PC)) and then break.
- #.($103)Line
- #The \bLine\r command allows you to single-step from one
- #source line to the next.
- #Emulation begins at the current PC and stops (breaks) when
- #execution reaches the next source line in \uany\r module.
- #.($104)Over
- #The \bOver\r command allows you to single-step from one
- #source line to the next.
- #Emulation begins at the current PC and stops (breaks) when
- #execution reaches the next source line in the \ucurrent\r module.
- #This has the effect of "stepping over" calls to functions
- #or procedures in other modules.
- #.($105)To
- #The \bTo\r command allows you to single-step from one
- #function to the next.
- #Emulation begins at the current PC and stops (breaks) when
- #execution reaches the next function, procedure \uor\r
- #global (public) code label.
- #.sp 1
- #.in +4 {
- #NOTE:^^Global code labels are included only
- #because not all language processors (compilers) mark
- #procedures/functions properly in the debug records in
- #the absolute object module for the program.
- #.in -4 }
- #.($106)Display/Alter
- #The \bDisplay/Alter\r command calls a pull-down menu from
- #which you may \l($115)Assemble\m new code into memory,
- #\l($114)Disassemble\m existing code memory, change
- #\l($118)Symbol\m values, view/change \l($119)Ram-bits\m,
- #and view/change raw \l$(252)Code\m,
- #\l($258)Indirect^Data\m and \l($264)External^Data\m memory.
- #.($107)Assign
- #The \bAssign\r command is used to assign the current (highlighted)
- #option in the \l($75)Option^Window\m to the current (highlighted)
- #function key in the \l($75)Assignment^Window\m.
- #.sp 1
- #An alternate method of assigning an option to a function key is to
- #press the function key. If the current window is the
- #\bAssignment^Window\r the option of the current (highlighted)
- #function key is copied as the option for the pressed function key.
- #If the current window is the \bOption^Window\r the current
- #(highlighted) option is copied to the pressed function key.
- #.sp 1
- #Note that when using the alternate method of assigning a function
- #key, if the function key that has "Help" assigned to it is pressed,
- #you will be asked whether your intention is to get "Help" or to
- #reassign that function key.
- #.($108)Clear
- #The \bClear\r command is used to clear the assignment of the
- #current (highlighted) function key.
- #.($109)Help
- #Due to the fact that function key assignments are being modified,
- #function keys are turned off while in the function key menu.
- #This means that normal means of getting "Help" are also
- #turned off. A special test is included to check if the "Help"
- #function key has been pressed for "Help" or for re\l($107)assignment\m.
- #For this reason "Help" for individual commands can be
- #accessed through the main "Help" screen for
- #the \l($75)Function^Key^Menu\m.
- #.($110)Display
- #The \bDisplay\r command is used to toggle the \l($75)Function^Key\m
- #menu display mode. There are two display modes. One display
- #mode shows the function key and the short description of the option
- #assigned to it in the \bAssignment^Window\r and both the short and
- #long description of each option in the \bOption^Window\r. The
- #other display mode shows the function key and both the short and long
- #description of the assigned option in the \bAssignment^Window\r
- #and just the short description of each option in the
- #\bOption^Window\r.
- #.($111)Save
- #The \bSave\r command makes the edited assignments active for the
- #current session. If you wish to make the assignments permanent
- #the \l($77)Configure|Save|Save\m command must be issued.
- #.($112)Write
- #The \bWrite\r command is used to write the function key
- #\l($75)Assignments\m and \l($75)Options\m to a disk file.
- #The disk file is written in an ASCII text format.
- #.($113)Asm/Dasm
- #The \bAsm/Dasm\r command calls a pop up menu from which
- #you may \l($115)Assemble\m instructions into
- #code memory and \l($114)Disassemble\m existing code memory.
- #By default the \bDisassemble\r mode is active on entry to
- #the pop up menu.
- #.($114)Disassemble
- #The \bDisassemble\r command turns on disassemble mode. In this
- #mode you can quickly view a page of disassembled code
- #from anywhere in code memory by typing an absolute code
- #address or a symbolic name (line number or label), or can scroll
- #through code memory (disassembling a page at a time) using the
- #page down (PgDn) key.
- #.sp 1
- #The disassembled code will be interspersed with HLL source
- #images (if available) if the 'Mixed' display
- #\l($116)Mode\m is active.
- #.sp 1
- #Note that if an absolute address is entered and the
- #\l($117)Label-synch\m mode is off, the address may or may not
- #correspond to an instruction boundary and may result in
- #an out-of-synch disassembly.
- #.($115)Assemble
- #The \bAssemble\r command turns on assemble mode. In this mode
- #you may enter new instructions into code memory.
- #The assembler may also be used to add a label at a specified
- #PC address. The PC address at which to add the instruction
- #may be specified by typing an absolute code address, a symbolic
- #name (line number or label) or by using the down arrow ('\x19')
- #and up arrow ('\x18') keys to increment and decrement the address.
- #.sp 1
- #When entering an instruction, symbolic information may be used.
- #This includes the ability to define a new label at the current
- #address and using symbolic names in the operand part of the
- #instruction. When a new label is entered, it is inserted into
- #the internal symbol table as a global (public) symbol.
- #.sp 1
- #Note that if the assembled instruction does not contain the
- #same number of bytes as the original instruction at the current
- #address you will be notified and asked to verify the
- #operation.
- #.($116)Mode
- #The \bMode\r command is used to toggle the display mode between
- #\b'Code'\r mode and \b'Mixed'\r mode. The 'Code' display mode
- #means just display assembly language instructions. The 'Mixed'
- #display mode (available only if HLL source is available) means
- #display HLL source images interspersed with the assembly code.
- #.($117)Label-synch
- #The \bLabel-synch\r command is used to toggle label synchronization
- #on and off. When \bLabel-synch\r is on, the software uses existing
- #code labels to verify that \l($114)Disassemble\m addresses are on
- #instruction boundaries. If they are not the software will adjust
- #the address so the disassembly begins on an instruction boundary.
- #If the \bLabel-synch\r mode is off, no such checks are made and
- #the disassembly will start at the specified address.
- #.sp 1
- #Note that if \bLabel-synch\r mode is off, the specified address
- #may or may not correspond to an instruction boundary and
- #may result in an out-of-synch disassembly.
- #.($118)Var/Reg
- #The \bVar/Reg\r command can be used to change the value of
- #any program variable or register (including the PC). When
- #the command is selected you will be prompted for the name
- #of the variable or register to change and for its new value.
- #The current value will also be displayed.
- #.($119)RAM-Bits
- #The \bRAM-Bits\r command is used to view or change bits in the
- #128 directly-addressable bit area of Internal Data memory.
- #A bit's value may be toggled by typing the bit address
- #(absolute or symbolic) or by using the cursor keys to move to
- #the desired bit and then pressing the 'Enter' key.
- #.($120)Misc
- #The \bMisc\rellaneous pull-down menu contains commands
- #that give you access to:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1)^^Unique features of the target processor.
- #.ti -4
- #2)^^Special options/features of the \b%rs1\r emulator.
- #.ti -4
- #3)^^Miscellaneous other things.
- #.in -4 }
- #.in -4 }
- #.($121)File|Exit
- #The \bExit\r command is used to terminate the \b%rs1\r host software and
- #return normally to DOS.
- #.($122)OS-Esc
- #The \bOS-Esc\r command suspends the
- #\b%rs1\r system and transfers control to DOS.
- #You can then,
- #subject only to memory availability,
- #type any DOS command(s)
- #and invoke other programs (e.g., a text editor).
- #When you type the \uexit\r command at the DOS prompt,
- #you will resume execution in the \b%rs1\r system at the
- #point of suspension.
- #.sp 1
- #While the \b%rs1\r system is suspended and DOS is active,
- #the DOS prompt will be augmented with a string reminding
- #you how to resume execution in the \b%rs1\r system.
- #.sp 1
- #\bSpecial Note\r
- #.sp 1
- #After you have been running the \b%rs1\r host software for
- #a while (in a single session), you may find that you can
- #no longer escape to DOS because there is not enough memory
- #available to DOS to load a new copy of COMMAND.COM
- #(the DOS command processor).
- #.sp 1
- #During normal operation, the host software routinely allocates
- #and frees memory nodes. The runtime library processes these
- #allocation and deallocation requests, using a pool of
- #memory (the heap) managed by the runtime library.
- #If there is not
- #enough unallocated memory in the heap to satisfy a particular allocation
- #request, the runtime library obtains another memory segment from DOS.
- #.sp 1
- #When the host software issues a request to free an allocated
- #node, the runtime library puts that node back into the pool of
- #unallocated memory. That node is then available for
- #allocation when the host software next requests a memory node.
- #\uHowever\r, the runtime library \unever\r releases memory segments
- #back to DOS.
- #.sp 1
- #Thus, after you have been running the \b%rs1\r system for a while,
- #there may be a lot of memory available to the host software
- #for its internal use, but as far as DOS is concerned, there may be
- #very little available memory.
- #.sp 1
- #The DOS \bCHKDSK\r or \bMEM\r commands report the amount of available
- #memory as seen by DOS.
- #The reported value has very little relationship to the amount of
- #memory actually available to the host software for
- #continuing an emulation session.
- #.($123)Expanded Memory Usage Information
- #If you have Expanded Memory (LIM-compatible) in your computer,
- #the \b%rs1\r host software can make limited use of it.
- #To enable access to Expanded Memory, you must have the
- #appropriate 'DEVICE=...' statement in your 'CONFIG.SYS' file.
- #See the documentation accompanying your Expanded Memory board
- #for the specific details on how to do this.
- #.sp 1
- #The \bEMM Usage\r command displays the following information:
- #.sp 1
- #.in +2 {
- #.in +9 {
- #.ti -9
- #System:^^Total
- #amount of Expanded Memory in the PC.
- #.ti -9
- #Others:^^Amount
- #of Expanded Memory being used by other programs
- #(programs other than the \b%rs1\r host software).
- #.ti -9
- #Usable:^^Maximum
- #amount of Expanded Memory which can be utilized
- #by the \b%rs1\r host software.
- #Currently, this is limited to 64KB.
- #.ti -9
- #In Use:^^Amount
- #of Expanded Memory currently being used
- #by the \b%rs1\r host software.
- #This value never will be greater than "\bUsable:\r".
- #.in -9 }
- #.in -2 }
- #.($124)
- #The Programmer Command is used to pop-up the
- #Programmer Menu. The Programmer Menu gives you the
- #capability to program 83C751 or 83C752 PROM's and
- #EPROM's.
- #.($125)A-to-D Converter
- #The A-to-D-converter command is used to read the
- #Analog to Digital converter.
- #The content of each channel is displayed in hexadecimal.
- #NOTE: Reading the A to D converter will modify certain registers:
- #.sp 1
- #.in +2 {
- #.ba {
- #512,532,515,535: ADCON, ADDAT, DAPR, and IRCON
- #517,537: ADCON0, ADCON1, ADDAT, DAPR, and IRCON
- #550: ADAT and ADCON
- #552: ADCH and ADCON
- #752: ADAT and ADCON
- #.ea }
- #.in -2 }
- #.($126)MDU
- #The Multiplication-division-unit Command is used to display
- #the results of an arithmetic operation involving the
- #Multiplication / Division Unit (MDU) of the '517 and '537.
- #The results are displayed
- #as signed or unsigned decimal numbers.
- #.($127)DPTRs (multiple)
- #The \bDPTRs^(multiple)\r command reads and displays all the possible
- #DPTR (Data Pointer) register values for those chips that have multiple
- #DPTRs or an Alternate DPTR.
- #.($128)FIFO
- #The \bFIFO\r command reads and displays the FIFO
- #on the 80C152/83C152 and the 80C452.
- #.sp 1
- #\uNOTE\r:^^Once the FIFO is read, the data in the FIFO is lost.
- #.($129)
- #(Help Information Not Used.)
- #.($130)Source/Symbols
- #When the \bSource/Symbols\r command is selected a pull-down menu
- #of options relating to High Level Language and Symbol display
- #and search is displayed.
- #.($131)Source,Module Update
- #The \bModule^Update\r command is used to select the
- #\bModule^Update^Mode\r. This mode determines how the software
- #will decide what the \l($134)Current^Module\m is. The mode
- #choices are \l($132)AUTO\m (automatic) and \l($133)USER\m
- #(user-defined).
- #.($132)Source,Module Update,AUTO
- #The \bAUTO\r \l($131)Module^Update\m Mode means that the software will
- #automatically determine what the \l($134)Current^Module\m is.
- #This determination is made based on the PC address. If the
- #PC address falls within the address range of a module, that
- #module will be made the Current Module.
- #.($133)Source,Module Update,User
- #The \bUser\r \l($131)Module^Update\m Mode means that you have set
- #(or will set) the \l($134)Current^Module\m to a specific
- #module which will remain the Current Module until the
- #Module Update Mode is changed to Automatic or until
- #you change the Current Module.
- #.($134)Source,Current Module
- #The \bCurrent^Module\r command is used to set the
- #Current Module to a specific module. When a Current Module
- #has been set this way the \l($131)Module^Update^Mode\m is
- #set to \l($133)User\m.
- #.sp 1
- #The concept of the Current Module is to make Symbolic searches
- #context sensitive.
- #If there are two symbols with the same name (that were defined
- #in two different modules) the Current Module will be searched
- #first.
- #.($135)Source,Search Path
- #The \bSearch^Path\r command is used to set the HLL (High Level
- #Language) search path directory used to locate the source or
- #listing files for each module in the program currently loaded into
- #code memory. The source files (C) or listing files (PL/M) must
- #exist in the HLL search path to enable the emulation system to
- #locate and display HLL source images.
- #.sp 1
- #The HLL search path may also be set using the \b'-s'\r
- #\l($249)Command^Line^Option\m.
- #.($136)Source,Raw Source
- #The \bRaw^Source\r command displays the raw source file for
- #a specified module. Each source line image is preceded by
- #its line number. The line numbers that are highlighted
- #specially correspond to line numbers with
- #entries in that modules line number table, meaning they may
- #be referenced symbolically throughout the software.
- #.sp 1
- #File information, such as the source language and source filename
- #are displayed along with the name of the module. The module
- #being displayed can be changed by typing a new module name at the
- #\bEnter Module\r prompt.
- #.sp 1
- #The displayed source images can be positioned quickly to a
- #particular line number by typing the desired line number
- #at the \bLine Number\r prompt.
- #.($137)Source,Modules
- #The \bModules\r command displays module information for all
- #modules. The information is displayed sorted by module
- #address range.
- #.sp 1
- #Further information for the \bModules\r command is available for:
- #.in +4 {
- #.ti -2
- #\l($365)Enter^Module^Prompt\m
- #.ti -2
- #\l($367)Screen^Content\m
- #.in -4 }
- #.($138)Source,Scopes
- #The \bScopes\r command displays scope information for all
- #modules and procedures. The information is displayed sorted
- #first by module address range and then alphabetically by
- #procedure name within each module.
- #.sp 1
- #Further information for the \bScopes\r command is available for:
- #.in +4 {
- #.ti -2
- #\l($365)Enter^Mod/Proc^Prompt\m
- #.ti -2
- #\l($367)Screen^Content\m
- #.in -4 }
- #.($139)Source,Line Numbers
- #The \bLine^Numbers\r command displays line number information for
- #all modules. The information is displayed sorted first by module
- #address range and then by ascending line numbers within each module.
- #.sp 1
- #Two screen modes are available for line number information for
- #this command. The \bnarrow\r screen contains the \bLine^Number\r,
- #its \bAddress\r and the names of any \bSymbols\r defined at
- #that address.
- #The \bwide\r screen contains (in addition to the line number,
- #address and symbol name) the \bSource Image\r for the line number.
- #For lines describing modules, the information displayed for
- #each module is the \baddress^range\r and \bname\r.
- #.sp 1
- #Further information for the \bLine^Numbers\r command is available for:
- #.in +4 {
- #.ti -2
- #\l($365)Enter^Module^Prompt\m
- #.in -4 }
- #.($140)Symbols,Global
- #The \bGlobal\r command displays all global
- #(public) symbols associated with the program currently loaded in
- #code memory. Symbols are listed sorted alphabetically.
- #.sp 1
- #Further information for the \bGlobal\r command is available for:
- #.in +4 {
- #.ti -2
- #\l($365)Enter^Symbol^Prompt\m
- #.ti -2
- #\l($366)Screen^Content\m
- #.in -4 }
- #.($141)Symbols,Local
- #The \bLocal\r command displays all local symbols
- #associated with the program currently loaded in code memory.
- #Symbols are listed sorted first by module (or procedure) and
- #then alphabetically within each module.
- #.sp 1
- #In addition to the normal screen content for the symbol displays
- #the address range and name for each module (or procedure) is
- #displayed before the symbols for that module (or procedure).
- #.sp 1
- #Further information for the \bLocal\r command is available for:
- #.in +4 {
- #.ti -2
- #\l($365)Enter^Symbol^Prompt\m
- #.ti -2
- #\l($366)Screen^Content\m
- #.in -4 }
- #.($142)Symbols,Alpha
- #The \bAlpha\r command displays all local and global
- #(public) symbols associated with the program currently loaded in
- #code memory. Symbols are listed sorted alphabetically.
- #.sp 1
- #Further information for the \bAlpha\r command is available for:
- #.in +4 {
- #.ti -2
- #\l($365)Enter^Symbol^Prompt\m
- #.ti -2
- #\l($366)Screen^Content\m
- #.in -4 }
- #.($143)Symbols,Address
- #The \bAddress\r command displays all local and global
- #(public) symbols associated with the program currently loaded in
- #code memory. Symbols are listed sorted first by memory space
- #and then by address within each memory space.
- #The Left-arrow (\x1B) and Right-arrow (\x1A) keys select the
- #desired memory space
- #and scroll the display to the first symbol in that memory space.
- #If no symbols exist in a particular memory space the
- #Left-arrow (\x1B) and Right-arrow (\x1A) keys will
- #skip that memory space.
- #.sp 1
- #Further information for the \bAddress\r command is available for:
- #.in +4 {
- #.ti -2
- #\l($365)Enter^Symbol^Prompt\m
- #.ti -2
- #\l($366)Screen^Content\m
- #.in -4 }
- #.($144)Break/Trace
- #The \bBreak/Trace\r command pulls down a menu which gives you direct
- #access the the breakpoint and tracing features of the emulator.
- #.($145)Trace Trigger
- #The \bTrace-Trigger\r command is used to select
- #either the \l($146)Start\m, \l($147)Center\m, \l($148)End\m
- #or \l($149)Variable\m settings for the Trace Trigger.
- #.sp 1
- #The Status Window shows the current value of the trace trigger
- #in the "Trig:" field.
- #.sp 1
- #The Trace Trigger controls when emulation stops,
- #relative to the actual breakpoint, in terms of the amount of
- #information captured into the trace buffer.
- #.($146)Start
- #When you select the \bStart\r Trace Trigger,
- #emulation stops after \x7E4K trace frames accumulate in the
- #trace buffer \ufollowing\r the breakpoint.
- #.($147)Center
- #When you select the \bCenter\r Trace Trigger,
- #emulation stops after \x7E2K trace frames accumulate in the
- #trace buffer \ufollowing\r the breakpoint.
- #.($148)End
- #When you select the \bEnd\r Trace Trigger,
- #emulation stops upon reaching the first breakpoint
- #(i.e., zero (0) additional frames frames accumulate in the
- #trace buffer following the breakpoint).
- #.sp 1
- #This is the default Trace Trigger value.
- #.($149)Variable
- #When you select the \bVariable\r Trace Trigger,
- #you can specify exactly how many trace frames will accumulate in the
- #trace buffer following the breakpoint.
- #.($150)Break Count
- #You use the \bBreak Count\r command to specify the number of
- #breakpoints to be reached ("passed through") during real-time
- #emulation before emulation actually stops.
- #Unlike the \l($271)Repetition^Count\mer,
- #the \bBreak Count\rer is hardware-controlled and operates
- #nonintrusively during full-speed, real-time emulation.
- #.sp 1
- #The Status Window shows the current Break Count value in the
- #"\bBrkCnt\r" field.
- #.($151)Set
- #The \bSet\r command calls the pop up \bBreak^Menu\r from which
- #you may \l($161)Add\m, \l($167)Remove\m, \l($154)Edit\m or
- #just view breaks (both \l($152)Simple\m and \l($153)Complex\m).
- #If any breaks are added or edited in the pop up \bBreak^Menu\r,
- #they are evaluated and set only upon exit from
- #the pop up \bBreak^Menu\r.
- #.sp 1
- #The pop up \bBreak^Menu\r also provides access to the pop up
- #\l($172)Opcode^Class^Menu\m.
- #.($152)Simple Breaks
- #\bSimple^Breaks\r are single addresses or address ranges where
- #breakpoints are set or where trace is turned ON or OFF.
- #A \l($162)Code^Break\mpoint may be set for any code memory
- #address (or range) and an \l($163)External^Data^Break\mpoint
- #may be set for any External Data address (or range), but
- #\l($164)Trace^ON\m and \l($165)Trace^OFF\m points may only
- #be set for code memory addresses (or ranges).
- #.sp 1
- #The TAB key is used to toggle between the \bSimple^Break\r
- #window and the \l($153)Complex^Break\m window.
- #.($153)Complex Breaks
- #\bComplex^Breaks\r can be \l($162)Code^Break\mpoints,
- #\l($164)Trace^ON\m points and \l($165)Trace^OFF\m points.
- #Each \bComplex^Break\r element (one per line) is evaluated as the
- #\uAND\r condition of a \l($155)Code^Address\m (or range), a
- #\l($156)Direct^Address\m (or range), a \l($157)Bit^Address\m
- #(or range), an \l($158)Opcode^Value\m (or range of values), an
- #\l($160)Immediate^Operand^Value\m (or range of values) and
- #an \l($159)Opcode^Class\m. If any of the fields are left blank
- #they are not \uAND\red during the evaluation.
- #.sp 1
- #Obviously, it is easy to create a \bComplex^Break\r element
- #that makes no sense. For example, if an opcode value of 80h
- #(SJMP) is selected along with any direct address this element
- #will evaluate to NULL. When the \bComplex^Breaks\r are
- #evaluated, NULL elements are considered errors and you will
- #be notified of them.
- #.sp 1
- #The TAB key is used to toggle between the \bComplex^Break\r
- #window and the \l($152)Simple^Break\m window.
- #.($154)Edit
- #If the \l($152)Simple^Break\m window is the current window
- #when the \bEdit\r command is selected, a dialog box will pop up
- #to prompt for an address range for a \bSimple^Break\r.
- #.sp 1
- #If the \l($153)Complex^Break\m window is the current window
- #when the \bEdit\r command is selected, a pull-down menu is
- #called from which you can select which \bComplex^Break\r
- #field to \bEdit\r, \l($155)Code^Address\m,
- #\l($156)Direct^Address\m, \l($157)Bit^Address\m,
- #\l($158)Opcode^Value\m, \l($159)Opcode^Class\m, or
- #\l($160)Immediate^Operand\m.
- #.($155)Code Address Range
- #When the \bCode^Address^Range\r command is selected a dialog box
- #will pop up to prompt for a \bCode^Address^Range\r. Either a
- #single address or an address range may be entered (numerically or
- #symbolically).
- #.($156)Direct Address Range
- #When the \bDirect^Address^Range\r command is selected a dialog box
- #will pop up to prompt for a \bDirect^Address^Range\r. Either a
- #single address or an address range may be entered (numerically or
- #symbolically).
- #.sp 1
- #When \l($153)Complex^Breaks\m are evaluated, a direct address
- #(or range) is evaluated by searching the program loaded in code
- #memory for instructions that have direct operands and then comparing
- #the entered address (or range) with those operands when found.
- #.($157)Bit Address Range
- #When the \bBit^Address^Range\r command is selected a dialog box
- #will pop up to prompt for a \bBit^Address^Range\r. Either a
- #single address or an address range may be entered (numerically or
- #symbolically).
- #.sp 1
- #When \l($153)Complex^Breaks\m are evaluated, a bit address
- #(or range) is evaluated by searching the program loaded in code
- #memory for instructions that have bit operands and then comparing
- #the entered address (or range) with those operands when found.
- #.($158)Opcode Range
- #When the \bOpcode^Range\r command is selected a dialog box
- #will pop up to prompt for an \bOpcode^Range\r. Either a
- #single opcode or a range of opcodes may be entered.
- #.sp 1
- #When \l($153)Complex^Breaks\m are evaluated, an opcode
- #(or range) is evaluated by searching the program loaded in code
- #memory for instructions whose opcodes match the entered
- #opcode (or range).
- #.($159)Opcode Class
- #When the \bOpcode^Class\r command is selected a dialog box
- #will pop up to prompt for an \l($172)Opcode^Class\m name.
- #.sp 1
- #When \l($153)Complex^Breaks\m are evaluated and the entered
- #opcode class is found, the program loaded in code memory is
- #searched for opcodes that match the opcodes found in that
- #opcode class.
- #.($160)Immediate Operand Range
- #When the \bImmediate^Operand^Range\r command is selected a dialog box
- #will pop up to prompt for a \bImmediate^Operand^Range\r. Either a
- #single immediate operand or a range of immediate operands may be
- #entered.
- #.sp 1
- #When \l($153)Complex^Breaks\m are evaluated, an immediate operand
- #(or range) is evaluated by searching the program loaded in code
- #memory for instructions that have immediate operands and then
- #comparing the entered immediate operand (or range) with those
- #operands when found.
- #.($161)Add
- #When the \bAdd\r command is selected a menu is pulled-down
- #from which the type of break to \bAdd\r may be set, a
- #\l($162)Code^Break\m point, a \l($164)Trace^ON\m point, a
- #\l($165)Trace^OFF\m point and if the current window
- #is the \l($152)Simple^Break\m window, an
- #\l($163)External^Data^Break\m point.
- #.($162)CBREAK
- #When the \bCBREAK\r command is selected the type of the break
- #element to be added is set to a \bCode^Break\r point.
- #Control is then immediately passed to the \l($154)Edit\m command.
- #.($163)XBREAK
- #When the \bXBREAK\r command is selected the type of the break
- #element to be added is set to an \bExternal^Data^Break\r point.
- #Control is then immediately passed to the \l($154)Edit\m command.
- #This command is available only for the \l($152)Simple^Break\m window.
- #.($164)TRON
- #When the \bTRON\r command is selected the type of the break
- #element to be added is set to a \bTrace^ON\r point.
- #Control is then immediately passed to the \l($154)Edit\m command.
- #.($165)TROFF
- #When the \bTROFF\r command is selected the type of the break
- #element to be added is set to a \bTrace^OFF\r point.
- #Control is then immediately passed to the \l($154)Edit\m command.
- #.($166)
- #.($167)Remove
- #The \bRemove\r command is used to remove the currently
- #highlighted break element.
- #.($168)
- #(Help Information Not Used.)
- #.($169)Hex
- #The \bHex\r command toggles the \bBreak^Menu\r display mode to
- #hex mode in which only numeric addresses and values are displayed.
- #This mode has no effect on how addresses and values may be entered.
- #.($170)Symbolic
- #The \bSymbolic\r command toggles the \bBreak^Menu\r display mode to
- #symbolic mode. In this mode addresses and values are displayed
- #symbolically.
- #This mode has no effect on how addresses and values may be entered.
- #.($171)
- #(Help Information Not Used.)
- #.($172)Opcode Class
- #The \bOpcode^Class\r command calls the pop-up \bOpcode^Class^Menu\r
- #from which you can create or modify an opcode class.
- #An opcode class is a user-defined grouping of MCS-51 instructions.
- #Each opcode class is made of one or many opcode class elements.
- #Each opcode class element contains three fields, the
- #\l($177)Mnemonic\m, \l($178)Operand^1\m
- #and \l($179)Operand^2\m. Opcode class elements can be
- #\l($203)Add\med or \l($204)Remove\md and the fields of an opcode
- #class element can be \l($175)Edit\med.
- #.sp 1
- #When an opcode class element is evaluated the three fields are
- #effectively \uAND\red together. Any field left blank is not
- #included in the \uAND\r evaluation.
- #.sp 1
- #Note that although the CJNE class of instructions has three
- #operands, each CJNE instruction can be uniquely specified using the
- #provided fields.
- #.($173)Load
- #The \bLoad\r command allows you to restore a previously
- #\l($174)Save\md break setup from a disk file. Any current
- #break elements (\l($152)Simple\m and \l($153)Complex\m) are removed.
- #.($174)Save
- #The \bSave\r command allows you to store all the currently
- #defined break elements (\l($152)Simple\m and \l($153)Complex\m)
- #to a disk file. That file can be then \l($173)Load\med at a
- #later time.
- #.($175)Edit
- #When the \bEdit\r command is selected a menu is pulled-down
- #from which you may \l($176)Name\m an \l($172)Opcode^Class\m,
- #or \bEdit\r the \l($177)Mnemonic\m, \l($178)Operand^1\m or
- #\l($179)Operand^2\m field of the currently highlighted
- #opcode class element.
- #.($176)Name
- #The \bName\r command allows you to \bName\r an
- #\l($172)Opcode^Class\m. The name of an opcode class is special
- #in that when an opcode class is \l($206)Save\md, it is saved in
- #a file name that is created automatically using the opcode class
- #name. For example, if an opcode class is named "PGMFLOW" the
- #file name the opcode class will be saved to is "PGMFLOW.$OC".
- #This is true of the \l($205)Load\m command also. When the load
- #command is selected you will be prompted for the opcode class
- #name to load. The software will look for a file whose name is
- #created from the opcode class name in the manner described above.
- #.($177)Mnemonic
- #The \bMnemonic\r command allows you to edit the \bMnemonic\r
- #field of the currently highlighted \l($172)Opcode^Class\m element.
- #Any valid MCS-51 instruction mnemonic is valid.
- #.($178)Operand 1
- #The \bOperand^1\r command calls a pull-down menu from which you
- #may select the type of \l($373)Operand\m to use for the
- #\bOperand^1\r field. The first operand of an MCS-51 instruction
- #is often called the destination operand.
- #.($179)Operand 2
- #The \bOperand^2\r command calls a pull-down menu from which you
- #may select the type of \l($373)Operand\m to use for the
- #\bOperand^2\r field. The second operand of an MCS-51 instruction
- #is often called the source operand.
- #.($203)Add
- #The \bAdd\r command adds an empty \l($172)Opcode^Class\m element
- #and automatically passes control to the \l($175)Edit\m pull-down menu.
- #The \bAdd\red opcode class element is then highlighted (made the
- #current opcode class element).
- #.($204)Remove
- #The \bRemove\r command removes the current (highlighted)
- #\l($172)Opcode^Class\m element.
- #.($205)Load
- #The \bLoad\r command allows you to restore a previously
- #\l($206)Save\md \l($172)Opcode^Class\m. If an opcode class
- #is currently loaded in memory it will be cleared before
- #the new opcode class is \bLoad\red. When the \bLoad\r command
- #is selected you will be prompted for the opcode class
- #\l($176)Name\m to load. The software will search for the disk
- #file for that opcode class. The file name used is created from
- #the opcode class name. For example, if the desired opcode class
- #is named "PGMFLOW" the file name searched for is "PGMFLOW.$OC".
- #.($206)Save
- #The \bSave\r command is used to store the currently defined
- #\l($172)Opcode^Class\m to a disk file. The disk file name is
- #created from the opcode class \l($176)Name\m. For example,
- #if the opcode class name is "PGMFLOW" the opcode class will
- #be \bSave\rd to the file named "PGMFLOW.$OC". If the opcode
- #class has not been named yet, you will be prompted to enter
- #the name.
- #.($207)Clear
- #The \bClear\r command is used to clear all breaks set
- #through the \l($151)Break^Menu\m.
- #.($208)Disable
- #The \bDisable\r command is used to temporarily disable all breaks
- #set through the \l($151)Break^Menu\m. The breaks can be
- #enabled using the \l($209)Enable\m command.
- #.($209)
- #The \bEnable\r command is used to enable breaks (originally
- #set through the \l($151)Break^Menu\m) that were temporarily
- #\l($208)Disabled\m.
- #.($210)View Trace
- #The \bView-Trace\r command is used to examine and/or write to a file
- #the contents of the trace buffer.
- #The trace buffer can be examined/written in several
- #different display modes.
- #.($211)Raw
- #In the \bRaw\r display mode, you see the binary content of
- #the address/data bus for each bus cycle (trace frame)
- #in a raw hex format.
- #.sp 1
- #The notations used in the \bRaw\r mode display are:
- #.sp 1
- #.in +4 {
- #.in +11 {
- #.ti -11
- #*^^^^^^^^^^Opcode-fetch cycle
- #(beginning of instruction's execution)
- #.ti -11
- #**(LCALL)^^Interrupt (1st ALE cycle)
- #.ti -11
- #**^^^^^^^^^Interrupt (2nd, 3rd & 4th ALE cycles)
- #.ti -11
- #R^^^^^^^^^^Reset
- #.ti -11
- #DMA^^^^^^^^DMA activity
- #.ti -11
- #?^^^^^^^^^^same as "(uncertain)" in the \l($212)Code\m display mode
- #.ti -11
- #<<^^^^^^^^^(Probe column) marks next instruction
- #to be executed (not executed yet)
- #.in -11 }
- #.in -4 }
- #.($212)Code
- #In the \bCode\r display mode, you see the content of the trace buffer
- #interpreted as fully dis-assembled instructions, including all
- #available symbolic information (except HLL source images).
- #.sp 1
- #The notations used in the \bCode\r display mode are:
- #.sp 1
- #.in +4 {
- #.in +13 {
- #.ti -13
- #**LCALL^^^^^^Interrupt
- #.ti -13
- #*R*^^^^^^^^^^Reset (only when in middle of an instruction)
- #.ti -13
- #DMA^Cycle^^^^DMA activity (not part of instruction's execution)
- #.ti -13
- #(uncertain)^^(unable to decode with absolute certainty
- #because only part of an instruction's
- #execution trace was captured in the
- #buffer due to automatic wraparound in the
- #circular trace memory in the emulator)
- #.ti -13
- #<<<<<<<^^^^^^(Probe column) marks next instruction
- #to be executed (not executed yet)
- #.in -13 }
- #.in -4 }
- #.($213)HLL
- #In the \bHLL\r display mode, you see the decoded content of the
- #the trace buffer interpreted as HLL source language images.
- #This can be done only if the \b%rs1\r system
- #has access to the source/listing files corresponding to
- #the modules in your program.
- #Source languages supported include C and PL/M-51.
- #.($214)Mixed
- #The \bMixed\r display mode is a combination of the Code and HLL
- #\l($212)Code\m and \l($213)HLL\m display modes.
- #The HLL source images (HLL mode display), if available,
- #appear interspersed appropriately with the generated
- #machine code (Code mode display).
- #.($215)Probes
- #The \bProbes\r command cyclically toggles the display of the captured
- #probe clip bit values through three display modes:
- #.sp 1
- #.in +2 {
- #.in +4 {
- #.ti -4
- #1.^^Binary
- #.ti -4
- #2.^^Hexadecimal
- #.ti -4
- #3.^^Digital waveform
- #.in -4 }
- #.in -2 }
- #.sp 1
- #The \bProbes\r command and its associated display are available in
- #the \l($211)Raw\m, \l($212)Code\m and \l($214)Mixed\m
- #primary display modes.
- #.sp 1
- #The digital waveform display in the \bRaw\r display mode
- #reflects every frame in the trace buffer.
- #However, the waveform display in \bCode\r and \bMixed\r
- #modes reflects only the probe clip values in the first ALE
- #cycle of each intruction's execution. Therefore, if a probe signal
- #transitions \uduring\r the ALE cycles of an instruction's
- #execution, the displayed waveform may appear "broken".
- #When you see this, you can switch into \bRaw\u display mode
- #to get the complete picture.
- #.($216)Search
- #The \bSearch\r command allows you to search the trace buffer
- #for a particular address, label, source line number or trace frame.
- #.sp 1
- #In searching for an address, label or source line number,
- #the search commences from the current position in the trace buffer
- #(the highlighted line in the middle of the window).
- #You can search backwards in the trace buffer, looking for older
- #trace frames, or forwards, looking for newer (more recent) trace
- #frames.
- #.($217)Write
- #You can write the entire trace buffer to a disk file by selecting
- #\bWrite\r command. The format of the information written to
- #that file will be just as you see it on the screen
- #(i.e., in human-readable form, in the current display mode).
- #.($244)Keyboard Input Control & Syntax
- #\bKeyboard Editing Control Keys:\r
- #.sp 1
- #.in +2 {
- #.in +11 {
- #.ti -11
- #\x1B^^^^^^^^^^move
- #the cursor one character position to the left
- #or scroll field horizontally
- #.ti -11
- #\x1A^^^^^^^^^^move
- #the cursor one character position to the right
- #or scroll field horizontally
- #.ti -11
- #Ctrl^Home^^move to beginning of input field
- #.ti -11
- #Ctrl^End^^^move to end of input field
- #.ti -11
- #Backspace^^delete the character to the left of the cursor
- #.ti -11
- #Del^^^^^^^^delete the character under the cursor
- #.ti -11
- #Ins^^^^^^^^toggle to/from insert mode (to insert a
- #character before the character under the cursor)
- #.ti -11
- #Esc^^^^^^^^immediate exit (cancel input)
- #.ti -11
- #Enter^^^^^^terminate input "normally" (at any character position)
- #.in -11 }
- #.in -2 }
- #.sp 1
- #\bInput Syntax\r
- #.sp 1
- #.in +2 {
- #When \b%rs1\r requests an address or value to be input in an input
- #box, the following forms can be used:
- #.sp 1
- #.in +2 {
- #\bNumbers\r
- #.sp 1
- #.in +2 {
- #.ba {
- #^^^^^^^^^^^^^^\xDA^\xBF
- #\xDA^\xBF^^^^^^^^^^^\xB3H\xB3
- #\xB3\xF1\xB3<digits...>\xB3h\xB3
- #\xC0^\xD9^^^^^^^^^^^\xB3.\xB3
- #^^^^^^^^^^^^^^\xC0^\xD9
- #.ea }
- #.sp 1
- #.in +2 {
- #If you supply a suffix of 'H' or 'h', the number will be
- #treated as a hexadecimal number (base 16).
- #If you supply a suffix of '.', the number will be
- #treated as a decimal number (base 10).
- #If you don't supply an explicit suffix, the number will be interpreted
- #according to context: normally, hexadecimal for addresses and
- #decimal for counts.
- #.sp 1
- #Note that if you intend a hexadecimal number to begin with letter
- #('a'-'f' or 'A'-'F'), you must explicitly supply a leading zero
- #before that letter.
- #.in -2 }
- #.in -2 }
- #.sp 1
- #\bLabels/Symbols/Variables\r
- #.sp 1
- #.in +2 {
- #.ba {
- #\xDA^\xBF
- #\xB3\xF1\xB3symaddr
- #\xC0^\xD9
- #.ea }
- #.sp 1
- #.in +2 {
- #where 'symaddr' is one of:
- #.sp 1
- #.in +2 {
- #.in +15 {
- #.ti -15
- #sym^^^^^^^^^^^^Global
- #symbol 'sym', or local symbol 'sym' defined within the current module.
- #.ti -15
- ##number^^^^^^^^Line number 'number', within the current module.
- #.ti -15
- #mod:#number^^^^Line number 'number', within module 'mod'.
- #.ti -15
- #mod:sym^^^^^^^^Local symbol 'sym'
- #defined within module 'mod'.
- #.ti -15
- #mod:sym1:sym2^^Local symbol
- #'sym2' defined within local procedure 'sym1' defined in module 'mod'.
- #.in -15 }
- #.in -2 }
- #.sp 1
- #sym = code label, procedure/function name or variable name.
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.($245)Help for Help
- #\bGeneral\r
- #.sp 1
- #.in +2 {
- #"Boldfaced" text in a Help Topic appears as:^^\bboldfaced\r.
- #"Underlined" text in a Help Topic appears as:^^\uunderlined\r.
- #.in -2 }
- #.sp 1
- #\bHyperlinks\r
- #.sp 1
- #.in +2 {
- #A hyperlink is a viewable cross-reference embedded within one
- #Help Topic to another, related Help Topic.
- #You can "select" this embedded reference to view the Help Topic
- #denoted by the hyperlink. To do this, you first "position" to
- #the hyperlink of interest (a given Help Topic may contain several
- #embedded hyperlinks) and then "select" it:
- #.sp 1
- #.in +4 {
- #.in +11 {
- #.ti -11
- #\bTab\r^^^^^^^^position to next hyperlink and highlight it
- #.ti -11
- #\bShift^Tab\r^^position to previous hyperlink and highlight it
- #.ti -11
- #\bEnter\r^^^^^^select current (highlighted) hyperlink
- #.in -11 }
- #.in -4 }
- #.sp 1
- #The \l($246)Configure|Options|Stack^Hyperlinks\m toggle controls
- #the behavior of the Help System when a new hyperlink is selected.
- #.in -2 }
- #.sp 1
- #\bHelp for "Pushed Contexts" (F2)\r
- #.sp 1
- #.in +2 {
- #In some cases, the \b%rs1\r context-sensitive Help System is too
- #context-sensitive. For example, while you are typing the name of
- #a file to be loaded into the emulator,
- #you might press the 'Help' hot key to get help on
- #the acceptable file types.
- #However, since you are in an
- #input dialog box, you will get Help about editing keyboard input.
- #In such cases, you can press the \bF2\r function key to obtain
- #Help for the "outer context(s)". Pressing \bF2\r repeatedly will take
- #you back on the path that got you to where you are now, showing you
- #each Help Topic along the way.
- #.sp 1
- #To get back to your present position in the Help System,
- #simply press \bEsc\r to get back from the \bF2\r digression.
- #(You will need to press \bEsc\r once for each time you pressed
- #the \bF2\r key.
- #Unlike the \l($246)Configure|Options|Stack^Hyperlinks\m toggle,
- #the \bF2\r type of hyperlinking always "stacks".)
- #.in -2 }
- #.sp 1
- #\bMove or Resize Help Box\r
- #.sp 1
- #.in +2 {
- #.in +8 {
- #.ti -8
- #Ctrl^V^^Enter "Mo\bv\re Help Box" mode.
- #See \l($353)Move^Box\m for more details.
- #.sp 1
- #.ti -8
- #Ctrl^R^^Enter "\bR\resize Help Box" mode.
- #See \l($354)Resize^Box\m for more details.
- #.in -8 }
- #.in -2 }
- #.sp 1
- #For your convenience, \l($247)General^Help\m is also available from
- #here.
- #.($246)Stack Hyperlinks
- #The \bStack Hyperlinks\r toggle controls the behavior
- #of the Help System when a new Help Topic is invoked via
- #a hyperlink:
- #.sp 1
- #.in +2 {
- #.in +6 {
- #.ti -6
- #On:^^^When you select a new Help Topic via a hyperlink
- #in the current Help Topic,
- #the host software "remembers" your position in the
- #current Help Topic. When you exit that new Help Topic,
- #you return to the "remembered" position in the current
- #Help Topic. This process applies recursively.
- #.ti -6
- #Off:^^When you select a new Help Topic via a hyperlink
- #in the current Help Topic,
- #the host software does \unot\r "remember" your position in the
- #current Help Topic. When you exit that new Help Topic,
- #you exit the Help System.
- #.in -6 }
- #.in -2 }
- #.($247)General Help
- #\bContext-Sensitive^Help\r
- #.sp 1
- #.in +2 {
- #You can obtain context-sensitive Help information anywhere within
- #the \b%rs1\r host software by pressing the hot key
- #(function key) for Help, \bF1\r.
- #.in -2 }
- #.sp 1
- #\bGeneral^Help\r
- #.sp 1
- #.in +2 {
- #Following are some hyperlinks to general information and
- #other miscellaneous topics.
- #These topics are grouped together here because they are not associated
- #with any single, particular context within the \b%rs1\r system.
- #.sp 1
- #Press the \bTab\r key
- #to highlight the information you wish to view and then
- #press \bEnter\r:
- #.sp 1
- #.in +2 {
- #\l($346)Pull-down^Menus\m^^^^^^^^^^\l($248)Special^Keys\m
- #.sp 1
- #\l($249)Command^Line^Options\m^^^^^\l($250)System^Files\m
- #.in -2 }
- #.sp 1
- #\bDemo Information:\r
- #.sp 1
- #.in +2 {
- #\l($349)Overview^of^iceMASTER\m^^^^\l($350)Description^of^Demo/Simulator\m^
- #.sp 1
- #\l($351)Probe^Card^Catalog\m^^^^^^^\l($352)Contact\m^
- #.in -2 }
- #.in -2 }
- #.($248)Special Keys
- #Throughout the \b%rs1\r system, certain special keystrokes and
- #keystroke combinations always have
- #the same meaning (cause the same effect or same action).
- #The following table lists those keys and describes their effects.
- #.sp 1
- #.in +3 {
- #.in +12 {
- #.ti -12
- #Keystroke^^^Effect/Action
- #.ti -12
- #---------^^^-------------
- #.ti -12
- #Esc^^^^^^^^^Exit, or back out of, current menu/command.
- #.ti -12
- #\x18^^^^^^^^^^^Move highlight bar or cursor up one line.
- #.ti -12
- #\x19^^^^^^^^^^^Move highlight bar or cursor down one line.
- #.ti -12
- #\x1B^^^^^^^^^^^Move highlight bar or cursor one position
- #to the left.
- #.ti -12
- #\x1A^^^^^^^^^^^Move highlight bar or cursor one position
- #to the right.
- #.ti -12
- #Home^^^^^^^^Move highlight bar or cursor to the beginning
- #of the data in the window/box.
- #.ti -12
- #End^^^^^^^^^Move highlight bar or cursor to the end
- #of the data in the window/box.
- #.ti -12
- #PgUp^^^^^^^^Move highlight bar or cursor one screenful back
- #in the data in the window/box.
- #.ti -12
- #PgDn^^^^^^^^Move highlight bar or cursor one screenful ahead
- #in the data in the window/box.
- #.ti -12
- #Tab^^^^^^^^^Position (move) to the next window or field.
- #.ti -12
- #Shift^Tab^^^Position (move) to the previous window or field.
- #.ti -12
- #Ctrl^V^^^^^^Enter Box/Menu/Window "Mo\bv\re" mode.
- #See \l($353)Move^Box\m for more details.
- #.ti -12
- #Ctrl^R^^^^^^Enter Box/Menu/Window "\bR\resize" mode.
- #See \l($354)Resize^Box\m for more details.
- #\bCtrl^R\r acts as a 3-way toggle when you use it
- #on the pull-down menu boxes themselves.
- #.ti -12
- #Ctrl^W^^^^^^\bW\rrite the data in the window/box to a disk file
- #of your choice.
- #In all cases where the \bWrite\r command is present, \bCtrl^W\r
- #is an alias for \bWrite\r. In some contexts where it is not
- #appropriate to have a specific \bWrite\r command, \bCtrl^W\r
- #still is available to perform the 'Write' action.
- #For example, \bCtrl^W\r is available in most of the pop-up windows
- #accessible from the \bSource/Symbols\r menu bar command.
- #.in -12 }
- #.in -3 }
- #.($249)Command Line Options
- #Command line options (arguments) can begin with either a dash, \b-\r,
- #or a forward slash, \b/\r.
- #Command line arguments may be specified in any order;
- #they are case-sensitive:
- #.sp 1
- #.in +8 {
- #.ti -8
- #-a
- #.sp 1
- #If you are using a very old version of Archimedes C,
- #this argument is required for the \b%rs1\r host software to
- #properly handle/display code labels.
- #.sp 1
- #.ti -8
- #-d^<ms>
- #.sp 1
- #Set the macro playback delay between keystrokes
- #to <ms> milliseconds. \b-d <ms>\r is to be used in conjunction
- #with the \b-i\r command line argument.
- #.sp 1
- #.ti -8
- #-hbbb
- #.sp 1
- #Heuristics to help in determining each module's
- #beginning and ending address.
- #Each 'b' is either '0' (don't use) or '1' (use),
- #as follows:
- #.sp 1
- #.in +3 {
- #.ba {
- #-hbbb
- # |||_ Use min/max code text initialization
- # || addresses from each module.
- # ||__ Use min/max source line number
- # | addresses from each module.
- # |___ Use min/max code label (local or global)
- # addresses from each module.
- #.ea }
- #.in -3 }
- #.sp 1
- #The default is '-h111': Use all three pieces of
- #information in determining the minimum and maximum
- #addresses for each module. You may see better results
- #for some programs with
- #.sp 1
- #.in +2 {
- #.in +3 {
- #.in +7 {
- #-h110^^Use both min/max code label addresses
- #and min/max source line number addresses
- #in determining the beginning and ending
- #addresses for each module.
- #.in -7 }
- #.in -3 }
- #.sp 1
- #or even
- #.sp 1
- #.in +3 {
- #.in +7 {
- #-h010^^Use only min/max source line number
- #addresses in determining the beginning and
- #ending addresses for each module.
- #.in -7 }
- #.in -3 }
- #.in -2 }
- #.sp 1
- #.ti -8
- #-i^<macrofile_name>
- #.sp 1
- #Use <macrofile_name> as the startup macro input file.
- #.sp 1
- #.ti -8
- #-l
- #.sp 1
- #Ignore LOCAL symbols when loading an absolute object
- #module format file. Use where some symbolic debug is
- #desired when there are an extremely large number of
- #local symbols. This is provided as an
- #alternative to selective
- #re-compiling/re-assembling and relinking without
- #debug info output.
- #.sp 1
- #.ti -8
- #-m^<file_name>
- #.sp 1
- #Use <file_name> as the Model File (probe card description/definition
- #file) instead of \b$MODEL\r.
- #.sp 1
- #.ti -8
- #-n
- #.sp 1
- #Forces interpretation of the 'blink' video
- #attribute bit to mean "intensify the background color".
- #Effectively, this allows use of 16 background colors
- #rather than the normal 8.
- #This option should be specified only when your PC has
- #an EGA/VGA adapter installed, attached to an EGA/VGA
- #monitor.
- #.sp 1
- #Normally, the \b%rs1\r host software automatically determines how to
- #interpret the 'blink' bit, based on the adapter and
- #monitor installed in the computer. However, sometimes
- #the software can get "fooled". This option provides an
- #absolute override.
- #.sp 1
- #.ti -8
- #-o
- #.sp 1
- #Forces interpretation of the 'blink' video
- #attribute bit to mean "blink the foreground character".
- #This option should be specified when your PC has
- #a Monochrome or CGA adapter installed, attached to a
- #monochrome or CGA monitor.
- #Normally, the \b%rs1\r host software automatically determines how to
- #interpret the 'blink' bit, based on the adapter and
- #monitor installed in the system. However, sometimes
- #the software can get "fooled". This option provides an
- #absolute override.
- #.sp 1
- #.ti -8
- #-s <path>
- #.sp 1
- #<path> to use in locating Higher-Level Language (HLL)
- #source files; if not specified, the default is the current
- #directory.
- #.sp 1
- #.ti -8
- #-v
- #.sp 1
- #Disable testing (loading) of all possible video
- #character sets (screen sizes) during host software initialization.
- #This option is handy when you want to use a screen size
- #(number of rows) which is not directly settable from
- #within the host software using the
- #\l($47)Configure|Display^Attributes|Lines\m command.
- #If you specify the \b-v\r option,
- #the \b%rs1\r host software will respect (use, retain, not change)
- #the screen size (number of rows) in effect on entry to
- #the host software.
- #.sp 1
- #For example, you can use the Norton
- #Utilities' Norton Control Center to set a screen
- #size and then invoke the host software with the \b-v\r option
- #to retain that screen size while using the host software.
- #.sp 1
- #If you use this option, you must ensure that the PC is in some usable
- #video mode when the host software is invoked
- #(e.g., BIOS Video Mode 3, the default for CGA,EGA,VGA monitors).
- #.sp 1
- #When you use this option, the
- #\l($47)Configure|Display^Attributes|Lines\m will be inaccessible.
- #.sp 1
- #.ti -8
- #<file_name>
- #.sp 1
- #name of file to be \l($86)Load\med automatically into the \b%rs1\r
- #emulator when the host software is invoked from the DOS command line.
- #.in -8 }
- #.($250)System Files
- #.in +5 {
- #.ti -5
- #\b$MODEL\r
- #.sp 1
- #This file describes the unique properties, characteristics
- #and features of a particular probe card (pod).
- #The $MODEL file also contains the Help information.
- #.sp 1
- #.ti -5
- #\b$CLR1$\r
- #.sp 1
- #Supplied file containing the default color and video attribute
- #settings suitable for CGA monitors.
- #.sp 1
- #.ti -5
- #\b$CLR2$\r
- #.sp 1
- #Supplied file containing the default color and video attribute
- #settings suitable for EGA/VGA monitors.
- #.sp 1
- #.ti -5
- #\b$CLRM$\r
- #.sp 1
- #Supplied file containing the default color and video attribute
- #settings suitable for Monochrome monitors.
- #.sp 1
- #.ti -5
- #\b$TRDAT$\r
- #.sp 1
- #A temporary (scratch) file which contains the raw, binary
- #image of the current trace buffer. The host software reads the
- #contents of the trace buffer from the emulator and writes it to
- #this file to minimize memory consumption within the host PC.
- #.sp 1
- #.ti -5
- #\b$CODMEM$\r
- #.sp 1
- #A temporary (scratch) file which contains the raw, binary
- #image of the program currently loaded in the emulator.
- #This file is used when setting complex breakpoints
- #to minimize memory consumption within the host PC.
- #.in -5 }
- #.($251)Repaint Windows
- #The \bRepaint\r windows command simply repaints all the windows on the
- #main screen.
- #.sp 1
- #You can select this command (repeatedly) to monitor the values
- #of a port's pins if you suspect that they are changing when the
- #emulator is in "break condition"
- #(i.e., emulator not currently emulating).
- #.($252)Code
- #The \bCode\r command calls a pop up menu which allows you to
- #\l($254)Fill\m, \l($255)Move\m or \l($257)Write\m a block of raw
- #code memory and to \l($256)Compare\m two blocks of raw code memory.
- #There is also a \l($253)Browse\m mode available to allow you
- #to browse through raw code memory.
- #.($253)Browse
- #\bBrowse^Mode\r is entered by selecting the \bBrowse\r command
- #or by using any of the keypad cursor keys (\uexcept\r the left '\x1B'
- #and right '\x1A' arrow keys).
- #In browse mode you can scroll through memory by using
- #\uany\r of the keypad cursor keys or can type an address
- #(absolute or symbolic) to quickly view an area in memory.
- #.sp 1
- #Once in \bBrowse^Mode\r, you may switch between
- #\bBrowse^Mode\r and \bChange^Mode\r by using the TAB key.
- #In \bChange^Mode\r you can scroll through memory in the
- #same manner as \bBrowse^Mode\r but may also change the value of
- #a memory address. This is done by pressing 'Enter' when
- #positioned at the desired address. You will then be
- #prompted to enter the value to store at that address.
- #.($254)Fill
- #The \bFill\r command is used to quickly fill a block a memory
- #with some value (or values). When the \bFill\r command is
- #selected a dialog box will pop up to prompt for the address
- #range to fill and the pattern to fill that range with.
- #.sp 1
- #The fill pattern may contain one or many values up to a total
- #typed length of about 80 characters. If multiple
- #values are needed, they must be separated by commas (',') or
- #spaces (' '). Numeric values are by default hexadecimal and
- #ASCII literals must be quoted (e.g, use 'A' to put the ASCII
- #value of A in memory).
- #.($255)Move
- #The \bMove\r command is used to move (copy) a block of memory
- #to another location in memory. When the \bMove\r command is
- #selected a dialog box will pop up to prompt for the address
- #range for the source block and the starting address of the
- #target block.
- #.($256)Compare
- #The \bCompare\r command is used to compare two blocks of memory.
- #When the \bCompare\r command is selected a dialog box will
- #pop up to prompt for the address range of one block and the
- #starting address of the second block. If the blocks are the
- #the same a message will inform you of that. If the blocks are
- #not the same the addresses and values of the mismatches will
- #be displayed, along with a count of the total number of
- #mismatches found.
- #.($257)Write
- #The \bWrite\r command is used to write a block of memory
- #to a disk file. The block will be written in the same format
- #that the data is displayed on screen. When the \bWrite\r
- #command is selected a dialog box will pop up to prompt for
- #the address range of the block to write and for the name
- #of the file to write the data to.
- #.($258)Idata
- #The \bIdata\r command calls a pop up menu which allows you to
- #\l($254)Fill\m, \l($255)Move\m or \l($257)Write\m a block of
- #Indirect Internal Data memory and to \l($256)Compare\m two blocks of
- #Indirect Internal Data memory.
- #There is also a \l($253)Browse\m mode available to allow you
- #to browse through Indirect Internal Data memory.
- #.($264)Xdata
- #The \bXdata\r command calls a pop up menu which allows you to
- #\l($254)Fill\m, \l($255)Move\m or \l($257)Write\m a block of
- #External Data memory and to \l($256)Compare\m two blocks of
- #External Data memory.
- #There is also a \l($253)Browse\m mode available to allow you
- #to browse through External Data memory.
- #.($270)Unknown Data Type Size
- #The \bUnknown Data Type Size\r command is used to set the number of
- #bytes to display for the value of an unknown data type in the
- #\l($140)Global\m, \l($141)Local\m, \l($142)Alpha\m, and
- #\l($143)Address\m symbol displays. Up to 4 bytes can be displayed.
- #.($271)Repetition Counter
- #The \bRepetition Counter\r specifies how many
- #emulation cycles will occur, after the next
- #\l($96)Run\m-type command is issued,
- #before "everything finally stops".
- #.sp 1
- #The steps in this process are:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1)^^Set the Repetition Counter to some value greater than one.
- #.ti -4
- #2)^^Select one of the \bRun\r commands (\bReset\r, \bGo\r or \bStep\r).
- #.ti -4
- #3)^^Emulations begins.
- #.ti -4
- #4)^^Hardware breakpoint reached and real-time emulation stops.
- #(If the \l($150)Break^Count\mer is non-zero, emulation does not
- #actually stop until the program's flow-of-control passes through
- #the specified number of breakpoints.)
- #.ti -4
- #5)^^Host software updates all windows.
- #.ti -4
- #6)^^Host software decrements Repetition Counter. If result is
- #not zero, emulation resumes (at current PC) and goto \b4)\r above.
- #.in -4 }
- #.in -4 }
- #.($272)Slow Motion
- #The \bSlow^Motion\r command starts an automatically repeated
- #cycle of \l($102)Step\m commands. The default delay between each
- #repetition of the cycle is 500 milliseconds (1/2 second).
- #You can increase the delay (go slower) by pressing the
- #minus key, \b-\r.
- #You can decrease the delay (go faster) by pressing the
- #plus key, \b+\r.
- #The Status Window shows the current delay time in the \bState:\r
- #field.
- #.sp 1
- #You stop a \bSlow^Motion\r emulation by pressing the \bEsc\r key.
- #.($273)Performance Analyzer
- #The \bPerformance^Analyzer\r allows you to monitor the
- #amount of time spent executing specified parts of the program
- #loaded in code memory. There are several reasons for using
- #a performance analyzer:
- #.sp 1
- #.in +8 {
- #.ti -4
- #To identify and optimize program "hot spots".
- #.ti -4
- #To verify there is no "dead" (unexecuted) code.
- #.ti -4
- #To verify that execution is always within program bounds.
- #.ti -4
- #To verify execution of certain code in response to some
- #internal or external condition/stimulus.
- #.in -8 }
- #.sp 1
- #Each portion of the program to be monitored is called a bin.
- #A bin contains a \l($370)Type\m, a \l($372)Number\m,
- #a \l($369)Capture^Range\m and a \l($371)Description\m.
- #Usually, each bin will consist of a single code memory address
- #range (starting address through ending address, inclusive),
- #although a bin may be created with several code memory address
- #ranges which are not contiguous. PC sample counts and
- #percentages are collected on a per-bin basis.
- #.($274)Statistics
- #The \bStatistics\r pull-down menu allows you to
- #\l($276)Accumulate\m, \l($275)Clear\m and \l($277)View\m
- #performance analysis statistics (sample counts).
- #.($275)Statistics,Clear
- #The \bClear\r command clears any statistics (sample counts)
- #gathered during previous performance analysis emulation(s).
- #.($276)Statistics,Accumulate
- #The \bAccumulate\r command allows you to control
- #whether or not statistics (sample counts) from one
- #performance analysis emulation to the next will be
- #accumulated. When accumulate is \bOFF\r any statistics
- #from previous emulations are cleared before subsequent
- #emulations. When accumulate is \bON\r any statistics from new
- #emulations are added to the statistics from previous emulations.
- #The state the accumulate command is displayed in the
- #Statistics Pull-down Menu and on the performance analyzer
- #setup screen.
- #.($277)Statistics,View
- #The \bView\r command allows you to view the results of
- #previous performance analysis emulations.
- #.($278)Run
- #The \bRun\r pull-down menu allows you to start a
- #performance analysis emulation in three ways, by
- #\l($279)Emulator^Reset\m, by \l($280)Target^Reset\m
- #and by \l($281)Go\m (from PC). Note that a
- #performance analysis setup must be defined before any of
- #these commands will function.
- #.($279)Run,Reset (Emulator)
- #The \bReset^(Emulator)\r command starts a performance
- #analysis emulation from a reset condition. The reset signal
- #will be supplied by the emulator itself.
- #.($280)Run,Reset (Target)
- #The \bReset^(Target)\r command starts a performance
- #analysis emulation from a reset condition. The reset signal
- #will be supplied by the target system. Emulation will not
- #begin until a reset signal is received from the target system.
- #.($281)Run,Go
- #The \bGo\r command starts a performance analysis emulation.
- #Emulation begins at the code memory location indicated by
- #the PC.
- #.($282)Quick-setup
- #The \bQuick-setup\r pull-down allows you to quickly
- #define one of four types of performance analysis setups.
- #They are \l($283)N-Equal\m, \l($284)Module\m,
- #\l($285)Procedure\m and \l($286)Line^Numbers\m.
- #The number of \l($291)Bins\m used for a quick-setup can
- #also be set, otherwise the default number of bins will be used.
- #No bins will be created with \l($369)Capture^Ranges\m
- #out of the \l($290)Capture^Span\m used for the setup.
- #.($283)Quick-setup,N-Equal
- #The \bN-Equal\r command is used to quickly define a setup
- #of equally sized bins. It does this by partitioning the
- #\l($290)Capture^Span\m into N equally sized areas (where
- #N is the number of \l($291)Bins\m).
- #Each created bin
- #will be created as \l($370)Type\m 'Neql' with the
- #\l($371)Description\m set with the number of bytes
- #in the \l($369)Capture^Range\m.
- #.($284)Quick_setup,Module
- #The \bModule\r command is used to quickly define a setup
- #monitoring module address ranges. If possible, each bin will
- #monitor one module; as specified by the program
- #currently loaded into code memory. If the program contains
- #more modules than the number of \l($291)Bins\m, each bin
- #may monitor several modules.
- #.sp 1
- #Each created bin will be created as \l($370)Type\m 'Mod' with
- #the \l($371)Description\m set with the name(s) of the module(s)
- #monitored by the bin. Each bins
- #\l($369)Capture^Range\m will be from the starting address
- #of the first module monitored by the bin through the
- #ending address of the last module monitored by the bin, inclusive.
- #.($285)Quick_setup,Procedure
- #The \bProcedure\r command is used to quickly define a setup
- #to monitor the address ranges between
- #procedures, functions and global (public) code labels.
- #If possible, each bin will monitor the range between one
- #procedure, function, or global code label and the next.
- #If the program contains more procedures, functions, and
- #global code labels than the number of \l($291)Bins\m, each bin
- #may monitor the address range encompassing several
- #procedure, function, or global code labels.
- #.sp 1
- #Each created bin will be created as \l($370)Type\m 'Proc' with
- #the \l($371)Description\m set with the name(s) of the
- #procedure(s), function(s), or global code label(s)
- #monitored by the bin.
- #Each bins \l($369)Capture^Range\m will be from the address
- #of the first procedure, function, or global code label
- #monitored by the bin through the address (-1) of the first
- #procedure, function, or global code label monitored by the next bin.
- #.sp 1
- #Note that global code memory labels are included because not
- #all language processors (compilers) mark procedures/functions
- #properly in the absolute object module debug records.
- #.($286)Quick_setup,Line Numbers
- #The \bLine^Numbers\r command is used to quickly define a setup
- #monitoring line number address ranges. If possible, each bin will
- #monitor the range between one line number and the next line number.
- #If the program contains more line numbers than the number
- #of \l($291)Bins\m, each bin may monitor the address ranges
- #encompassing several line numbers.
- #.sp 1
- #Each created bin will be created as \l($370)Type\m 'Lnum' with
- #the \l($371)Description\m set with the name(s) of the
- #module(s) and line number(s) monitored by the bin.
- #Each bins \l($369)Capture^Range\m will be from the address
- #of the first line number monitored by the bin through the
- #address (-1) of the first line number of the next bin.
- #.($287)Misc
- #The \bMisc\r pull-down menu allows you to
- #\l($288)Clear\m a defined performance analyzer setup,
- #to change the \l($289)Sort^Order\m used to display a
- #performance analyzer setup and to define the
- #\l($290)Capture^Span\m the performance analyzer
- #setup will encompass.
- #.($288)Misc,Clear
- #The \bClear\r command is used to clear all bins associated
- #with a defined performance analyzer setup. This includes any
- #statistics from previous performance analyzer emulations.
- #.($289)Misc,Sort Order
- #The \bSort^Order\r command is used to change the sort order
- #of the displayed bins in the current performance analyzer
- #setup. The setup can be sorted by either \l($372)Bin^Number\m or
- #\l($369)Capture^Range\m. The current sort order is displayed in
- #the Misc Pull-down Menu and in the title above the bins
- #in the performance analyzer setup menu.
- #.($290)Misc,Capture Span
- #The \bCapture^Span\r command allows you to specify the
- #code memory address span over which the bin \l($369)Capture^Ranges\m
- #may be defined. Neither \l($282)Quick-setup\m bins or user-defined
- #bins can have a capture range out of that span.
- #The capture span is displayed in the upper left of the
- #performance analyzer setup menu.
- #.sp 1
- #If a quick setup is selected before the capture span has been
- #defined, the capture span will default to the address range
- #covered by the program currently loaded in code memory. If no
- #program is loaded the capture span will then default to all
- #of addressable code memory.
- #.($291)Quick-setup,Bins
- #The \bBins\r command allows you to specify the number of
- #bins to use in a \l($282)Quick-setup\m. However, if there
- #are not enough ranges (generated by the quick setup)
- #to fill the number of bins specified the number of bins will be
- #be set to the number needed. For example, if you specify
- #12 bins and then select a \l($284)Module\m quick setup and there
- #are only 4 modules, the number of bins will be set to 4.
- #.sp 1
- #In addition, if the number of bins is not defined before a
- #quick setup is selected, the number of bins will default to
- #15 for a High Resolution Performance Analysis setup
- #and 50 for
- #a High Bin Count Performance Analysis setup.
- #Of course, this number may be
- #automatically adjusted downward as described above.
- #The maximum number of bins that may be specified is 15 for
- #a High Resolution Performance Analysis setup and 999 for
- #a High Bin Count Performance Analysis setup.
- #The number of bins is displayed in the
- #Quick-Setup Pull-down Menu and at the upper right of the
- #performance analyzer setup menu.
- #.sp 1
- #If the maximum number of bins is specified there is a
- #special case where the number of bins may be decremented
- #by one. This will happen if a \l($370)Miss^Bin\m is needed.
- #.($292)Edit
- #The \bEdit\r command allows you to edit the contents of
- #the currently highlighted bin. Any bin can be edited except
- #for the \l($370)Miss^Bin\m.
- #All fields of a bin (\l($372)Number\m, \l($369)Capture^Range\m
- #and \l($371)Description\m) can be edited except for bin
- #\l($370)Type\m which is changed automatically by the software
- #depending on how the other fields are edited. In general,
- #the bin type will be changed to 'User' if any fields of the
- #bin are changed.
- #.sp 1
- #If the edited fields are valid the Miss Bins will be
- #recalculated and the setup will be sorted and redisplayed.
- #.sp 1
- #Note that if the \bEdit\r command is selected when no bins
- #are defined you are given an empty bin to edit, which
- #is effectively the \l($292)Add\m command.
- #.($293)Add
- #The \bAdd\r command allows you to add a bin to the
- #current performance analyzer setup. When the \bAdd\r
- #command is selected control is automatically passed to the
- #\l($292)Edit\m screen with an empty
- #bin and edit screen rules apply.
- #If the edited fields are valid the bin will be added
- #to the setup, the \l($370)Miss^Bins\m will be recalculated,
- #the number of \l($291)Bins\m will be incremented by one and
- #the setup will be sorted and redisplayed.
- #.($294)Delete
- #The \bDelete\r command is used to delete the currently highlighted
- #bin from the current performance analyzer setup. Any bin but the
- #\l($370)Miss^Bin\m can be deleted. After a bin has been deleted
- #the miss bins will be recalculated,
- #the number of \l($291)Bins\m will be decremented by one and
- #the setup will be sorted and redisplayed.
- #.($295)File
- #The \bFile\r Pull-down Menu allows you to \l($296)Save\m
- #a performance analyzer setup to a disk file and to \l($297)Load\m
- #a previously saved performance analyzer setup from a disk file.
- #.($296)File,Save
- #The \bSave\r command allows you to save the currently
- #defined performance analyzer setup to a disk file. You
- #will be prompted for the name of the file. A saved setup can
- #be restored later using the \l($297)Load\m command.
- #.($297)File,Load
- #The \bLoad\r command allows you to restore a previously
- #stored performance analyzer setup (via the \l($296)Save\m command).
- #You will be prompted for the name of the file.
- #.($323)Raw
- #The \bRaw\r command changes the display format to Raw Mode.
- #In the Raw Mode, you see only the bar graph (percentage) lines,
- #one per bin.
- #.sp 1
- #Note that the bar graph (percentage) lines exist in all of the
- #other display formats, too.
- #.sp 1
- #.in +2 {
- #An asterisk following the percentage of time spent in
- #a bin indicates a non-zero sample count for that bin.
- #This indication is useful, as the percentage of time spent
- #in a particular bin may be non-zero,
- #but less than 0.1%% (in which case,
- #the percentage of time spent in that bin displays as
- #"0.0*").
- #.in -2 }
- #.($324)Symbolic
- #The \bSymbolic\r command changes the display format to Symbolic Mode.
- #In the Symbolic Mode, you see the bar graph (percentage) line
- #for each bin,
- #followed by one line for each global (PUBLIC) and/or local code
- #memory label within each address range in that bin.
- #.sp 1
- #The Model File A42 directive controls whether the display contains
- #only global code labels or only local code labels,
- #or both.
- #.sp 1
- #In the display, an asterisk ('*') precedes global code labels
- #to distinguish them from local code labels.
- #.($325)HLL
- #The \bHLL\r command changes the display format to HLL Mode.
- #In the HLL Mode, you see the bar graph (percentage) line
- #for each bin,
- #followed by the HLL source line images
- #within each address range in that bin.
- #If a particular HLL source image is not available to %rs1,
- #the display shows only the module name and line number.
- #If the program loaded into code memory does not
- #contain source line number debug records, it is not possible
- #for %rs1 to display either HLL source line images
- #or module names and line numbers.
- #.($326)Mixed
- #The \bMixed\r command changes the display format to Mixed Mode.
- #In the Mixed Mode, you see everything included in the other
- #primary display formats:
- #\l($323)Raw\m, \l($324)Symbolic\m and \l($325)HLL\m.
- #.sp 1
- #If a code memory label and an HLL source image are located
- #at the same code memory address, the code memory label will
- #appear in the display before the HLL source image.
- #.($327)Counts
- #The \bCounts\r command toggles the display
- #from showing a bar graph (percentage) line for each bin
- #to showing the actual sample (hit) count for that bin.
- #The \bCounts\r display mode toggle command operates independently
- #of any other display control command.
- #.sp 1
- #The sum of the sample counts for each bin usually equals the
- #total sample count shown near the top-right of the
- #display at "Samples:";
- #however, the \l($329)Miss^Bin\m may or may not be included in the
- #total "Samples:" count.
- #.($328)Expand
- #The \bExpand\r command toggles the display into and out of
- #expanded display mode.
- #The \bExpand\red display mode toggle command operates independently
- #of any other display control command.
- #.sp 1
- #When expanded mode is on,
- #following each bar graph (percentage) line for each bin,
- #there will be one line showing each address range in the bin
- #if than bin contains (covers) more than one address range.
- #.sp 1
- #You can enter \bExpand\red display mode only if there is at
- #least one bin that contains (covers) more than one address range.
- #.($329)Misses
- #The \bMisses\r toggle command controls whether or not
- #"misses" are included in:
- #.sp 1
- #.in +2 {
- #.in +4 {
- #.ti -4
- #1)^^the total sample count displayed
- #near the top-right of the screen at "Samples:", and,
- #.ti -4
- #2)^^the cumulative percentage statistic.
- #.in -4 }
- #.in -2 }
- #.sp 1
- #The Performance Analyzer allocates the "Miss Bin" to
- #monitor program execution in \ueach and every\r code memory location
- #which you are not explicitly monitoring.
- #The Miss Bin does not exist if you are explicitly
- #monitoring (via the current Performance Analyzer Setup)
- #every code memory location.
- #.sp 1
- #Even when the \bMisses\r command is toggled to the 'OFF'
- #mode (and thus, the percentage for the Miss Bin
- #is computed as zero), you can view the actual sample counts in
- #the Miss Bin by toggling the \l($327)Counts\m mode to 'ON'.
- #.($330)Write
- #The \bWrite\r command allows you to write all current performance
- #analysis results to a file of your choice.
- #The information will be written using the current display formats.
- #.($331)Help (Performance Analyzer View)
- #\l($323)Raw\m^^^^^^\l($324)Symbolic\m^^^\l($325)HLL\m^^^\l($326)Mixed\m
- #.sp 1
- #\l($327)Counts\m^^^\l($328)Expand\m^^^^^\l($329)Misses\m
- #.sp 1
- #\l($330)Write\m
- #.($343)Write
- #You can write the disassembled content of code memory
- #to a disk file by selecting
- #\bWrite\r command. The format of the information written to
- #that file will be just as you see it on the screen
- #(i.e., in human-readable form, in the current display mode).
- #.($344)
- #(Help Information for "HC_???" To Be Supplied.)
- #.($345)Select Color
- #The column headers on the right hand side of this display
- #are very short abbreviations for the following color controls:
- #.sp 1
- #.in +11 {
- #.ti -11
- #Column^^^^^^^
- #.ti -11
- #Header^^^^^Meaning
- #.ti -11
- #---------^^-------------------------
- #.ti -11
- #Cl^border^^box border, color
- #.ti -11
- #Hl^border^^box border, highlight color
- #.ti -11
- #L^^border^^box border, line style
- #.ti -11
- #S^^border^^box border, -- shadow under box?
- #.ti -11
- #E^^border^^box border, -- exploding box?
- #.ti -11
- #Cl^body^^^^box body, color
- #.ti -11
- #Hl^body^^^^box body, highlight color
- #.ti -11
- #Qk^body^^^^box body, quick-key color
- #.ti -11
- #Hk^body^^^^box body, hot-key color
- #.ti -11
- #Vl^body^^^^box body, value color
- #.ti -11
- #In^body^^^^box body, inactive (inaccessible) command color
- #.ti -11
- #Is^body^^^^box body, inactive (inaccessible)
- #command selected (highlighted) color
- #.in -11 }
- #.sp 1
- #You will notice that the abbreviations and the explanations
- #refer primarily to fields that appear in \l($346)pull-down^menu\ms,
- #although many apply to "boxes" in general.
- #.sp 1
- #Some pop-up windows and menus overload the meaning of some otherwise
- #"Not Applicable" color controls to govern a field or area
- #which is unique to that menu or window.
- #Those cases where the internal usage of a particular
- #color control differs from the definitions given above
- #are:
- #.sp 1
- #.in +2 {
- #.ti -2
- #\bFunction^Key^label^lines\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Cl^body^^^^Function key numbers preceding labels.
- #.ti -11
- #Hl^body^^^^Function key labels.
- #.ti -11
- #In^body^^^^Function key label when associated command/menu is
- #already active (invoked).
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bPop-up:^^Yes/No/Cancel^Questions\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hl^body^^^^Currently highlighted response.
- #.ti -11
- #Qk^body^^^^Quick-Key for "\bY\res", "\bN\ro" or "\bC\rancel".
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bWindow:^^Registers\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hl^body^^^^Highlighted "current register".
- #.ti -11
- #Qk^body^^^^GPRn values.
- #.ti -11
- #Hk^body^^^^PSW bit values.
- #.ti -11
- #Vl^body^^^^SFR values.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bWindow:^^Source\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hl^body^^^^Current PC position.
- #.ti -11
- #Qk^body^^^^Value history information for current PC.
- #.ti -11
- #Hk^body^^^^Module name & line number comments.
- #.ti -11
- #Vl^body^^^^HLL source images.
- #.ti -11
- #In^body^^^^Value history information for other than current PC.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bWindow:^^Watch\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Qk^body^^^^Variable's name.
- #.ti -11
- #Hk^body^^^^Variable's value when different from value at last break.
- #.ti -11
- #Vl^body^^^^Variable's value.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bWindow:^^Status\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Cl^body^^^^Names (labels) and all values which
- #are not "heartbeat-updated" during emulation.
- #.ti -11
- #Qk^body^^^^Values for Real-Time Clock, Reset Count and State.
- #.ti -11
- #Hk^body^^^^Values for PC, Break Address and DPTR.
- #.ti -11
- #Vl^body^^^^Values which
- #are "heartbeat-updated" during emulation.
- #.ti -11
- #In^body^^^^Values for Trace Memory Status, Trace Memory Read
- #and Trace Trigger.
- #.ti -11
- #Is^body^^^^Values for Break and Repetition Counters.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Help\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hl^body^^^^Boldfaced text.
- #.ti -11
- #Qk^body^^^^Hyperlink.
- #.ti -11
- #Hk^body^^^^Current ("tabbed-to") Hyperlink.
- #.ti -11
- #Vl^body^^^^Underlined text.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Break-Point\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Vl^body^^^^Current line highlight bar.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Opcode^Class\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Vl^body^^^^Current line highlight bar.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^View^Trace\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hl^border^^Digital waveform probe clip display: value lines.
- #.ti -11
- #Hk^body^^^^Digital waveform probe clip display: body.
- #.ti -11
- #Vl^body^^^^HLL source images.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Disassembler/Assembler\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Vl^body^^^^HLL source images.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Code,Idata,Xdata^View/Change\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hk^body^^^^Prompt/input line highlight.
- #.ti -11
- #Vl^body^^^^Current address highlight.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Performance^Analyzer^--^Set^Up\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Vl^body^^^^Current line highlight bar.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Performance^Analyzer^--^View\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hk^body^^^^Bin information (percentage) lines -- entire line
- #except bar graph bars.
- #.ti -11
- #Vl^body^^^^HLL source images.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Performance^Analyzer^--^View^(Highlights)\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Cl^body^^^^Bar graph bars.
- #.ti -11
- #Hl^body^^^^Real-time Clock, Sample Count and Reset Count values
- #(post-emulation review).
- #.ti -11
- #Qk^body^^^^PC and Break Address values
- #(post-emulation review).
- #.ti -11
- #Hk^body^^^^Values which are "heartbeat-updated" dynamically
- #during emulation.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Configure^Windows\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Vl^body^^^^Current values/settings.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bMenu:^^Function^Key^View/Modify\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hk^body^^^^Highlight for current line & title in current
- #window (Assignment or Option).
- #.ti -11
- #Vl^body^^^^Highlight for current line in non-current window.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bSource/Symbol^Displays\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Hk^body^^^^Accessible (referenceable) source line numbers --
- #those source line numbers for which the compiler generated debugging
- #information. This type of highlighting is used only in the
- #\l($136)Raw^Source\m pop-up window.
- #.ti -11
- #Vl^body^^^^Current line highlight bar.
- #.in -11 }
- #.sp 1
- #.ti -2
- #\bSign-On^Screen\r
- #.sp 1
- #.in +11 {
- #.ti -11
- #Qk^body^^^^Background "wallpaper".
- #.in -11 }
- #.in -2 }
- #.sp 1
- #.($346)Pull-Down Menus
- #The general format of a line in a pull-down menu is:
- #.sp 1
- #.in +2 {
- #.ba {
- # ----------------------------------
- #|<command_name> <hot_key> <value> \x10|
- # ----------------------------------
- #.sp 1
- #Example:
- #.sp 1
- # -----------------------------
- #|Repetition \uC\rount Alt-F8 500 \x10|
- # -----------------------------
- #.ea }
- #.in -2 }
- #.sp 1
- #.in +5 {
- #.ti -5
- #\b<command_name>\r
- #.sp 1
- #is the name of the command.
- #The highlighted letter in the <command_name> is called the "quick key".
- #You can invoke the command by pressing the key corresponding to
- #the quick key.
- #Usually (but not always) the quick key is the first letter in
- #the <command_name>. For this reason, "quick key command selection"
- #is often referred to as "first letter command selection".
- #.sp 1
- #Quick keys are local to each pull-down menu.
- #The same quick key letter means different things (invokes different
- #commands) in each pull-down menu.
- #Quick keys are effective only when the pull-down menu is
- #"pulled-down".
- #.sp 1
- #.in +4 {
- #Another way to select, or execute, a command in a pull-down menu
- #is to move the highlight bar to that command
- #(using the \b\x19\r and \b\x18\r keys) and then press \bEnter\r.
- #.in -4 }
- #.sp 1
- #.sp 1
- #.ti -5
- #\b<hot_key>\r
- #.sp 1
- #is the function key keystroke or keystroke combination
- #which you can use to invoke the command.
- #Hot key (function key) command selection is effective throughout
- #the \b%rs1\r system, regardless of whether or not the pull-down
- #menu containing the associated command is pulled-down.
- #Not all commands have hot keys.
- #The \l($75)Function^Key^Modify\m menu allows you to customize
- #the hot key (function key) assignments to suit your needs.
- #.sp 1
- #.ti -5
- #\b<value>\r
- #.sp 1
- #is the current value (setting) of the
- #the attribute or feature controlled
- #by the command.
- #Not all commands have associated <value>s.
- #.sp 1
- #.ti -5
- #\b\x10\r
- #.sp 1
- #is a flag indicating that, when the command is selected,
- #more interaction is required with you to ultimately "execute"
- #the command.
- #This interaction can take the form of a dialog box or a pop-up
- #menu of choices.
- #A command which does not have the \x10 flag executes
- #immediately when you select that command.
- #.in -5 }
- #.sp 1
- #\bMiscellaneous\r
- #.sp 1
- #Some commands in a pull-down menu may be inactive.
- #The \b%rs1\r host software "lowlights" inactive commands so that
- #you know they are inaccessible.
- #In addition, the host software lowlights
- #the function key (hot key) label for that command.
- #.sp 1
- #Commands can be, or become, inactive because:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1.^^The probe card (target chip) does not have the feature or
- #attribute controlled by, or associated with, the command.
- #For example, only the '517 and '537 have
- #a hardware \l($126)Multiplication-Division-Unit\m.
- #.sp 1
- #.ti -4
- #2.^^The current state of the system, or environment, is such that
- #a particular command does not apply or does not "make sense".
- #For example, if you have loaded an assembly language program
- #into the \b%rs1\r emulator, the \l($96)Run\m commands associated
- #with "single-stepping by source line number" will be inactive,
- #because an assembly language program does not have source
- #line numbers.
- #.in -4 }
- #.in -4 }
- #.($347)End of Tour
- #That concludes our brief tour through a few of the features
- #of the flexible and powerful \b%rs1\r emulator system.
- #.sp 1
- #Press \bEsc\r to find out more
- #about \xFA\xFA\xFA \b%rs1\r.
- #.sp 1
- #.($348)Demo Information
- #You are now in the online, hyperlinked Help System of
- #\b%rs1\r's host software.
- #The remainder of this presentation can proceed at any pace
- #you choose, in any sequence you choose.
- #You are in control now.
- #.sp 1
- #Below are some Help Topics that explain much more about \b%rs1\r.
- #We recommend that you peruse these topics in the sequence shown below,
- #but the choice is yours to do whatever you want.
- #.sp 1
- #Press the \bTab\r key to highlight the topic you wish to explore
- #further and then press \bEnter\r:
- #.sp 1
- #.in +2 {
- #\l($349)Overview^of^iceMASTER\m^^^^\l($350)Description^of^Demo/Simulator\m^
- #.sp 1
- #\l($351)Probe^Card^Catalog\m^^^^^^^\l($352)Contact\m^
- #.in -2 }
- #.sp 1
- #When you are finished digesting the information here,
- #just press \bEsc\r to exit the Help System and you'll be
- #on your way to experiencing a new standard in
- #\uEMULATION PRODUCTIVITY\r.
- #.sp 1
- #After completely \l($121)Exit\ming this demo emulation session,
- #you can reinvoke the host software Demo/Simulator simply by typing
- #\bICEDEMO\r at the DOS command prompt.
- #.($349)Overview of iceMASTER
- #.sp 1
- #Welcome to the %rs2 \b%rs1\r 8051 Family Overview.
- #.sp 1
- #%rs2's \b%rs1\r emulators
- #are in-circuit emulators designed for use in
- #developing and debugging circuits and embedded software
- #based on the MCS-51 family of single-chip microcontrollers.
- #.sp 1
- #This is an overview of the functions and capabilities
- #of the \b%rs1\r emulators which can expedite your
- #development of hardware and software, and ease system integration.
- #.sp 1
- #Feel free to make copies of the demo diskettes and
- #pass those copies on to other engineers who may be interested.
- #.sp 1
- #All %rs2 \b%rs1\r emulators consist of an emulator base unit,
- #attached to a small probe card (pod) via an umbilical cable.
- #The probe card, which contains the device being emulated,
- #inserts into the socket for the device in your target
- #development system. Many probe cards are available,
- #supporting a wide variety of MCS-51 CMOS, NMOS, ROM, EPROM
- #or ROMless devices. The emulator base unit connects to the
- #host PC (personal computer) via a standard RS-232-C serial
- #communications link operating at 115.2K baud.
- #.sp 1
- #The \b%rs1\r emulator is a
- #high-performance, full-featured, economical,
- #small profile/footprint emulator supporting
- #full probe card interchangeability.
- #.sp 2
- #\bSPECIFICATIONS and OPTIONS\r
- #.co {{
- #.sp 1
- #\bOperating Modes\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Single Chip Mode
- #.ti -2
- #Microprocessor Mode
- #.ti -2
- #Watchdog Timer Enabled/Disabled (\b%rs1 Model 400\r)
- #.ti -2
- #DMA Active
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bFile Formats\r
- #.sp 1
- #.in +2 {
- #%rs2, Archimedes, Avocet, BSO, Enertec, Franklin, IAR Systems,
- #Intel OMF, Kiel, MCC, Microtec Research, Tasking,
- #Motorola S-Record, Intel HEX.
- #.in -2 }
- #.co }{
- #.sp 1
- #\bMacro\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Repetitive routines
- #.ti -2
- #User-created and callable
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bMemory Operations\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Program Memory:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Single-line Assembly
- #.ti -2
- #Disassemble
- #.ti -2
- #Disassemble to file
- #.ti -2
- #Examine/Modify
- #.ti -2
- #Mapping
- #.in -2 }
- #.in -2 }
- #.ti -2
- #Internal/External Data Memory:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Dump
- #.ti -2
- #Dump to file
- #.ti -2
- #Fill
- #.ti -2
- #Move
- #.ti -2
- #Change
- #.ti -2
- #Search
- #.ti -2
- #Compare
- #.in -2 }
- #.in -2 }
- #.ti -2
- #SFR/Bit Memory:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Examine/Modify
- #.in -2 }
- #.in -2 }
- #.ti -2
- #Program Variables:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Examine/Modify
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bMechanichal Specifictions\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Emulator Dimensions:
- #.ba {
- #1.0" x 7.0" x 5.5"
- #2.5cm x 17.8cm x 14.0cm
- #.ea }
- #.ti -2
- #Probe Card Cable Length:
- #.ba {
- #14.0" 35.6cm
- #.ea }
- #.ti -2
- #Emulator Weight
- #.ba {
- #2.0lbs 0.9kg
- #.ea }
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bElectrical Specifications\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Input Power (maximum):
- #.ba {
- #1.5A @ +5VDC \xF15%%
- #.ea }
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bWarranty\r
- #.sp 1
- #.in +2 {
- #One (1) year limited warranty, parts and labor, for registered users.
- #.in -2 }
- #.co }{
- #.sp 1
- #\bEmulation Memory\r
- #.sp 1
- #.in +2 {
- #.ba {
- # Standard Optional
- #8051 Family:
- # Program: 16K 64K
- # External Data: 16K 64K
- #.ea }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bMapping Resolution\r
- #.sp 1
- #.in +2 {
- #.ba {
- #Program: 16-byte blocks
- #External Data: 16-byte blocks
- #.ea }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bOperating Characteristics\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Real-Time:
- #.ba {
- #8051: DC to 20MHz
- #.ea }
- #.ti -2
- #Electrically Transparent
- #.ti -2
- #Operationally Transparent
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bUser Interface\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Pull-down & Pop-up Menus
- #.ti -2
- #Main Screen Windows
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Registers/SFRs/PSW bits
- #.ti -2
- #Bit Memory
- #.ti -2
- #Stack
- #.ti -2
- #Internal Data Memory
- #.ti -2
- #External Data Memory
- #.ti -2
- #Source Program
- #.ti -2
- #Watch
- #.ti -2
- #System Status
- #.in -2 }
- #.in -2 }
- #.ti -2
- #User Window Controls
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Selectable (On/Off)
- #.ti -2
- #Movable
- #.ti -2
- #Resizable
- #.ti -2
- #Scrollable
- #.ti -2
- #Color selection
- #.ti -2
- #Highlighting
- #.in -2 }
- #.in -2 }
- #.ti -2
- #Function/Hot Key Access
- #.in +2 {
- #.in +2 {
- #.ti -2
- #User-assignable
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bEmulation Controls\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Reset from Emulator
- #.ti -2
- #Reset from Target
- #.ti -2
- #Go
- #.ti -2
- #Go From
- #.ti -2
- #Go Until
- #.ti -2
- #Slow Motion
- #.ti -2
- #Step
- #.ti -2
- #Step Line
- #.ti -2
- #Step Over
- #.ti -2
- #Step To
- #.ti -2
- #Repetition Counter
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bPerformance Analyzer\r (\b%rs1 Model 400\r)
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Real-time Program Profiling
- #.ti -2
- #5.4\xE6sec. sampling period
- #.ti -2
- #7-year duration
- #.ti -2
- #Display Options:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Bar Graph
- #.ti -2
- #Frequency Counts
- #.in -2 }
- #.in -2 }
- #.ti -2
- #Display Modes:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Raw
- #.ti -2
- #Symbolic
- #.ti -2
- #HLL Source Lines
- #.ti -2
- #Mixed
- #.in -2 }
- #.in -2 }
- #.ti -2
- #15 Bin Capacity
- #.in +2 {
- #.in +2 {
- #.ti -2
- #\uMultiple\r, \unon-contiguous\r ranges per Bin
- #.in -2 }
- #.in -2 }
- #.ti -2
- #User-controlled Bin Set Up:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #By Address
- #.ti -2
- #By Label/Symbol
- #.ti -2
- #By Module
- #.ti -2
- #By Line Number
- #.ti -2
- #Automatic
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bBreak/Trace\r (\b%rs1 Model 400\r)
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #128K Break Triggers
- #.ti -2
- #64K Trace-On Triggers
- #.ti -2
- #64K Trace-Off Triggers
- #.ti -2
- #Trigger Conditions:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #PC address & range
- #.ti -2
- #Opcode Value
- #.ti -2
- #Opcode Class
- #.ti -2
- #Special Function Registers
- #.ti -2
- #Direct byte address & range
- #.ti -2
- #Direct bit address & range
- #.ti -2
- #Immediate operand value
- #.ti -2
- #Read/Write to bit address
- #.ti -2
- #Read/Write to SFR address
- #.sp 0
- #Logical AND/OR of any of the above
- #.ti -2
- #External Data address & range
- #.ti -2
- #Break Count overflow
- #.ti -2
- #External Input
- #.in -2 }
- #.in -2 }
- #.ti -2
- #Trace Triggers:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Start
- #.ti -2
- #Center
- #.ti -2
- #End
- #.ti -2
- #Variable
- #.in -2 }
- #.in -2 }
- #.ti -2
- #4K-Frame Trace Buffer
- #.ti -2
- #Trace Contents:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Address
- #.ti -2
- #Data
- #.ti -2
- #External Clips
- #.ti -2
- #DMA Activity
- #.in -2 }
- #.in -2 }
- #.ti -2
- #Trace Display Modes:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Raw Hex
- #.ti -2
- #Symbolic
- #.ti -2
- #HLL Source
- #.ti -2
- #Mixed
- #.ti -2
- #Binary (Clips)
- #.ti -2
- #Digital Waveform (Clips)
- #.in -2 }
- #.in -2 }
- #.ti -2
- #Trace Buffer Operations:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Search Trace Buffer
- #.ti -2
- #Write Trace Buffer to a File
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bDevice-Unique Support\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #A-to-D Converter
- #.ti -2
- #FIFO
- #.ti -2
- #Multiply-Divide Unit (MDU)
- #.ti -2
- #Multiple DPTRs
- #.ti -2
- #PROM Programmer
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bSource/Symbol Support\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #C and PL/M
- #.ti -2
- #Source-level debug
- #.ti -2
- #HLL Structure/Content Display:
- #.in +2 {
- #.in +2 {
- #.ti -2
- #Modules
- #.ti -2
- #Scopes
- #.ti -2
- #Line Numbers
- #.ti -2
- #Program Variables
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bHelp\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #On-line
- #.ti -2
- #Context-sensitive
- #.ti -2
- #Hyperlinked
- #.in -2 }
- #.in -2 }
- #.co }{
- #.sp 1
- #\bHost Computer\r
- #.sp 1
- #.in +2 {
- #.in +2 {
- #.ti -2
- #IBM PC or a fully-compatible PC clone
- #.ti -2
- #1 5\xAC" floppy diskette drive
- #.ti -2
- #1 hard disk drive
- #.ti -2
- #640K bytes of memory
- #.ti -2
- #RS-232-C serial communication interface board
- #.ti -2
- #RS-232 cable with a male connector at the emulator end
- #.ti -2
- #PC-DOS or MS-DOS Version 2.0 or later
- #.in -2 }
- #.in -2 }
- #.co }}
- #.($350)Description of Demo/Simulator
- #The ICEDEMO.EXE program (the program you are now using)
- #is a nearly FULLY-FUNCTIONAL demo version of the host PC
- #software package with which you would interact to control a "real"
- #%rs2 \b%rs1\r emulator. Rather than "talking to" an emulator
- #base unit, however, this demo version of the host software contains
- #within it software modules which mimic (simulate) the behavior
- #of a true \b%rs1\r hardware emulator base unit and
- #probe card. Also bundled in is a full simulator for the 8052 CPU
- #architecture.
- #.sp 1
- #This demo version of the Host software has the following properties:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1)^^The emulator supported is an \b%rs1 Model 400\r emulator
- #with 16K of Code memory and 16K of External Data memory.
- #The probe card supported is that for an 8052.
- #.sp 1
- #.ti -4
- #2)^^Since ICEDEMO.EXE contains within it modules which mimic
- #the behavior of the emulator hardware, probe card and 8052 CPU,
- #ICEDEMO.EXE consumes quite a bit more memory in the PC than the
- #non-demo version of the Host software. This constrains the size
- #of programs (e.g., total number of symbols) that can be loaded
- #into the demo emulator.
- #.sp 1
- #.ti -4
- #3)^^External events and interrupts (e.g., timer interrupts) are not
- #simulated/supported. Access to a port is treated as an access to the
- #port register, not the port pins. Timers act as simple registers
- #(i.e., they do not count automatically). Basically, the "chip"
- #simulator built into the demo emulator system simulates the 8052 CPU
- #\uarchitecture\r, but does not simulate any \uperipheral functions\r
- #of the 8052 chip.
- #.sp 1
- #.ti -4
- #4)^^When this demo "emulator" is placed into emulation (executing code
- #in the 8052 processor), the execution time reported will be that for a
- #12MHz 8052 executing the same code. However, since the execution of
- #each instruction is actually being simulated in software, the elapsed
- #wall clock time will be significantly greater than the
- #execution time displayed in the Status Window.
- #.sp 1
- #.ti -4
- #5)^^The Performance Analyzer's sampling rate is much lower
- #than that in an actual \b%rs1\r emulator hardware base unit. Again,
- #this is because the execution of each 8052 instruction is being
- #simulated in software.
- #.sp 1
- #.ti -4
- #6)^^Requests to map memory (Code or External Data) to your target
- #system effectively are ignored. However, the demo emulator will
- #report that the requested block of memory has been mapped (assigned)
- #successfully to your target system.
- #.sp 1
- #.ti -4
- #7)^^The 8052 demo emulator system may be configured to operate only in
- #"Mode 1" (ROMless operation). The system will issue a diagnostic
- #message if you attempt to configure the emulator into any
- #other mode.
- #.sp 1
- #.ti -4
- #8)^^When beginning execution from the RESET condition,
- #you should select the \l($97)Reset^(emulator)\m command.
- #.sp 1
- #.ti -4
- #9)^^The \bProbe Bit\r values captured in the Trace Buffer are
- #randomly-generated values.
- #.in -4 }
- #.in -4 }
- #.sp 1
- #We have included three simple demo programs which may be loaded into
- #the demo emulator system. All programs are based on a simple scheme
- #of outputting a pulse train on Port 1, Pin 0 (P1.0):
- #.sp 1
- #.in +4 {
- #.in +13 {
- #.ti -13
- #DEMO.DBG^^^^^%rs2 ASM51 8051 Macro Cross Assembler version
- #.ti -13
- #A_DEMO.AOM^^^Archimedes C Compiler version
- #.ti -13
- #F_DEMO.AOM^^^Franklin C Compiler version
- #.in -13 }
- #.in -4 }
- #.sp 1
- #A detailed description of each file in this directory follows:
- #.sp 1
- #\bSystem/Utility Files\r
- #.sp 1
- #.in +4 {
- #.in +13 {
- #.ti -13
- #ICEDEMO.EXE^^The demo version of the emulator host PC software.
- #.sp 1
- #.ti -13
- #$MODEL^^^^^^^Configuration file defining the probe card for the demo
- #emulator as an 8052. The emulator host software
- #(ICEDEMO.EXE) reads this $MODEL file during its one-time
- #initialization sequence.
- #The $MODEL file also contains the Help information.
- #.in -13 }
- #.in -4 }
- #.sp 1
- #\bDemonstration Programs\r
- #.sp 1
- #.in +4 {
- #.in +15 {
- #.ti -15
- #DEMO.ASM^^^^^^^ASM51 demo program (assembly language source)
- #.ti -15
- #DEMO.DBG^^^^^^^ASM51 demo program (loadable, absolute object module format)
- #.ti -15
- #DEMO.HEX^^^^^^^ASM51 demo program (loadable, '.HEX' format (no debug info))
- #.ti -15
- #DEMO.LST^^^^^^^Assembler-generated listing file for DEMO
- #.in -15 }
- #.in -4 }
- #.sp 1
- #\bA_DEMO.AOM: Archimedes C Demo Program (Generic)\r
- #.sp 1
- #.in +4 {
- #.in +14 {
- #.ti -14
- #A_CSTART.LST^^C Runtime Library startup routine (assembler output listing)
- #.ti -14
- #A_CSTART.S03^^C Runtime Library startup routine (assembly language source)
- #.ti -14
- #A_DEMO.AOM^^^^Loadable, absolute object module (with debug information)
- #.ti -14
- #A_DEMO.MAP^^^^Linker-generated map of A_DEMO.AOM
- #.ti -14
- #A_HLMAIN.C^^^^Main program (function 'main()'; C source)
- #.ti -14
- #A_HLMAIN.LST^^Compiler-generated listing file for A_HLMAIN.C
- #.ti -14
- #A_INNER.C^^^^^Function 'innerloop()' (C source)
- #.ti -14
- #A_INNER.LST^^^Compiler-generated listing file for A_INNER.C
- #.ti -14
- #A_MAKE.BAT^^^^Batch file to generate A_DEMO.AOM from scratch
- #.ti -14
- #A_MAKE.LCL^^^^Librarian control file for generating A_DEMO.AOM
- #.ti -14
- #A_MAKE.XCL^^^^Linker control file for generating A_DEMO.AOM
- #.ti -14
- #A_WASTE.C^^^^^Function 'wastetime()' (C source)
- #.ti -14
- #A_WASTE.LST^^^Compiler-generated listing file for A_WASTE.C
- #.in -14 }
- #.in -4 }
- #.sp 1
- #\bF_DEMO.AOM: Franklin Software 8051 C Demo Program (Generic)\r
- #.sp 1
- #.in +4 {
- #.in +14 {
- #.ti -14
- #F_DEMO.AOM^^^^Loadable, absolute object module (with debug information)
- #.ti -14
- #F_DEMO.M51^^^^Linker-generated load map for F_DEMO.AOM
- #.ti -14
- #F_HLMAIN.C^^^^Main program (function 'main()'; C source)
- #.ti -14
- #F_HLMAIN.LST^^Compiler-generated listing file for F_HLMAIN.C
- #.ti -14
- #F_INNER.C^^^^^Function 'innerloop()' (C source)
- #.ti -14
- #F_INNER.LST^^^Compiler-generated listing file for F_INNER.C
- #.ti -14
- #F_MAKE.BAT^^^^Batch file to generate F_DEMO.AOM from scratch
- #.ti -14
- #F_VECT.A51^^^^ASM-51 source module (reserves space for interrupt vectors)
- #.ti -14
- #F_VECT.LST^^^^Assembler-generated listing file for F_VECT.A51
- #.ti -14
- #F_WASTE.C^^^^^Function 'wastetime()' (C source)
- #.ti -14
- #F_WASTE.LST^^^Compiler-generated listing file for F_WASTE.C
- #.in -14 }
- #.in -4 }
- #.sp 1
- #At the DOS command prompt, to invoke the \b%rs1\r 8052 demo emulator
- #at some later time and
- #automatically load one of the supplied demo programs,
- #you need only type:
- #.sp 1
- #.in +4 {
- #.in +19 {
- #.ti -19
- #ICEDEMO^DEMO.DBG^^^to load the assembly language demo program
- #.ti -19
- #ICEDEMO^A_DEMO.AOM^to load the Archimedes C demo program
- #.ti -19
- #ICEDEMO^F_DEMO.AOM^to load the Franklin C demo program
- #.ti -19
- #ICEDEMO^prog_file^^to load your own program(s)
- #.in -19 }
- #.in -4 }
- #.sp 1
- #Or, at the DOS command prompt, just type:
- #.sp 1
- #.in +4 {
- #ICEDEMO
- #.in -4 }
- #.sp 1
- #and then use the \l($86)File|Load\m command to load a program
- #file into the demo emulator.
- #.sp 1
- #Feel free to run your own programs using the demo emulator system,
- #keeping in mind the constraints mentioned at the beginning of this
- #Help Topic
- #(e.g., 16K Code memory, no external events).
- #.($351)MetaLink Emulator and Probe Card Catalog
- #Effective: 1991 January 1
- #.sp 1
- #All \b%rs1\r emulators support full probe card interchangeability.
- #To emulate several different devices, you need purchase only a single
- #emulator base unit and then one probe card for each unique device
- #to be emulated.
- #.sp 1
- #Both the \b%rs1 Model 200\r and the \b%rs1 Model 400\r emulators
- #come with 16K of Code memory
- #and 16K of External Data memory. You can purchase a memory upgrade
- #option to expand both of these memory areas to a full 64K each.
- #Power supplies to operate
- #\b%rs1\r emulators can be purchased separately from %rs2.
- #.sp 1
- #The \b%rs1 Model 400\r emulator has the following additional
- #features/capabilities:
- #.sp 1
- #.in +4 {
- #.in +4 {
- #.ti -4
- #1.^^4K-Frame Trace Buffer
- #.ti -4
- #2.^^Performance Analyzers
- #.in +4 {
- #.ti -4
- #a.^^High Resolution
- #.ti -4
- #b.^^High Bin Count
- #.in -4 }
- #.ti -4
- #3.^^Full Watchdog Timer (WDT) Support in all emulation modes
- #.in -4 }
- #.in -4 }
- #.sp 1
- #\bProbe Cards\r
- #.sp 1
- #All %rs2 probe cards include a Break-Input signal clip,
- #a Trigger-Output signal clip and seven user-placeable
- #Trace-Capture-Input signal clips. In addition, there
- #is a user-selectable jumper for XTAL source.
- #Most probe cards have other
- #user-selectable jumpers to control/configure the
- #unique capabilities of each particular device.
- #Some probe cards also contain a user-selectable jumper for Vcc source.
- #\b%rs1\r \ufully\r supports:
- #.sp 1
- #.in +4 {
- #.in +3 {
- #.ti -3
- #\x07^^All I/O ports, with no restrictions.
- #.sp 1
- #.ti -3
- #\x07^^The CMOS Idle and Power Down modes of operation,
- #in those devices having such capabilities.
- #.sp 1
- #.ti -3
- #\x07^^The Watchdog Timer (WDT),
- #in those devices having such a capability.
- #(\b%rs1 Model 400\r only)
- #.in -3 }
- #.in -4 }
- #.sp 1
- #Following is a list of all Probe Cards which %rs2 currently offers.
- #Since %rs2 is constantly adding to its list of supported devices,
- #please contact %rs2 for information on any device not listed below.
- #.sp 1
- #If support for a particular device is available at different maximum
- #frequencies (MHz), the description of the Probe Card appears only
- #once, with the speed variations noted in the Probe Card names above
- #the description.
- #Example:^^\b8031-12\r for a 12MHz 8031 Probe Card,
- #\b8031\r for a 16MHz 8031 Probe Card and
- #\b8031-20\r for a 20MHz 8031 Probe Card.
- #.sp 1
- #\b8031-12 Probe Card\r
- #.sp 0
- #\b8031^^^^Probe Card\r
- #.sp 0
- #\b8031-20 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 8031 Probe Card supports device operation from 0.5 to 20MHz and has a
- #40-lead DIP package interface. This probe card supports 8031 and 80C31
- #devices from any IC manufacturer, regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b8032-12 Probe Card\r
- #.sp 0
- #\b8032^^^^Probe Card\r
- #.sp 0
- #\b8032-20 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 8032 Probe Card supports device operation from 0.5 to 20MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31, 8032,
- #80C32 and 80C32T2 devices from any IC manufacturer, regardless of process
- #variation.
- #.in -2 }
- #.sp 1
- #\b8052-12 Probe Card\r
- #.sp 0
- #\b8052^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 8052-12 Probe Card supports device operation from 0.5 to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31, 8032,
- #80C32, 80C32T2, 80C154, 8051, 8751, 80C51, 87C51, 8052, 8752, 80C52, 80C52T2,
- #87C52, 8053, 8753, 85C154 and 83C154 devices from any IC manufacturer,
- #regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b80C154-12 Probe Card\r
- #.sp 0
- #\b80C154^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C154 Probe Card supports device operation from DC to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31, 8032,
- #80C32, 80C154 and 80C32T2 devices from any IC manufacturer, regardless of
- #process variation.
- #.in -2 }
- #.sp 1
- #\b80C51FA-12 Probe Card\r
- #.sp 0
- #\b80C51FA^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C51FA Probe Card supports device operation from 0.5 to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31, 8032,
- #80C32, 80C51FA (80C252) and 80C32T2 devices from any IC manufacturer,
- #regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b80C652-12 Probe Card\r
- #.sp 0
- #\b80C652^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C652 Probe Card supports device operation from 1.2 to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31, 80C652
- #and 80C32T2 devices from any IC manufacturer, regardless of process
- #variation.
- #.in -2 }
- #.sp 1
- #\b83C652-12 Probe Card\r
- #.sp 0
- #\b83C652^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C652 Probe Card supports device operation from 1.2 to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 80C652, 87C652 and 83C652
- #devices from any IC manufacturer, regardless of process
- #variation.
- #.in -2 }
- #.sp 1
- #\b83C654-12 Probe Card\r
- #.sp 0
- #\b83C654^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C652 Probe Card supports device operation from 1.2 to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 80C652, 87C654 and 83C654
- #devices from any IC manufacturer, regardless of process
- #variation.
- #.in -2 }
- #.sp 1
- #\b8344 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 8344 Probe Card supports device operation from 3.5 to 12MHz and has a
- #40-lead DIP package interface. This probe card supports the 8344 device,
- #regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b83C053 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C053 Probe Card supports device operation from 6 to 10MHz and has a
- #42-lead Shrink DIP package interface. This probe card supports 83C053,
- #83C054 and 87C054 devices, regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b83C152A Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C152A Probe Card supports device operation from 3.5 to 16.5MHz and
- #has a 68-lead PLCC package interface. This probe card supports
- #80C152JA/JC and 83C152JA/JC devices, regardless of process variation.
- #80C152JB/JD devices can be supported with some limitations.
- #Converter #8 is available to convert the probe card interface to a 40-lead
- #DIP footprint for operation as an 8031 or 8051.
- #Converter #9 is available to convert the probe card interface to a 48-lead
- #DIP footprint.
- #.in -2 }
- #.sp 1
- #\b80C321-12 Probe Card\r
- #.sp 0
- #\b80C321^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C321 Probe Card supports device operation from 3.5 to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31, 80C321
- #and 80C32T2 devices from any IC manufacturer, regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b80C451-12 Probe Card\r
- #.sp 0
- #\b80C451^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C451 Probe Card supports device operation from 1.2 to 16MHz and has a
- #68-lead PLCC package interface. This probe card supports the 80C451 device,
- #regardless of process variation. Converter #5 is available to convert the
- #probe card to a 64-lead DIP footprint.
- #.in -2 }
- #.sp 1
- #\b83C451 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C451 Probe Card supports device operation from 1.2 to 12MHz and has a
- #68-lead PLCC package interface. This probe card supports the 80C451, 83C451
- #and 87C451 devices, regardless of process variation. Converter #5 is
- #available to convert the probe card to a 64-lead DIP footprint.
- #.in -2 }
- #.sp 1
- #\b80C515 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C515 Probe Card supports device operation from 0.5 to 12MHz and has a
- #68-lead PLCC package interface. This probe card supports 80C535, 80C515,
- #80515, 80535, 80C537 and 80C517 devices, regardless of process variation.
- #The 80C515 Probe Card comes standard with Converter #10 for support of the
- #80515, 80535, 80C515 or 80C535.
- #.in -2 }
- #.sp 1
- #\b80C517 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C517 Probe Card supports device operation from 0.5 to 12MHz and has an
- #84-lead PLCC package interface. This probe card supports 80C517 and 80C537
- #devices, regardless of process variation. Converter #10 is available to
- #convert the probe card interface to a 68-lead PLCC footprint for operation
- #as an 80C515, 80C535, 80515 or 80535.
- #.in -2 }
- #.sp 1
- #\b80C521 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C521 Probe Card supports device operation from 3.5 to 16MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31,
- #80C32T2, 80C321, 8051, 8751, 80C51, 87C51, 80C52T2, 8053, 8753, 80C521,
- #87C521, 80C541 and 87C541 devices from any IC manufacturer, regardless of
- #process variation.
- #.in -2 }
- #.sp 1
- #\b80532 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80532 Probe Card supports device operation from 1.2 to 12MHz and has a
- #68-lead PLCC package interface. This probe card supports the 80532 device,
- #regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b80C535 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C535 Probe Card supports device operation from 0.5 to 12MHz and has a
- #68-lead PLCC package interface. This probe card supports the 80C535 and
- #80535 devices, regardless of process variation. Converter #4 is available to
- #convert the probe card interface to a 40-lead DIP footprint for operation as
- #an 8031, 80C31, 8032, 80C32T2 or 80C32.
- #.in -2 }
- #.sp 1
- #\b80C537 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C537 Probe Card supports device operation from 0.5 to 12MHz and has an
- #84-lead PLCC package interface. This probe card supports the 80C537 device,
- #regardless of process variation. Converter #10 is available to convert the
- #probe card interface to a 68-lead PLCC footprint for operation as an 80C535
- #or 80535.
- #.in -2 }
- #.sp 1
- #\b80C552-12 Probe Card\r
- #.sp 0
- #\b80C552^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C552 Probe Card supports device operation from 1.2 to 16MHz and has a
- #68-lead PLCC package interface. This probe card supports the 80C552 device,
- #regardless of process variation. Converter #7 is available to convert the
- #probe card interface to a 40-lead DIP footprint for operation as an 8031,
- #8032, 80C31, 80C32, 80C32T2 or 80C652.
- #.in -2 }
- #.sp 1
- #\b83C552-12 Probe Card\r
- #.sp 0
- #\b83C552^^^^Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C552 Probe Card supports device operation from 1.2 to 16MHz and has a
- #68-lead PLCC package interface. This probe card supports the 80C552,
- #83C552, and 87C552 devices, regardless of process variation. Converter #7
- #is available to convert the probe card interface to a 40-lead DIP footprint
- #for operation as an 8031, 8032, 80C31, 80C32, 80C32T2, 8x51, 8xC51, 8x52,
- #8xC52, 80C52T2, 8xC652 or 8xC654.
- #.in -2 }
- #.sp 1
- #\b83C751 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C751 Probe Card supports device operation from 0.5 to 12MHz and has a
- #24-lead Skinny DIP package interface. This probe card supports 83C752,
- #87C752, 87C751 and 83C751 devices, regardless of process variation.
- #The 83751 Probe Card comes standard with Converter #11 for support of the
- #8xC751 devices by an 8xC752.
- #.in -2 }
- #.sp 1
- #\b83C751-16 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C751-16 Probe Card supports device operation from 0.5 to 16MHz and has
- #a 24-lead Skinny DIP package interface. This probe card supports 87C751 and
- #83C751 devices, regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b83C752 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 83C752 Probe Card supports device operation from 0.5 to 12MHz and has a
- #28-lead DIP package interface. This probe card supports 83C752 and 87C752
- #devices, regardless of process variation.
- #.in -2 }
- #.sp 1
- #\b752/1PGM Probe Card\r
- #.sp 1
- #.in +2 {
- #The 87C752 and 87C751 Programmer Probe Card supports device programming
- #operation for both the 28-lead DIP and the 24-lead Skinny DIP package
- #interface. This programmer probe card supports programming of 87C752 and
- #87C751 devices, regardless of process variation. All programming functions
- # are fully supported with no restrictions.
- #.in -2 }
- #.sp 1
- #\b80C851 Probe Card\r
- #.sp 1
- #.in +2 {
- #The 80C851 Probe Card supports device operation from 1.2 to 12MHz and has a
- #40-lead DIP package interface. This probe card supports 8031, 80C31, and
- #80C851 devices from any IC manufacturer, regardless of process variation.
- #.in -2 }
- #.sp 1
- #.($352)Contact
- #Thank you for taking the time to view our demo.
- #Experiment with this demo version of \b%rs1\r and
- #give us a call if you have any questions:
- #.sp 2
- #.in +10 {
- #.ba {
- # (800) METAICE
- # (800) 638-2423
- #.sp 1
- # MetaLink Corporation
- #.sp 1
- #325 E. Elliot Rd. P.O. Box 1329
- #Chandler AZ 85225 Chandler AZ 85244-1329
- #.sp 1
- # Phone: (602) 926-0797
- # Fax: (602) 926-1198
- # TELEX: 499 8050 MTLNK
- #.ea }
- #.in +10 }
- #.($353)Move Box
- #When you press \bCtrl V\r, a frame appears around a box or menu
- #to allow you to mo\bv\re that box or menu.
- #You can use the arrow keys
- #(\b\x18\r, \b\x19\r, \b\x1B\r and \b\x1A\r)
- #to move the frame to the new position for the box or menu.
- #The bottom border of the frame shows you which of these four
- #keys are meaningful at any particular time; this depends on the
- #current position of the frame and whether or not movement in a
- #given direction is possible.
- #After you have positioned the frame to the new location for the
- #box or menu,
- #press \bEnter\r to accept the new position
- #or \bEsc\r to cancel the move request
- #(reverting the position of the box or menu to its previous location).
- #.($354)Resize Box
- #When you press \bCtrl R\r, a frame appears around a box or menu
- #to allow you to \br\resize that box or menu.
- #You can use the arrow keys
- #(\b\x18\r, \b\x19\r, \b\x1B\r and \b\x1A\r)
- #to move the lower-right corner of the frame, thus changing the frame's
- #size.
- #The bottom border of the frame shows you which of these four
- #keys are meaningful at any particular time; this depends on the
- #current position of the frame and whether or not movement in a
- #given direction is possible.
- #After you have adjusted the frame to the new size for the
- #box or menu,
- #press \bEnter\r to accept the new size
- #or \bEsc\r to cancel the resize request
- #(reverting the size of the box or menu to its previous state).
- #.sp 1
- #\bCtrl R\r acts as a 3-way toggle when you apply it to a
- #pull-down menu.
- #.($365)Enter Symbol/Module/Procedure Prompts
- #The \bEnter^Symbol/Module/Procedure\r prompts are used
- #for a special type of symbolic search.
- #If the entered string is found to be one of the
- #symbol, module, or procedure names (depending on the current command)
- #the display is scrolled so that name is displayed.
- #In addition, a full name does not
- #have to be entered for the search to work. If only a partial
- #name is entered the first name found that starts with the
- #entered string will be selected.
- #.sp 1
- #Normal rules for \l($244)Keyboard^Input\m still apply.
- #.($366)Screen Content
- #Two screen modes are available for this command. The \bnarrow\r
- #screen contains just the \bmemory Space\r, \baddress\r, and \bname\r
- #of each displayed symbol. The \bwide\r screen contains (in addition
- #to memory space, address, and name)
- #\bvalue\r, \bdata type\r and \bscope\r information for
- #each symbol.
- #.sp 1
- #If the symbol name is preceded by a plus sign ('+') that symbol was
- #read from the $MODEL file during \b%rs1\r initialization.
- #If the symbol
- #name is preceded by an asterisk ('*') that symbol is defined as a
- #global (public) symbol. Note that all symbols read from the $MODEL
- #file are treated as global (public) symbols.
- #.sp 1
- #The value of a symbol can be displayed in \bhexadecimal\r,
- #\bdecimal\r, or \bASCII\r.
- #If the
- #data type of the symbol is known, the display format selected
- #is defined by \l($368)Model^File^Directive^A50\m
- #(which you can modify). The default display format selections
- #are hexadecimal for char, unsigned char and float, and
- #decimal for int, unsigned int, long and unsigned long.
- #If the data type of a symbol is
- #unknown the symbol value is displayed in hexadecimal.
- #The number of bytes displayed for an unknown data type is
- #by default 4 but can be changed using the
- #\l($270)Configure|Options|Unknown^Data^Type^Size\m command.
- #.sp 1
- #The scope information displayed for a symbol is dependent
- #on the type of symbol it is. In general, the name of the
- #module or procedure that the symbol was defined in will be
- #displayed along with scope/nesting level information.
- #.($367)Screen Content
- #Two screen modes are available for this command. The \bnarrow\r
- #screen contains just the module \baddress^range\r and \bname\r
- #of each displayed module. The \bwide\r screen contains (in addition
- #to the address range and name)
- #the \bSource^File\r and \bLanguage\r for each module.
- #.sp 1
- #In addition, \bProcedure\r names and their \bScope^Levels\r are
- #listed for each module when using the \bScopes\r command.
- #.($368)Model File Directive A50
- #The A50 directive is used to set the display mode for each
- #data type when displaying symbol values in the
- #\l($140)Symbol|Global\m, \l($141)Symbol|Local\m,
- #\l($142)Symbol|Alpha\m, and \l($143)Symbol|Address\m commands.
- #The format of the A50 directive is:
- #.sp 1
- #.in +4 {
- #.ti -2
- #A50^^^^<char>^<uchar>^<int>^<uint>
- #.ti -2
- #^^^^^^^<long>^<ulong>^<float>;
- #.in -4 }
- #.sp 1
- #The available modes are 0 for hexadecimal format, 1 for
- #decimal format and 2 for character (ASCII) format.
- #The default A50 directive is:
- #.sp 1
- #.in +4 {
- #.ti -2
- #A50^^^^0^^0^^1^^1^^1^^1^^0;
- #.in -4 }
- #.($369)Bin Capture Range
- #The \bCapture^Range\r is the range of code addresses monitored
- #by a bin (for which sample counts are captured).
- #All \bCapture^Ranges\r (for all bins) will always be within
- #the bounds of the \l($290)Capture^Span\m. In addition, no
- #\bCapture^Range\r will ever overlap any other \bCapture^Ranges\r.
- #Note that there may be several distinct \bCapture^Ranges\r for
- #the same bin number depending on how the setup was created.
- #.sp 1
- #When \l($292)Edit\ming a bins \bCapture^Range\r several checks
- #are made to determine if the range is valid. The ending address
- #of the range must be equal to or greater than the starting
- #address range and the range may not overlap any other range,
- #except for any ranges in \l($370)Miss^Bins\m.
- #.($370)Bin Types
- #\bMiss^Bin\r
- #.sp 1
- #The \bMiss^Bin\r is automatically added to a setup if the
- #defined \l($369)Capture^Ranges\m do not entirely cover
- #code memory (i.e., if there are gaps in the address ranges
- #to be monitored). This may occur
- #after a bin has been \l($292)Edit\med or \l($293)Add\med,
- #after a \l($282)Quick-setup\m has been defined, or after
- #a setup has been \l($297)Load\med.
- #.sp 1
- #The \bMiss^Bin\r is assigned the \l($372)Bin^Number\m of
- #15 for the High Resolution Performance Analysis setup
- #and 999 for the
- #High Bin Count Performance Analysis setup.
- #You cannot modify the \bMiss^Bin\r.
- #.sp 1
- #\bBreak^Bin\r
- #.sp 1
- #The \bBreak^Bin\r is available only for the
- #High Resolution Performance Analysis setup
- #since the normal breakpoint mechanism is inoperable when
- #performing a High Resolution Performance Analysis setup.
- #The \bBreak^Bin\r is always \l($372)Bin^Number\m 16.
- #You can specify any number of breakpoints (or ranges)
- #using the \bBreak^Bin\r. This bin may be created by
- #\l($293)Add\ming a bin and setting the bin number to 16,
- #or by \l($292)Edit\ming an existing bin and changing its
- #bin number to 16.
- #.sp 1
- #During High Resolution Performance Analysis
- #emulation if the program executes at any
- #code location monitored by the \bBreak^Bin\r, emulation will
- #break (stop) as with 'normal' breakpoints.
- #.sp 1
- #\bUser^Bin\r
- #.sp 1
- #The \bUser^Bin\r is any bin that you have \l($293)Add\med
- #or \l($292)Edit\med, other than the \bBreak^Bin\r.
- #If a bin created by a \l($282)Quick-setup\m is later \bEdit\red
- #its \bBin^Type\r will be changed to \bUser\r.
- #.sp 1
- #\bNeql^Bin\r
- #.sp 1
- #The \bNeql^Bin\r is a bin that was created using the
- #\l($283)Quick-setup|N-Equal\m command.
- #.sp 1
- #\bMod^Bin\r
- #.sp 1
- #The \bMod^Bin\r is a bin that was created using the
- #\l($283)Quick-setup|Module\m command.
- #.sp 1
- #\bProc^Bin\r
- #.sp 1
- #The \bProc^Bin\r is a bin that was created using the
- #\l($283)Quick-setup|Procedure\m command.
- #.sp 1
- #\bLnum^Bin\r
- #.sp 1
- #The \bLnum^Bin\r is a bin that was created using the
- #\l($283)Quick-setup|Line^Numbers\m command.
- #.($371)Bin Description
- #The \bBin^Description\r field allows you to enter
- #a descriptive tag for a bin. Up to 30 characters can
- #be displayed. The \bBin^Description\r field is also used
- #by the \l($282)Quick-setup\m commands to tell you
- #how each bin was created.
- #.($372)Bin Number
- #The \bBin^Number\r can be any number greater than 0 and
- #less than or equal to the maximum number of bins.
- #The maximum number of bins allowed is normally 15 for
- #the High Resolution Performance Analysis setup
- #and 999 for the
- #High Bin Count Performance Analysis setup.
- #If the current setup requires a \l($370)Miss^Bin\m,
- #the maximum number of bins allowed is 14 for
- #a High Resolution Performance Analysis setup
- #and 998 for a
- #High Bin Count Performance Analysis setup
- #as the miss bin number is 15 for
- #the High Resolution Performance Analysis setup
- #and 999 for
- #the High Bin Count Performance Analysis setup.
- #.sp 1
- #In the case of a High Resolution Performance Analysis setup,
- #setting the bin number to 16
- #is legal and causes a \l($370)Break^Bin\m to be created.
- #.($373)Operands
- #The set of choices in the \bOperands\r pull-down are:
- #.sp 1
- #.in +2 {
- #.in +11 {
- #.ti -11
- #None^^^^^^^no operand (used to remove an operand)
- #.ti -11
- #Immediate^^immediate operand
- #.ti -11
- #Direct^^^^^direct address operand
- #.ti -11
- #Bit^^^^^^^^bit address operand
- #.ti -11
- #/Bit^^^^^^^complemented contents of bit address operand
- #.ti -11
- #Code^^^^^^^code address (16-bit, 11-bit page and 8-bit relative)
- #.ti -11
- #A^^^^^^^^^^accumulator operand (implicit)
- #.ti -11
- #C^^^^^^^^^^carry bit operand (implicit)
- #.ti -11
- #DPTR^^^^^^^data pointer operand (implicit)
- #.ti -11
- #PC^^^^^^^^^PC operand (implicit)
- #.ti -11
- #AB^^^^^^^^^AB pair operand (implicit)
- #.ti -11
- #@R0^^^^^^^^indirect register 0 operand (implicit)
- #.ti -11
- #@R1^^^^^^^^indirect register 1 operand (implicit)
- #.ti -11
- #Rn^^^^^^^^^specific general purpose register (n=0 through 7) (implicit)
- #.ti -11
- #R0^-^R7^^^^any general purpose register (implicit)
- #.in -2 }
- #.in -11 }
- #.(End_Help_File)
- #.mi
- #Probe Card Operating Test
- #.sp 1
- #.in +2 {
- #When the Host Software establishes communication
- #with the emulator a test is run to determine if
- #the probe card is operating. If it is not, the
- #following message is displayed:
- #.sp 1
- #.in +2
- #.ba
- #Probe not operating -- check Help for possible causes
- #.ea
- #.in -2
- #.sp 1
- #Some of the possible causes are:
- #.sp 1
- #.in +2
- #.ba
- #Probe card in target system, P2.0 tied to VCC
- #Probe card not in target system, P2.0 tied to VCC
- #.ea
- #.in -2
- #.in -2 }
- #.mi
- #MISCELLANEOUS
- #.sp 1
- #The format of the displayed real-time emulation clock
- #value ("Execution Time:") can be controlled somewhat
- #by the A43 directive in the model file ($MODEL). The
- #character specified there will be used as the separator
- #between every 3rd digit in the "Execution Time:" value.
- #That same directive controls the format of
- #the "Execution Time:" value and the sample counts
- #in the Performance Analyzer Display menu.
- #The default value for this separator character
- #is a comma (',').
- #.mi
- #MISCELLANEOUS
- #.sp 1
- #The format of the displayed real-time emulation clock ("Time:")
- #and sample count values can be controlled somewhat
- #by the A43 directive in the model file ($MODEL). The
- #character specified there will be used as the separator
- #between every 3rd digit in the "Time:" and sample count values.
- #The default value for this separator character
- #is a comma (',').
- #.co = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = PROM-Programmer Menu
- #.(End_Help_File)
-