• Aucun résultat trouvé

Setting the Go-Register

Dans le document OPER~TING INSTRUCTIONS FOR ISIS-II USERS (Page 124-129)

To enable either (or both using BR) of the breakpoint registers as a halt condi-tion, you can use a set GR command of the form:

G R

=

halt-go-condition

The meta-term hait-go'-condition means any of three exclusive types of halt conditions:

halt-go-condition == {

~~:~~:a:-reg [1~~Dl

break-reg] } TlLLmatch-cond

[1~~Dl

match-COnd]

ICE-88

ICE-88 Emulation and Trace Control Commands

Using the FOREVER condition in the Go-Register command:

GR = FOREVER

would disable both breakpoint registers.

The following command would enable BRI:

GR = TILL BR1

Both registers can be enabled and ORed with the following command:

GR = TILL BR1 OR BRO

BRO would be loaded with a match condition and enabled with the following command:

GR

=

TILL 3000H WRITTEN, FETCHED

The following command would load BRO with the first match condition and BRI with the second stated match condition:

GR

=

TILL 3000H WRITTEN, FETCHED OR INPUT VALUE 01 USING DS BRO would contain the match condition 3000H WRITTEN, FETCHED and BRI would contain the match condition INPUT VALUE 01 USING DS and both registers would be enabled and ORed.

The following command would require both breakpoint registers to contain the match condition:

GR == TILL .DELAY FETCHED OR READ VALUE .MAINTIME USING DS BRO would contain the match condition .DELA Y FETCHED and BRI would contain the match condition READ VALUE .MAINTIME USING DS.

The following command would require both breakpoint registers to contain match conditions that are" anded":

GR

=

TILL !SIDETIME READ AND VALUE 8

BRO would contain the condition .SIDETIME READ and BRI would contain the match condition VALUE 8 . These conditions are ANDED.

Setting Tracepoint Registers

The ICE-88 emulator has two tracepoint registers, ONTRACE and OFFTRACE.

A tracepoint register may only contain a non-execution match condition. Also the match range may only contain an address, masked constant, or data, and seg-ment register usage may not be used with an address condition. For example, the following commands are valid:

ONT

=

3000H WRITTEN, FETCHED OFF = INPUT VALUE 01 USING DS

Emulation and Trace Control Commands

6-12

However, the commands:

OFFTRACE

=

3000H EXECUTED ONTRACE = 3000H READ USING CS

are invalid as EXECUTED is invalid in a tracepoint, and the segment register CS is specified with an address condition.

Command Signal Timeout

When the 8088 accesses INTELLEC- or DISK-mapped memory, a command signal timer starts counting. If the access is not completed before it times out, the ICE-88 emulator will cause the READ and WRITE command signals to go inac-tive to the user system. The RWTIMEOUT commands are used to set and display the current setting of the command signal timer.

Emulation Timer

An emulation timer is enabled when emulation is running. The timer can be used to determine how long it takes the ICE-88 emulator to emulate a given segment of code. The timer is a 2-MHz clock (i.e., counts are intervals of 500 ns), derived from the crystal on the Control board.

The timer starts when the GO command is entered, starting emulation. The timer starts counting at the first T3 state of the first instruction emulated. HTIMER stops counting where a maximum count of approximately 33 minutes is reached.

TIMER continues counting modulo 65536.

The timer is reset to 0 (before starting to count) when the GO command is entered with a FROM clause or when CS,IP is changed or when ENABLE/DISABLE TRACE. If you want to reset the timer without changing the current program counter, enter a command such as GO FROM CS:IP.

After emulation halts, you can display the value of the timer in the current out-put radix. The display command TIMER displays the low 16 bits of the timer value; the command HTIMER displays the high 16 bits of the timer value. The tokens TIMER and HTIMER can also be used as keyword references in com-mands and expressions.

With the timer, you can measure the real elapsed time required to emulate a given code sequence. The elapsed time can then be compared to the calculated time based on the number of clock states in each instruction and the speed of the system clock. Note that code mapped to user runs at real-time; the timer value for code mapped to prototype memory is the real-time value.

ICE-88

ICE-88 Emulation and Trace Control Commands

Set Breakpoint Register Command

(1) break-reg = address EXECUTED:: masked-const EXECUTED

(2) break-reg = [address-match-range] [match-status-list 1 [data-match-range][ seg-reg-usage 1 NOTE

Form (2) requires that the address-match-range, match-status-list, data-match-range, and seg-reg-usage fields be used in the order shown. At least one field is required in a given command and no field may be repeated in the command. Restriction: the fields selected must fit in one breakpoint register.

Examples:

BRO = 1 XXXH EXECUTED BR1 = 3000H UP WRITTEN BR

=

3000H TO 30FFH READ

BR

=

3000H LENGTH FEH, OBJ ECT !VAR WRITTEN

break-reg

address

masked-const

EXECUTED

address-match-range match-status-/ist

data-match-range

seg-reg-usage

The name of one of the breakpoint registers (BRO, BRI) or BR to set both registers to the same match condition.

The assignment operator.

The address of the memory location or II 0 port, or a data value.

A masked constant used to define a range of memory locations or data values.

Denotes that the match condition is the execution (CPU fetch of the instruction byte from the instruction queue) of the instruction byte whose address is given by address or masked-const.

A set of one or more addresses. (See page 6-6.)

A set of bus status conditions to be used as match parameters. (See page 6-7.)

A set of data values to be used as match parameters. (See page 6-8.)

A specification of one of the segment registers to be used as a match parameter. (See page 6-8.)

Emulation and Trace Control Commands masked-const FETCHED VALUEmasked-const USING ES

HALT

The address-match-range, match-status-list, data-match-range, and segment-register-usage fields must be used in a command in the order shown. At least one field is required in a given command and no field may be repeated in the command. A segment-register-usage field or data-match-range may not be used with an address condition (address-match-range field); because you cannot mix address-time fields with data-time fields.

Examples:

ONTRACE

=

2340 READ, ACKNOWLEDGE OFFTRACE = INPUT, OUTPUT VALUE 1234H ONTRACE

=

!X FETCH ED

The name of one of the tracepoint registers, ONTRACE or OFFTRACE.

The assignment operator.

The address of the memory location or 110 port, or a data value (see Data Match Range).

A masked constant used to define a range of memory locations or data values.

See Match Status List. (See page 6-7.) See Data-Match Range. (See page 6-8.) See Segment Register Usage. (See page 6-8.)

ICE-88

ICE-88 Emulation and Trace Control Commands

Go Command

FROM address

GO

l

TILL TILL match-cond FOREVER break-reg [(

[(~~DI ~~D I

Dans le document OPER~TING INSTRUCTIONS FOR ISIS-II USERS (Page 124-129)