9800463 03_ICE 85B_In Circuit_Emulator_Operating_Instructions_for_ISIS II_Users_Aug81 03 ICE 85B In Circuit Emulator Operating Instructions For ISIS II Users Aug81

9800463-03_ICE-85B_In-Circuit_Emulator_Operating_Instructions_for_ISIS-II_Users_Aug81 instructions pdf -FilePursuit

9800463-03_ICE-85B_In-Circuit_Emulator_Operating_Instructions_for_ISIS-II_Users_Aug81 9800463-03_ICE-85B_In-Circuit_Emulator_Operating_Instructions_for_ISIS-II_Users_Aug81

User Manual: 9800463-03_ICE-85B_In-Circuit_Emulator_Operating_Instructions_for_ISIS-II_Users_Aug81

Open the PDF directly: View PDF PDF.
Page Count: 233

Download9800463-03_ICE-85B_In-Circuit_Emulator_Operating_Instructions_for_ISIS-II_Users_Aug81 9800463-03 ICE-85B In-Circuit Emulator Operating Instructions For ISIS-II Users Aug81
Open PDF In BrowserView PDF
ICETM-85b IN-CIRCUIT EMULATOR
OPERATING INSTRUCTIONS
FOR ISIS-II USERS
Order Number: 9800463-03

1

' - -_ _ _ _----J

Copyright © 1977,1978,1979, 1981 Intel Corporation
Intel Corporation, 3065 Bowers Avenue, Santa Clara California 95051

IL....-_ _ _ _- - J

Additional copies of this manual or other Intel literature may be obtained from:
Literature Department
Intel Corporation
3065 Bowers Avenue
Santa Clara. CA 9505 I
The information in this document is subject to change without notice.
IntelCorpor= 2) AND (MAIN$TIME >= MAIN$CYCLE$LENGTH)
AND (CARS$WAITING = 1) AND (MAINTIME >= 2 * MAIN$CYCLE$LENGTH)
THEN
DO;
CALL CYCLE;
CARS $WAITING
0;
MAIN$TIME = 0;
END;
END;
END CARS;

Figure 3-2. CARS! Listing (Continued)

3-10

ICE-85B

LOC

0000
0001
0003
0004
0005
0008
OOOB
OOOE
0011
0012
0015
0016
0019
0002

A Sample ICE-85 Session

OBJ

79
06FF
48
OD
221AOO
221AOO
221A90
221AOO
00
C20400
3D
C20300
C9

SOURCE STATEMENT

SEQ

C
C
C
C
C
C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

; TIME DELAY SUBROUTINE -- 0.01 SEC TIMES ARGUMENT

DELAY:
LAB1 :
LAB2:

TEMP:

CSEG
PUBLIC
MOV
MVI
MOV
DCR
SHLD
SHLD
SHLD
SHLD
NOP
JNZ
OCR
JNZ
RET
DS
END

DELAY
A,C
B,255
C,B
C
TEMP
TEMP
TEMP
TEMP

ARGUMENT PASSED IN C REGISTER
DELAY PARAMETER

WASTE 14 CYCLES
DITTO
DITTO
DITTO
WASTE 4 CYCLES

LAB 2
A
LAB1

2

DUMMY DATA STORAGE

Figure 3-3. DELAY Subroutine Listing

3-11

ICE-85B

A Sample ICE-85 Session

A Debugging Session Using ICETM-85
We will now step through an emulation using ICE-85 as a software debugging tool.
This exercise is divided into two parts. The first part isolates, identifies, and corrects
program errors contained in the CARS I program. The second part is a short exercise
of CARS2 to verify the correction of the program errors found in CARS I.
Ia.

Display initial LIMIT and change to protect user program:
*LlM

This displays initial LIMIT setting.
*LlM

=

lEOO

This changes LIMIT to allow user area to be mapped without warning message
and protects work area from being overwritten by the ICE workspace.
I b.

Request a display of the memory map by entering the command:
MAP

This causes the display of the initial state of each of the thirty-two 2K memory
blocks. The "G" denotes that the associated block is GUARDED. i.e., access
to any memory address in that block is an error condition. All blocks are
initially guarded.
2.

Request a display of the 10 MAP by entering the command:
MAPlO

This causes the display of the initial state of each of the thirty-two 8-port
segments. The "G" denotes that the associated segment is GUARDED, i.e.,
access to any port in that segment is an error condition. All segments are
initially guarded.
3.

Enter the following "MAP =" commands:

a.

MAP MEMORY 0 = lNTELLEC 0

This provides access to ISIS-II reserved locations in block 0000 where ISIS-II
variables used by the CARSl program are stored. The warning message
notifies you that you are mapping into the system area.
b.

MAP MEMORY 3000 LENGTH 4K = INTELLEC 7000

This provides 4K address locations for the CARS 1 program code.

c.

MAP F800 = INTELLEC F800

This provides CARSl access to the routine in MONITOR. Note that the term
"MEMORY" is not mandatory in this command. "MEMORY" is the default
specification and can be omitted. The warning message notifies you that you
are mapping over the system monitor area.
4.

Review the effects of the above map commands by entering:
MAP

This causes the display of the updated map. "I" means Intellec. Note the
displacement of block 3000 into Intellec memory block 7000, and the displacement of the succeeding block, 3800, into Intellec memory block 7800.

3-12

ICE-8SB

A Sample ICE-85 Session

la.

*; DISPLAY INITIAL LIMIT

*

*LIM
7000

*

*;
*;
*;
*;
*;

CHANGE LIMIT TO
PROTECT USER AREA
FROM ICE WORKSPACE
OVERWRITING ANY
USER CODE

*

*LIM = 7EOO

*

*
lb. *;

DISPLAY INITIAL MEMORY MAP

*
*MAP
SHARED
OOOO=G
2OOO=G
4oo0=G
6000=G
80oo=G
AOOO=G
COOO=G
EOOO=G

0800=G
28oo=G
48oo=G
6800=G
88oo=G
A800=G
C8oo=G
E800=G

lOOO=G
3000=G
5000=G
7000=G
9000=G
BOOO=G
DOOO=O
FOOO=G

1800=0
3800=0
5800=G
7800=G
9800=G
B800=G
D8oo=0
F800=G

IO=G
30=G
50=G
70=G
9O=G
BO=G
DO=O
FO=O

18=0
38=G
58=G
78=G
98=G
B8=G
D8=0
F8=G

*
2

*

*; DISPLAY INITIAL I/O MAP

*

*MAPIO
OO=G
20=G
40=G
60=G
80=G
AO=G
CO=G
EO=G

08=G
28=G
48=G
68=G
88=G
A8=0
C8=G
E8=G

*
3

*

*; MAP MEMORY BLOCK 0 FOR ACCESS TO ISIS·II VARIABLES

*

*MAP MEMORY 0 = INTELLEC 0
WARN CI :MAPPING OVER SYSTEM

**;

MAP SPACE FOR PROGRAM CODE

*
*MAP

MEMORY 3000 LENGTH 4K = INTELLEC 7000

*
*;

MAP BLOCK F800 FOR ACCESS TO MONITOR ROUTINE
*; NOTE THAT 'MEMORY' IS THE DEFAULT, AND CAN BE OMITTED

*

4

* MAP F800 = INTELLEC F800
WARNING CI:MAPPING OVER SYSTEM
*; WARNING TO TELL USER MONITOR AREA BEING OVERLAYED
*; REVIEW EFFECTS OF MEMORY MAP COMMANDS

*

*MAP
SHARED
0000=1 0000
2000=G
4OOO=G
6000=G
8000=G
AOOO=G
COOO=G
EOOO=G

0800=0
28oo=G
48oo=G
6800=G
88oo=G
A800=0
C800=G
E800=G

1000=0
3000=1 7000
5000=0
7000=G
9000=G
BOOO=G
DOoo=O
FOOO=G

1800=0
3800=1 7800
5800=G
7800=G
98oo=G
B800=G
D8oo=0
F800=1 F800

3-13

A Sample ICE-85 Session

ICE-85B

5. Map 10 ports into Intellec by entering the command:
MAP 10 FO TO FF = INTELLEC

Note that no displacement is permitted. Review the updated 10 MAP by
entering:
MAPIO

6. Load CARS! from the di~kette in drive 0 (:FO:) into Intellec memory:
LOAD:FO:CARS1

7. Define two user symbols:
DEFINE.START = PC

The current contents of the program counter (PC) contains the starting address
for CARS!. This sets START equal to the starting address.
DEFINE.14

= .SIDE$STREET$CAR

This defines 14 as a synonym for SIDE$STREET$CAR. Therefore
SIDE$STREET$CAR can be called using 14 in the call in place of the longer
SIDE$STREET$CAR.
8. Display the symbol table:
SYMBOL

Note that START is set to the starting address (36C3H) and that 14 and
SIDE$STREET$CAR are set to the same address (3727H).

3-14

ICE-85B

A Sample ICE-85 Session

5

6

*., MAP HIGHEST TID SEGMENTS OF I/O PORTS
*
*MAP 10 FO TO FF = INTELLEC
*
*., REVIEW I/O MAP
*
*MAP 10
OO=G
08=G
10=G
20=G
28=G
30=G
40=G
48=G
50=G
60=G
68=G
70=G
80=G
88=G
90=G
AO=G
A8=G
BO=G
CO=G
C8=G
DO=G
EO=G
E8=G
FO=I
*

18=G
38=G
58=G
78=G
98=G
B8=G
D8=G
F8=I

*

*; LOAD EMULATION PROGRAM, CARS1, CONTAINING ERRORS
*; TO BE IDENTIFIED AND CORRECTED

*

*LOAD :FO : CARS 1

*

7

*

*; DEFINE TWO USER SYMBOLS FOR USE IN EMULATION

*

*DEFlNE .START = PC
*DEFINE .14 = SIDE$STREET$CAR

*
8

*

*; LOOK AT SYMBOL TABLE

*

* SYMBOL
.START=36C3H
.I4=3727H
MODULE •• CARS
.MEMORY=3889H
.MAINTlME=3883H
• S IDETlME=3884H
.MAINCYCLELENGTH=3680H
.SIDECYCLELENGTH=3681H
.CARSWAITING=3885H
.LIGHTSTATUS=3886H
.MAINGREENMESSAGE=3682H
.SIDEGREENMESSAGE=3696H
.TIMEMESSAGE=36AAH
.SIDESTREETCAR=3727H
.DISPLAY=3735H
.CYCLETIME=3887H
.I=3888H
.CYCLE=37E9H
MODULE •• MODULE
.DELAY=3816H
.LAB1=3819H
.LAB2=381AH
.TEMP=3830H

*
*

3-15

A Sample ICE-85 Session

9. Initiate emulation by entering the command GO.
lD. Halt emulation after a few cycles by depressing the ESC key. Enter the
command:
CALL .14

This simulates an interrupt to enter a car on the side street. This call enters the
first car on the side street. Emulation continues automatically after the call has
been executed.
11. Let emulation continue until 18 seconds have elapsed. Then halt emulation via
the ESC key. Main cycle time (2*MAIN$CYCLE$TIME) has been exceeded
without a light change. This is a program error.
12. Enter the second car on the side street:
CALL .14

Depress ESC key after 22 seconds of emulation.
13. Still no light change.
14. Display the contents of CARS$WAITING:
BYTE .CARS$WAITING

The command BYTE operator causes the display of the contents of the byte
location specified by the parameter 'operator', in this case, CARS$WAITING.
Note that the address of CARS$WAITING is 3885H (see symbol table).
Therefore the display shows that CARS$WAITING = 0 (should be equal to 2).
15. Visually inspect statement 11 of the CARS$WAITING .LST listing. It contains
the wrong variable, SIDE$TIME. It should be CARS$WAITING.
16. Check the address of SIDE$TIME by entering the command:
SIDE$TIME

The display contains the address of SIDE$TIME, 3884H.

3-16

ICE-85B

ICE-85B

A Sample ICE-85 Session

9

*; PROGRAM IS NOW READY TO EMULATE, USING THE CURRENT PC
*; CONTENTS AS THE START ADDRESS, AND 'FOREVER' AS THE
*; DEFAULT HALTING CONDITION.

*

*GO

EMULA TION BEGUN
(

10

... )

EMULATION TERMINATED, PC=3824H
PROCESSING ABORTED

*

*; HALTED MANUALLY (ESC KEY) TO ENTER FIRST CAR.

*

*CALL .I4
EMULATION BEGUN
(

11

... )

EMULATION TERMINATED, PC=3821H
PROCESSING ABORTED

*

*; STILL MAIN GREEN AFTER 18 SECONDS ELAPSED. SHOULD HAVE
*; CYCLED TO SIDE GREEN AT 16 SECONDS WITH ONE CAR WAITING.
*; ENTER SECOND CAR AND TEST.

12

*

*CALL. 14
EMULATION BEGUN
(

... )

EMULATION TERMINATED, PC=381EH
PROCESSING ABORTED

13

*

*; STILL MAIN GREEN AFTER 22 SECONDS WITH TWO CARS WAITING.
*; CHECK CARS$WAITINGi IT SHOULD BE EQUAL TO 2.

*

14

*BYTE.CARS$WAITING
3885H=OOH

15

*; CARS$WAITING IS NOT BEING INCREMENTED. CHECK STATEMENT #11
*; OF THE PROGRAM LISTING (FIGURE 3-2). THIS IS WHERE CARS$WAITING
*; SHOULD BE INCREMENTED.

*
*

*; THE INTERRUPT ROUTINE IS INCREMENTING THE WRONG VARIABLE -*; SIDE$TIME INSTEAD OF CARS$WAITING.

16

*

*; CHECK THE ADDRESS OF SIDE$TIME.

*

*.SIDE$TIME
3884H

*

*

3-17

A Sample ICE-8S Session

ICE-SSB

17. Display the memory contents of statement 11 to statement 12 of CARS 1 to
determine which bytes contain the address:
BYTE .. CARS'11 TO ( .. CARS'12-1)

The command BYTE partition causes all of the bytes of object code generated
by statement 11 to be displayed. The second and third bytes (84H 38H)
displayed contain the address. The second byte contains the two low- order
digits of the address (84H) and the third byte contains the two high- order digits
(38H). Therefore the address is 3884H. This is the address of SIDE$TIME (see
the symbol table). The entry .. CARS tells ICE-85 which module to search for
the statement number.
18. The above bytes
CARS$W AITING.
a.

should

Therefore, enter the
CARS$WAITING:

be

changed

following

to

command

contain
to

get

the

address

of

the address of

.CARS$WAITING

The display response (3885H) is the address of CARS$WAITING.
b.

Next, enter the following command to change the address in statement 11 to
the address of CARS$W AlTING:
WORD ( .. CARS'11

+ 1) = .CARS$WAITING

WORD ( .. CARS#II + 1) in the above command references a 16-bit word
consisting of the second byte ( .. CARS#ll + 1) and the third byte
( .. CARS#l1 + 2) of statement 11.
c.

Verify that the address has been changed correctly by entering the following
command:
BYTE .. CARS'11 TO ('12 -1)

The display response shows that the address in statement 11 is now correct.
19. Enter the following command to restart CARS 1:
GO FROM .START FOREVER

This command restores the initial start and halt condition.
20. After 3 seconds manually halt emulation via the ESC key and reenter the first
car with the following command:
CALL .14

21. Manually halt emulation via the ESC key after 17 seconds have elapsed. Enter
the following command to examine the contents of CARS$WAITING:
BYTE .CARS$WAITING

3-18

ICE-8SB

A Sample ICE-85 Session

17

*; DISPLAY MEMORY CONTENTS FROM STATEMENT #11 UP TO
*; STATEMENT #12 TO FIND THE BYTES WHERE THIS ADDRESS
*; IS STORED.

*

*BYTE •. CARS#11 TO ( •• CARS#12 - 1)
372BH=21H 84H 38H 34H

*

*; THE MIDDLE TWO BYTES (84H 38H) ARE THE ADDRESS OF SIDE$TIME.

18

*

*; REPLACE WITH THE ADDRESS OF CARS$WAITING.

*

*; FIRST, CHECK THE ADDRESS OF CARS$WAITING.

*

*.CARS$WAITING
3885H

*

*; CHANGE SIDE$TIME TO CARS$WAITING IN INTERRUPT ROUTINE.

*

*WORD ( •• CARS#11 + 1) = .CARS$WAITING

*

*; VERIFY THAT THE CHANGE WAS MADE CORRECTLY.

*

*BYTE •• CARS#11 TO ( •• CARS#12 - 1)
372BH=21H 85H 38H 34H

*

*; CHANGE WAS MADE CORRECTLY.

19

RESTART FROM • START •

*

*GO FROM .START FOREVER
EMULATION BEGUN
(

... )

EMULATION TERMINATED, PC=3821H
PROCESSING ABORTED

*

20

*
*; MAIN GREEN, 3 SECONDS ELAPSED.

ENTER FIRST CAR AGAIN.

*

*CALL .I4
EMULATION BEGUN
(.

21

.. )

EMULATION TERMINATED, PC=3824H
PROCESSING ABORTED

*

*; MAIN STILL GREEN AFTER 17 SECONDS.

SHOULD HAVE CYCLED

*; AT 16 SECONDS WITH ONE CAR WAITING.

*

*; DOUBLE-CHECK CARS$WAITING

*

*BYTE • CARS$WAITING
3885H=01H

*

3-19

A Sample ICE-85 Session

22. CARS$WAITING incremented correctly, enter second car:
CALL .14

23. Halt emulation manually after 21 seconds. Still no light change, check contents
of CARS$WAITINGagain:
BYTE .CARS$WAITING

CARS$WAITING equal to 2, incrementing properly.
24. Since CARS$WAITING is incrementing correctly, enter the following
command to determine if CYCLE is ever executed:
GO TILL .CYCLE EXECUTED

Emulation should not halt.
25. Manually halt emulation after 25 seconds.
26. Change to Single Step mode using automatic display.
a.

Enter the following command to enable automatic display of call
instructions:
ENABLE DUMP CALL

b. Do single step beginning at statement 52, the beginning of the DO loop in
the Main program:
STEP FRQM1LS2

In the display,-p--';;'-pC-;- the starting address of the called routine; the remainder of the display output can be ignored at this time.
27. Manually halt emulation with the ESC key. Note P =: 3816H in the last line of
display above. 3816H is the start of the DELAY subroutine. Single stepping
through DELAY will take too much time.
28. Bypass DELAY. Start single stepping from statement 55. Statement 55
increments MAIN$TIME.
STEP FROM .. CARS#55

3-20

ICE-85B

ICE-85B

A Sample ICE-85 Session

22

*; THAT IS CORRECT.

ENTER A SECOND CAR.

*

*CALL • I4
EMULATION BEGUN
(

23

... )

ERULATION TERMINATED, PC=381AH
PROCESSING ABORTED

*

*; ST+LL MAIN GREEN AFTER 21 SECONDS WITH TWO CARS WAITING.
*; SHOULD HAVE CYCLED. CHECK CARS$WAITING AGAIN.

*

*BYTE .CARS$WAITING
3885H=02H

24

*

*; CARS$WAITING IS INCREMENTING WITH EACH CAR.
*; IS CYCLE EVER EXECUTED?

*

*GO TILL .CYCLE EXECUTED
EMULATION BEGUN

...

(

25

)

EMULATION TERMINATED, PC=3824H
PROCESSING ABORTED

*

*; MAIN STILL GREEN AT 25 SECONDS.

26

CYCLE IS NOT EXECUTING.

*

*; TRY SINGLE-STEPPING FROM THE BEGINNING OF THE DO-LOOP
*; IN MAIN PROGRAM, AND DISPLAY ALL 'CALL' INSTRUCTIONS EXECUTED.

*

*ENABLE DUMP CALL
*STEP FROM .. CARS#52
EMULATION BEGUN
36D7-E-CD 36D8-R-35 3609-R-37 3880-W-36 387F-W-DA
P=3735H S=387FH A=59H F=B4H B=FFH C=19H D=OOH E=30H H=43H L=19H I=08H
377E-E-CD 377F-R-09 3780-R-F8 387E-W-37 387D-W-81
P=F809H S=387DH A-13H F=10H B=36H C=4DH O=OOH E=30H H=36H L=82H I=08H
377E-E-CD 377F-R-09 3780-R-F8 387E-W-37 387D-W-81
P=F809H S=387DH A=13H F=14H B=36H C=41H O=OOH E=30H H=36H L=83H I=08H
(

27

... )

P=F809H S=387DH A=ODH F=10H B=36H C=OAH D=OOH E=30H H=38H L=88H I=08H
36DC-E-CD 36DD-R-16 36DE-R-38 3880-W-36 387F-W-DF
P=3816H S=387FH A=OAH F=10H B=36H C=64H D=OOH E=30H H=38H L=88H I=08H
EMULATION TERMINATED, PC=381EH
PROCESSING ABORTEO

*

*; CAN'T USE STEP. DELAY ROUTINE TAKES TOO LONG.

28

*

*; TRY STEPPING FROM THE NEXT STATEMENT AFTER THE RETURN FROM DELAY.

*

*STEP FROM •• CARS#55
EMULATION BEGUN
3709-E-CO 370A-R-65 370B-R-38 387C-W-37 387B-WOC
P=3865H S=387BH A=1AH F=54H B=FFH C=FFH D=OOH E=30H H=OOH L=10H I=08H
36D7-E-CD 36D8-R-35 36D9-R-37 387E-W-36 387D-W-DA
P=3735H S=3870H A=OOH F=54H B=OOH C=1AH D=OOH E=1AH H=43H L=1AH I=08H
377E-E-CD 377F-R-09 3780-R-F8 387C-W-37 387B-W-81
P=F809H S=387BH A=13H F=10H B=36H C=40H D=OOH E=1AH H=36H L=82H I=08H
PROCESSING ABORTED

*

3-21

A Sample ICE-85 Session

29. Manually halt single step after four automatic single step displays. Note P ""
3735H in the fourth line of display above. 3735H is the address of DISPLAY
(see symbol table). Therefore CYCLE is not being executed. The IF statement
(statement 56) is not branching correctly.
30. Restart emulation:
GO FROM .START TILL .. CARS#56 EXECUTED

This command sets PC "" START and specifies a halt on statement 56 (IF statement).
3}. After the halt on #56, set one of the test conditions of the IF statement:
BYTE .CARS$WAITING = 1
BYTE .MAIN$TIME = 2* (BYTE .MAIN$CYCLE$LENGTH)

32. Set up emulation to continue from statement 56 and to halt when statement 58
or 62 is executed:
GO TILL .. CARS#58 E OR .. CARS#62 E

Note the use of E, an abbreviation for EXECUTED. When emulation halts,
look at the contents of the Previous Program Counter (PPC):
PPC

The display response is 3722H.
33. Display the address of the first byte location of object code for statement 62:
.. CARS#62

The address of statement 62 is 3722H, the address contained in the PPC in step
32. Therefore CYCLE was not executed. The IF statement took the "false"
branch although you set the condition to the "true" state in step 3} above.
34. Repeat steps 30-32 with the second IF condition:
GO FROM .STARTTILL .. CARS#56 EXECUTED

35. When emulation halts, set up the second IF condition:
BYTE .CARS$WAITING = 2
BYTE .MAIN$TIME = BYTE .MAIN$CYCLE$TIME

36. Repeat test:
GO TILL .. CARS#58 E or .. CARS# 62 E

Display PPC:
PPC

Display contains 3722H.
Display the address of statement 62:
.. CARS#62

Address of statement 62 is 3722H, the same as the contents of the ppc.
Therefore emulation bypassed CYCLE again. The IF statement failed to branch
correctly under either branch condition.
37. Visually examine the IF statement in detail. Notice the second line of the IF
statement is:
AND (CARS$WAITING = 1) AND(MAIN$TIME>= 2*MAIN$CYCLE$LENGTH)

The line is incorrect, the first "AND" should be "OR". As stated, the IF conditions contained in the first and second lines must both be true at the same time
for the IF statement to branch to CYCLE. This is impossible. The test will
always fail as stated. It must be one condition or the other. Therefore the AND
must be changed to OR. To make this correction, the source code in CARS}
must be changed and CARS} recompiled. CARS2 is a recompilation of CARSl
with the necessary corrections.

3-22

ICE-85B

ICE-85B

A Sample ICE-85 Session

ADD~SS

29

*;

30

*; TRY EMULATING FROM .START, HALTING RIGHT BEFORE THE DECISION POINT.
*; TEST THE 'IF' STATEMENT BY SETTING THE VALUES MANUALLY.

(P=3735H) IS THE BEGINNING OF DISPLAY. CYCLE NEVER EXECUTED.

*

*

*GO FROM • START TILL •• CARS # 56 EXECUTED
EMULATION BEGUN
EMULATION TERMINATED, PC=36E6H

*

31

*BYTE .CARS$WAITING =
*BYTE .MAIN$TlME = 2*(BYTE .MAIN$CYCLE$LENGTH)

32

*; NOW TO EMULATE UNTIL CYCLE IS CALLED (STATEMENT #58) OR UNTIL THE
*; END OF THE DO-LOOP IN THE MAIN PROGRAM IS EXECUTED (STATEMENT #62),
*; HALTING EMULATION ON EITHER CONDITION.

*

*

*GO TILL •• CARS#58 E OR •• CARS#62 E
EMULA TION BEGUN
EMULATION TERMINATED, PC=36D3H

*

*; LOOK AT PREVIOUS PROGRAM COUNTER (PPC).

*

*PPC
3722H

33

*

*; COMPARE WITH STATEMENT #62

*

*#62
3722H

*

34

*; WE BRANCHED AROUND THE CALL TO CYCLE. THE' IF' COND ITION WAS NOT
*; SATISFIED. TRY THE ALTERNATE CONDITION.
*GO FROM .START TILL •• CARS #56 EXECUTED
EMULATION BEGUN
EMULATION TERMINATED, PC=36E6H

*

35

*BYTE .CARS$WAITING = 2
*BYTE .MAIN$TIME = BYTE .MAIN$CYCLE$LENGTH

36

*GO TILL •• CARS#58 E OR _.CARS#62 E
EMULATION BEGUN
EMULATION TERMINATED, PC=36D3H

*
*

*PPC
3722H

*

*#62
3722H

*

37

*.I SAME RESULT AS FOR ONE CAR. THE 'IF' TEST IS FAILING.
*
*
*.I EXAMINE THE 'IF' TEST.
*
*.I NOTE THAT THE 'IF' STATEMENT HAS 'AND' INSTEAD OF 'OR'
*.I MUST EXIT ICE-85,. EDIT AND RECOMPILE PROGRAM.
*.I FIXED PROGRAM IS CARS2.
*
*EXIT

3-23

A Sample ICE-85 Session

ICE-8SB

/* TRAFFIC LIGHT CONTROLLER PROGRAM */

2
3
4
5

1
1
1

6

1

7
8
9

1
1

CARS:
DO;
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE

(MAIN$TIME j SIDE$TIME) BYTE;
MA1N$CYCLE$LENGTH BYTE DATA (8) , SIDE$CYCLE$LENGTH BYTE DATA
CARS$WAITING BYTE;
LIGHT$STATUS BYTE;
FOREVER LITERALLY 'WHILE 1';
MA1N$GREEN$MESSAGE(*) BYTE DATA('~IN GREEN, $1DE RED');
SIDE$GREEN$MESSAGE(*) BYTE DATA('SIDE GREEN, MAIN RED');
TIME$MESSAGE(*) BYTE DATA(' SECS SINCE LIGHT CHANGE');

/* FOLLOWING PROCEDURE COUNTS CARS WAITING */
10
11
12

2
2

SIDE$STREET$CAR: PROCEDURE;
CARS$WAITING ~ CARS$WAITING + 1;
END SIDE$STREET$CAR;
/* FOLLOWING PROCEDURE CODED IN ASSEMBLY LANGUAGE ANDLINKEO IN */

13
14
15

2
2

DELAY: PROCEDURE (TIME$HUNDREDTHS) EXTERNAL;
DECLARE TIME$HUNDREDTHS BYTE;
END DELAYi

/* FOLLOWING PROCEDURE BORROWED FROM THE MONITOR
16

1

17

2

18

2

*/

CO: PROCEDURE(CHAR) EXTERNAL;
DECLARE CHAR BYTE;
END CO;

/* FOLLOWING PROCEDURE DISPLAYS LIGHT STATUS AND ELAPSED TIME */
19
20

1
2
2
2

21
22
23
24

3

25

3

2

26

2

27

3

28

3

29

'}.

30

'}.

31

'}.

32
33
34

2
2
3
3

35
36
37
38

'}.
'}.

'}.

DISPLAY: PROCEDURE(CYCLE$TlME);
DECLARE CYCLE$TIME BYTE;
DECLARE I BYTE;
IF LIGHT$STATUS = 0 THEN
DO I = 0 TO LAST(SIDE$GREEN$MESSAGE);
CALL CO(SIDE$GREEN$MESSAGE(I»;
END;
ELSE
DO I = 0 TO LAST(MAIN$GREEN$MESSAGE),
CALL CO(MAIN$GREEN$MESSAGE(I»;
END;
CALL CO (ODH) ;
/*
CALL CO (OAH) ;
/*
CALL Cot (CYCLE$TIME / 10) OR 30H); /*
CALL cot (CYCLE$TIME MOD 10) OR 30H );/*
DO I = 0 TO LAST(TlME$MESSAGE);
CALL CO(TlME$MESSAGE(I»;

CARRIAGE RETURN
LINE FEED
TEN'S DIGIT
UNIT'S DIGIT

*/
*/
*/
*/

END;

CALL CO (ODH) ;
CALL CO (OAH);
END DISPLAY;

Figure 34. CARSl Program Listing

/* CARRIAGE RETURN */
/* LINE FEED

*/

ICE-85B

A Sample ICE-85 Session

/* FOLLOWING PROCEDURE PERFORMS THE LIGHT CHANGE CYCLE */
39
40
41
42
43
44
45
46
47

48

2
2
2
3
3
3
3
2
2

CYCLE: PROCEDURE;
LIGHT$STATUS = 0;
/* SIDE GREEN, MAIN RED */
SIDE$TIME =0;
DO WHILE SIDE$TlME <= SIDE$CYCLE$LENGTH;
CALL DISPLAY(SIDE$TlME);
CALL DELAY(100);
SIDE$TlME + 1;
SIDE$TIME
END;
/* MAIN GREEN, SIDE RED */
LIGHT$STATUS
1;
END CYCLE;

/* MAIN PROGRAM
49

50
51
52
53
54
55
56

57
58
59
60
61

62
63

1

2
2

2
2

2
3
3
3
3
2

EXECUTION BEGINS HERE */

LIGHT$STATUS
1;
/* START WITH MAIN GREEN */
CARS$WAITING
0;
MAIN$TIME = 0;
DO FOREVER;
CALL DISPLAY(MAIN$TIME);
CALL DELAY(100);
MAIN$TIME = MAIN$TIME + 1;
IF (CARS$WAITING >= 2) AND (MAIN$TIME >= MAIN$CYCLE$LENGTH)
OR (CARS$WAITING = 1) AND (MAIN$TIME >= 2 * MAIN$CYCLE$LENGTH)
THEN
00;

CALL CYCLE;
CARS$WAITING
0;
MAIN$TIME = 0;
END;
END;
END CARS;
Figure 3-4. CARS2 Program Listing (Continued)

3-25

A Sample ICE-85 Session

The following steps are a brief emulation of CARS2 to verify that the program
changes made to CARS 1 enable CARS2 to run properly.

3-26

1.

Enter the same mapping commands as in CARS I.

2.

Define 14 and START.

3.

Load the corrected program.

4.

Check the symbol table.

5.

Start emulation from START and let CARS2 cycle for at least 20 cycles. Halt
CARS2 manually with the ESC key. Note that there was no signal light change
as no cars were entered on the side street.

6.

Call 14 to enter one car on the side street. Allow emulation to continue for at
least 30 cycles. Notice that the side street signal turns green for 5 cycles and then
the main street turns green again.

ICE-85B

ICE-85B

A Sample ICE-85 Session

*L1M
7000H
*L1M = 7EOOH
*MAP 0 = INT 0
WARN Cl:MAPPING OVER SYSTEM
* MAP 3000 LEN 4K = INT 7000
* MAP F800 = INT F800
WARN :Cl:MAPPING OVER SYSTEM
*MAP 10 FO TO FF = INT

*

2

*LOAD :FO:CARS2

3

*DEFINE .14 = .SIDE$STREET$CAR
*DEFINE .START = PC

4

*SYMBOL
.I4=3727H
.START=36C3H
MODULE .. CARS
.MEMORY=3889H
.MAINTIME=3883H
.SIDETIME=3884H
.MAINCYCLELENGTH=3680H
.SIDECYCLELENGTH=3681H
.CARSW AITING=3885H
.L1GHTSTATUS=3886H
.MAINGREENMESSAGE=3682H
.SIDEGREENMESSAGE=3696H
.TIMEMESSAGE=36AAH
.SIDESTREETCAR=3727H
.DISPLA Y=3735H
.CYCLETIME=3887H
.I=3888H
.CYCLE=37E9H
MODULE .. MODULE
.DELAY=3816H
.LABl=3819H
.LAB2=381AH
.TEMP=3830H

*
*

*

*

5

*GO
EMULATION BEGUN
EMULATION TERMINATED, PC=3824H
PROCESSING ABORTED

6

*CALL .14
EMULATION BEGUN
EMULATION TERMINATED, PC=3828H
PROCESSING ABORTED

*

*
*

3-27

A Sample ICE-85 Session

7. Halt emulation and call 14 to enter one car on the side street. Repeat for the
second car. Let emulation continue for at least 30 cycles and then halt manually.
Observe that the signal lights change in the proper sequence. In other. words,
CARS2 is sequencing correctly.
8. Display the address of DELAY.
9. Start emulation from DELAY and halt when MAIN$TIME is updatep. Trace
data is being collected in the trace buffer during this interval.
10. Set the trace buffer pointer to the top of the buffer. The following steps print
the contents of the trace buffer in each of the print modes: instruction, frame,
and cycle.
11. Print the first twenty-five instructions contained in the buffer. Since no print
mode has been specified, the output is in the default mode, instruction format.
Since emulation started from DELAY, the trace buffer has been filled and refilled a number of times by the DELAY subroutine. Therefore the first address in
the listing is not meaningful at this time.

3-28

ICE-8SB

ICE-85B

A Sample ICE-8S Session

7

*CALL .14
EMULATION BEGUN
EMULATION TERMINATED, PC=3824H
PROCESSING ABORTED

*

*

*CALL .14
EMULATION BEGUN
EMULATION TERMINATED, PC=381AH
PROCESSING ABORTED

*

8

*

* • DELAY
3816H

*
9

*

*GO FROM .DELAY TILL .MAINTIME WRITTEN
EMULATION BEGUN
EMULATION TERMINATED, PC=36E3H

*

*

10

*OWEST

11

*PRINT 25
ADDR
0001: 381A
0003: 381B
0013: 381E
0023: 3821
0033: 3824
0043: 3827
0045: 3828
0051 : 381A
0053: 381B
0063 : 381E
0073: 3821
0083: 3824
0093: 3827
0095: 3828
0101 : 381A
0103: 381B
0113 : 381E
0123: 3821
0133: 3824
0143; 3827
0145: 3828
0151: 381A
0153: 381B
0163: 381E
0173: 3821

*

*

*

INSTRUCTION
DCR C
SHLD 3830
SHLD 3830
SHLD 3830
SHLD 3830
NOP
JNZ 381A
DCR C
SHLD 3830
SHLD 3830
SHLD 3830
SHLD 3830
NOP
JNZ 381A
DCR C
SHLD 3830
SHLD 3830
SHW 3830
SHLD 3830
NOP
JNZ 381A
DCRC
SHLD 3830
SHLD 3830
SHLD 3830

ADDR-S-DA ADDR-S-DA ADDR-S-DA ADDR-S-DA
3830-W-88
3830-W-88
3830-W-88
3830-W-88

3831-W-38
3831-W-38
3831-W-38
3831-W-38

3830-W-88
3830-W-88
3830-W-88
3830-W-88

3831-W-38
3831-W-38
3831-W-38
3831-W-38

3830-W-88
3830-W-88
3830-W-88
3830-W-88

3831-W-38
3831-W-38
3831-W-38
3831-W-38

3830-W-88 3831-W-38
3830-W-88 3831-w-38
3830-W-88 3831-W-38

ASarnple ICE-85 Session

12. Move the buffer pointer to the end of the trace buffer.
13. Print the last twenty-five instructions stored in the buffer. Notice that each
instruction listed consists of a number of frames. For example the first instruction listed extends from frame address 0853 to 0862, ten frames. The total span
of frames covered by these twenty-five instructions are: 1020 - 0853 = 169
frames.

3-30

ICE-85B

A Sample ICE-85 Session

LCE-8SB

12

*NEWEST

13

*PRINT -25
ADDR
0853: 381B
0863: 381E
0873: 3821
0883: 3824
0893: 3827
0895: 3828
0901: 381A
0903: 381B
0913: 381E
0923: 3821
0933: 3824
0943: 3827
0945: 3828
0951: 381A
0953: 381B
0963: 381E
0973: 3821
0983: 3824
0993: 3827
0995: 3828
0999: 382B
1001 : 382C
1005: 382F
1011 : 36DF
1017: 36E2

*

INSTRUCTION
SHLD 3830
SHLD 3830
SHLD 3830
SHLD 3830
NOP
JNZ 381A
DCR C
SHLD 3830
SHLD 3830
SHLD 3830
SHLD 3830
NOP
JNZ 381A
DCR C
SHLD 3830
SHLD 3830
SHLD 3830
SHLD 3830
NOP
JNZ
DCR A
JNZ
RET
LXI H, 3883
INR M

ADDR-S-DA
3830-W-88
3830-W-88
3830-W-88
3830-W-88

ADDR-S-DA ADDR-S-DA ADDR-S-DA
3831-W-38
3831-W-38
3831-W-38
3831-W-38

3830-W-88
3830-W-88
3830-W-88
3830-W-88

3831-W-38
3831-W-38
3831-W-38
3831-W-38

3830-W-88
3830-W-88
3830-W-88
3830-W-88

3831-W-38
3831-W-38
3831-W-38
3831-W-38

3881-R-DF 3882-R-36
3883-R-03 3883-W-04

*

*

3-31

A Sample ICE~8S Session

14. Change the print mode to CYCLES.
15. Print the last twenty-five cycles contained in the trace buffer. Notice that these
twenty-five cycles cover fifty frames of trace data.

3-32

ICE-8SB

A Sample ICE-aS Session

ICE-85B

14
15

*TRACE = CYCLES
*
*PRINT -25
ADDR-S-DA
0973: 3821-E-22
0975: 3822-R-30
0977: 3823-R-38
0979: 3830-W-88
0981 : 3831-W-38
0983: 3824-E-22
0985: 3825-R-.J0
0987: 3826-R-38
0989: 3830-W-88
0991: 3831-W-38
0993: 3827-E-00
0995: 3828-E-C2
0997:- 3829-R-1A
0999: 382B-E-3D
1001: 382C-E-C2
1003: 382D-R-19
1005: 382F-E-C9
1007: 3881-R-DF
1009: 3882-R-36
1011: 36DF-E-21
1013: 36EO-R-83
1015: 36E1-R-38
1017: 36E2-E-34
1019: 3883-R-03
1021 : 3883-W-04
*

SD
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

RW
10
10
10
01
01
10
10
10
01
01
10
10
10
10
10
10
10
10
10
10
10
10
10
10
01

M
1
1

1
1
1

1
1

*

*

3-33

A Sample ICE-85 Session

16. Change print mode to FRAMES.
17. Print the last twenty-five frames of trace data contained in the trace buffer.
18. Terminate program operation.

3-34

ICE-85B

A Sample ICE-85 Session

ICE-858

16
17

18

*TRACE = FRAMES
*
*PRINT -25
AID S D SD
0997: 381A R 1 00
0998: 382B E o 00
0999: 383D E 1 00
1000: 382C E 0 00
1001: 38C2 E 1 00
1002: 382D R 0 00
1003: 3819 R 1 00
1004: 382F E 0 00
1005: 38C9 E 1 00
1006: 3881 R 0 00
1007: 38DF R 1 00
1008: 3882 R 0 00
1009: 3836 R 1 00
1010: 36DF E 0 00
1011 : 3621 E 1 00
1012: 36EO R 0 00
1013: 3683 R 1 00
1014: 36E1 R 0 00
1015: 3638 R 1 00
1016: 36E2 E 0 00
1017: 3634 E 1 00
1018: 3883 R 0 00
1019: 3803 R
00
1020: 3883 W 0 00
1021: 3804 W 1 00
*
*
*
*EXIT

RW
10
00
10
00
10
00
10
00
10
00
10
00
10
00
10
00
10
00
10
00
10
00
10
00
01

M
1
1
1

1
1

3-35

CHAPTER 4
ICETM-85 METALANGUAGE

Introduction
The ICE-85 software provides you with an easy-to-use English language command
set for controlling ICE-85 execution in a variety of functional modes.

The ICE-85 commands enable you to:
• Initialize the ICE-85 system, map your program to memory in your system or in
the Intellec Microcomputer Development System, and load your program from
a diskette file.
•
•
•
•
•
•
•

Specify starting and stopping conditions for emulation.
Execute real-time emulation of your software (and hardware).
Execute single-step emulation.
Specify conditions for trace data collection.
Collect and display trace data on hardware conditions occurring during
emulation.
Display and alter 8085 registers, memory locations, and 1/0 ports.
Copy the (modified) program from Intellec or user memory to a diskette file,
and exit the ICE-85 system.

An example of one complete ICE-85 command, in this case one of the forms of the
GO command, is shown in Figure 4-1. This command causes emulation to start and
specifies the conditions that will halt emulation. The command is made up of nine
separate mnemonic codes (character strings): GO, FROM, 0l23H, TILL, LOCATION, 0400, EXECUTED, OR, and SYO. Each of these mnemonics provides a particular element of information necessary to inform ICE-85 of the specific command
fUnctions to be executed. Table 4-1 defines the function of each of these mnemonics
as well as the match condition and the FROM and TILL clauses. This string of
mnemonics requests ICE-85 to "start emulation at memory location 0123H and to
continue emulation until either memory location 0400 is executed or until external
signal Sync 0 goes high". Every ICE-85 command is composed of one or more such
mnemonics.

GO

FROM

0123H

TILL

LOCATION

0400

EXECUTED

OR

SYO

token1

token2

token3

token4

token5

token6

token7

tOkenS

token9

...

.,
match condition

FROM clause

..

y

TILL clause (als,? GO· register)

...

v

GO command

Figure 4-1. Example of a GO Command

4-1

Metalanguage

ICE-85B

Table 4-1. Definition of GO Command Functions
Token
Number

Name

Function

1
2

GO
FROM

3
2,3

0123H
FROM clause

4

TILL

5

LOCATION

6

9

0400
EXECUTED
matchcondition
OR
SYO

4-9

TILL clause

Go command specifier; requests and initiates emulation.
Indicates that the next token or expression is the
starting address for emulation.
Starting address in hexadecimal radix.
FROM 0123H causes the program counter (PC) to be
loaded with 0123H, the starting address for the emulation.
Indicates that breakpoint (halting) parameters are to
follow.
Indicates that the address lines are to contain the
memory address given by the token or numerical expression that follows.
The address of the specified memory LOCATION.
Match pattern for an instruction fetch.
Emulation is to halt if an instruction fetch is executed
from memory location 0400.
Indicates that a second halt parameter is to follow.
Halt emulation if the external synchronization line SYO
goes low.
TILL LOCATION 0400 EXECUTED OR SYO specifies that
the emulation is to halt under either of the conditions
given. This clause is also called the 'GO-register' in the
ICE-85 language.

7
5,6,7

8

Thus, the ICE-85 command language is composed of a unique character set and
vocabulary of mnemonics. The character set is used to construct mnemonics and in
turn, the mnemonics are used to construct ICE-85 commands.

This chapter presents a metalanguage that classifies and identifies both character
and mnemonic types. The metalanguage consists of a set of meta-terms. Each metaterm is a class-name for a specific type of character or mnemonic and is always
shown in lower-case italics. Any character string not in lower-case italics is a specific
mnemonic or character. For example, the meta-term user-name refers to the entire
class of user names. The character string SAM is a particular user name.

As shown in Figure 4-1, all of the mnemonics are referred to as tokens. All ICE-85
mnemonics are divided into two classes: tokens and special tokens. Tokens encompass constants, keywords, symbols, and user names. Special tokens encompass
relational operators, arithmetic operators, and punctuation.

The remainder of this chapter is devoted to a presentation of the character and
mnemonic classes and the associated meta-terms that denote these classes. The metanotation used in this manual for· command syntax is also presented. This chapter will
specify all primary meta-terms but will not present the entire set of meta-terms.
Chapter 5 will introduce additional meta-terms that represent special subsets of
tokens for use with particular commands. These additional meta-terms will be defined using the primary meta-terms contained in this chapter along with any particular qualifications and restrictions involved in the command usage.

4-2

ICE-SSB

Metalanguage

Character Set
The valid characters in the ICE-85 command language include upper and lower case
alphabetic ASCII characters A through Z and the set of digits 0 through 9. The
space serves as a delimiter for tokens, and carriage-return/line-feed characters are
also valid, delimiting command lines. A question mark, ?, @ sign, and $ sign are
also valid in user-defined names entered in the command language.

+ and - (binary and unary), the asterisk (*), and slash (I),
relational operators (=. <. », the ampersand, semicolon, period, parentheses,
pound sign (#), and comma constitute the only other valid ASCII characters for
ICE-85: all other characters are treated as if a space was typed.

The algebraic operators

alphabetic characters:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

numeric characters:

o 1 2345 6 7 89 (A BCD E F: hexadecimal characters)
special characters:

+- <=> $'&).(;*1#
This character set is used to construct the vocabulary that constitutes the command
language.

Tokens
A token in ICE-85 command language is roughly equivalent to a 'word' in the
English language. It consists of a string of alphanumeric characters that may be
augmented by a one or two special character prefix that serves as a token identifier.
Tokens are divided into the following types: keywords, user-names, and constants.
Examples are: REGISTERS, .START, .. MODULE, GROUP, 0400, 123AH.

Keywords
ICE-85 recognizes a general class of predefined tokens that are fixed in the command language. They provide three functions. Reference keywords are used to
specify locations having unique predefined functions. Command keywords specify
command type. Function keywords specify subfunctions within a command. The
following sections define and describe these keyword classes. Each class and
associated keyword set is presented in the following paragraphs. Appendix A contains a listing of ICE-85 keywords and their abbreviations.
The reason for discussing the various classes and subsets here is to smooth the later
discussions of commands, where the class-names are used to show what elements
may appear in which commands.

Reference Keywords
The command language contains a set of system defined mnemonic tokens that are
used to address system objects. Each device such as the accumulator or register B is
assigned a specific mnemonic that is to be used to address and access the contents of
that device. These identifiers are called reference keywords. Reference keywords are

4-3

ICE-85B

ICE-85B Metalanguage

used in ICE-85 commands to refer to 8085 processor registers and flags, system
defined channel groups, emulation registers, memory locations, and blocks, I/O
ports and synchronization lines.
The total set of reference keywords is subdivided by types. Each type is referenced
by a class name. For example, register-name denotes the set of 8085 8-bit registers.
A reference token is assigned to each element within the set and is always shown in
upper case. For example, 'RB' denotes the contents of the register B of the 8085
8-bit register set.

Registers
All of the registers are assigned reference keywords for addressing. The registers are
composed of the following classes: 8085 8-bit registers, 8085 register pairs, 8085
I-bit status flags and 8085 interrupt bits.

Type
8-bit registers

Class Name

register-name

Keywords
RA.RB,RC,RD,RE,RF,
RH,RL

The meta-term register-name is the name of the class of 8085 8-bit general purpose
work registers that provide a variety of functi0ns such as storing 8-bit data values,
intermediate results of arithmetic operations, address pointers, and operation code
and status data.

Type
16-bit registers

Class Name

register-pair-name

Keywords
RBC,RDE,RHL,SP,PC

The meta-term register-pair-name is the name of the class of 16-bit register pairs that
provide such functions as storing 16-bit values, maintaining the stack and program
pointers, and saving status information.

Type
Status flags

Class Name

flag-name

Keywords
CY,PY,ACY,Z-,SN

The meta-term flag-name is the class name of the set of five I-bit condition flags
that carry conditions resulting from arithmetic and logical operations.

Type
Interrupt bits

Class Name

i-bit-name

Keywords
MS,M6,M7,IE,17,SIO,SOD

The meta-term i-bit-name is the class name of the set of seven interrupt bits that are
used to mask, enable/disable, and sense interrupts and to input/output serial data.

4-4

ICE-85B

ICE-85B Metalanguage

Type

Class Name

Keywords

ICE status registers

status-register

OPCODE, CAUSE, PPC, PSW, UPPER, LOWER,
LIMIT, BUFFERSIZE, TIMER, HTIMER

The meta-term status-register is the class name for the set of ten ICE-85 status
registers that are used to display ICE-85 status.

System Defined Channel Groups

Type
Channel group

Class Name

s-group-name

Keywords
DMUX,ADDR,ADDRL,ADDRH,
DATA,STS,SD,
RW,MTH,
UO,U1,U2

The meta-term s-group-name is the class name of the set of twelve ICE-85 defined
groups of external probe and 8085 processor channels that are used to set breakpoint
and qualification registers.

Emulation Registers
The emulation registers consist of the breakpoint registers, qualification registers
and condition registers,

Type

Class Name

Keywords

break-reg

BRO,BR1,BR

Qualification registers

qual-reg

QRO,QR1,QR

Condition registers

cond-reg

CRO,CR1,CR2,CR3

Breakpoint registers

GO register
Step register

go-reg

GR

step-reg

SR

The meta-term break-reg is the class name for the two breakpoint registers that are
used to halt emulation. The meta-term qual-reg is the set name for the two
qualification registers that control tracing. Each register is 42 bits long, one bit for
each of the eighteen probe channels and twenty-four processor channels (except
channel 43, MTH), and each bit can take anyone of the three values 0, 1, or "don't
care". The initial setting of these registers is 42 "don't care" values. The meta-term
cond-reg is the set name for the four condition registers that are used to set the test
conditions that control emulation in the step mode. The meta-term go-reg refers to
the GO-register, an ICE-85 pseudo-register that controls the breaking of real-time
emulation. The meta-term step-reg refers to the STEP-register, an ICE-85 pseudoregister that controls the stopping of single-stepping.

Synchronization Lines

Type

Keywords

Sync

SYO,SY1

4-5

ICE-85B

ICE-85B Metalanguage

ICE-85 can be synchronized with other ICE devices by means of two synchronization lines: SYO, which synchronizes real-time emulation and SY 1, which synchronizes the trace. Both can be enabled or disabled for input or output or both.

Command Keywords
Type
Command token

Keywords
BASE,CALL,DEFINE,DISABLE
ENABLE,
EVALUATE,EXECUTE,EXIT,GO,GROUP,ICALL
LlST,LOAD,MAP,MOVE,
NEWEST ,OLDEST,
PRINT,REMOVE,RESET, SAVE,STEP,
SUFFIX,SYMBOL,TRACE

These tokens are used as command verbs in that they specify the major function (action) to be executed as a result of the command.

Function Keywords
The function keywords are those tokens that are used as command modifiers. These
are used as objects of commands, state or mode specifiers, specifiers of operational
controls, and connectors.
'
Object Keywords

Type

Keywords

Modifier

ALL (print)
HARDWARE (reset)
DU MP (enable)
STOPTRACE (enable)

These ICE-85 keywords are used as command modifiers. For example, in the command "PRINT ALL", the print command is modified to print all of the current
contents of the trace buffer, as opposed to a single line, which is the ?efault.
State or Mode Keywords

Type

Keywords

State/Mode

Y,Q,T,H,K,ASCII (base and radix)
CYCLE,FRAME,INSTRUCTION (trace mode)
SHARED,UNSHARED
GUARDED,USER,INTELLEC

(map mode)

NOVERIFY
IN ,OUT (sync lines)
NOLlNES,NOSYMBOLS,NOCODE
(load/save mode)

4-6

ICE-8SB

ICE-8SB Metalanguage

These keywords specify state or mode requirements. For example "TRACE == CYcLE" states that trace data is to be displayed in the cycle mode. "ENABLE SYO
OUT" states that the SYO output mode is to be enabled.
Operational Control Keywords

Type

Keywords

Op Control

CALL.JUMP,RETURN (dump condition)
FROM (GO and STEP start address)
FOREVER (GO and STEP duration)
COUNT (STEP duration)
TILL (GO and STEP halting conditions)
ON
LOCATION.VALUE
EXECUTED,WRITTEN,READ,
INPUT,OUTPUT,HALT

(Breakpoint
state I

These keywords that specify operational conditions required. For example, "GO
FROM 0400H TILL LOCATION 0600H READ" states that emulation shall start
from memory location 0400 and will continue until memory location 0600H is read.

Connector Keywords

Type
connector

Keywords
AND (condition registers)
OR (condition registers, break
registers and synchronization lines)

These keywords connect multiple halting conditions for emulation or trace. For example, "GO FROM 0400 TILL BRI OR SYO" states that the emulation is to start at
0400 and to continue until a match on breakpoint register 1, occurs, OR SYO goes
low.

User Names
The command language permits the programmer and operator to employ symbolic
addressing through the use of user-generated tokens as opposed to system-generated
tokens (keywords). The language permits four types of user names: symbols,
module names, statement numbers, and group names.

Symbols
A symbol is a sequence of contiguous alphanumeric characters, prefixed by a period
(.), that references a location in a symbol table. The symbol has two uses. The
referenced table location always contains a number; it may be an address of an instruction or data value in a program module,or it may be used directly as a
numerical value (variable). In the first case, the symbol is an alternative method of

4-7

ICE-85B Metalanguage

program addressing (symbolic as opposed to direct numeric addresses). In the second case, it provides a method for storing and retrieving data values symbolically
into/from the table itself.

Symbols in the user-program symbol table may be entered, deleted, or referenced
through the ICE-85 command language. Symbols (names) must conform to
translator syntax: a sequence of one or more characters where the first character
must be a let ter, an at-sign (@), or a question mark (?), and the characters following
may be these or a numeral. However, ICE-85 truncates all symbols to 31 characters.
Thus two different symbols must be unique in the first 31 characters. In addition, to
refer to a symbol in ICE-85 command language, you must preface it with a period
(.); module names require two periods ( .. ) and group names must have none. Interven ing spaces are allowed between a period and the symbol following but are not
part of the name.
Examples:
.VAR123.MSGXIZ .. VOLUME.PRESSR.VAR666.SGNL TO
.@MYFLAG
.?WHICHPATH
.@WHATTIME?
The ICE-85 symbol table contains one or more modules; each has a name. When the
InteHec system is initialized with ICE-85 system software, a symbol table is established in memory containing one "no-name" module with no symbols. Whenever a
user object module is loaded, its modules are loaded subsequent to the modules currently in the symbol table. Each module will contain the programmer-specified procedure names and variable names as symbols.
A reference such a '.X. Y' means the first occurrence of the symbol Y that follows
the first occurrence of symbol X.
One use for this type of construction is to identify one of several instances of the
same symbol-name that actually refer to different variables because they were
declared local to two different procedures in a block structured program. For example, suppose the program contains two procedures, named START and FINISH,
both of which have their own variable COUNT. Note that START and FINISH are
not module names. Now, you can reference the two instances of COUNT with the
two constructions .
.START.COUNT
.FINISH.COUNT
The keywords BYTE and WORD can precede a reference such as .X.Y, to obtain
the contents of the symbolic reference.
You can define and add symbols either to the no-name table or to any module symbol table currently in memory.

Module Names
ICE-85 permits multiple modules to reside in memory simultaneously, including the
'no-name' module. Moreover, the same symbol is permitted to occur in any or all of
the modules currently in memory. Therefore it may be necessary to prefix a symbol
with a module name to refer to the occurrence of that symbol in one particular
named module. If no module name is present, ICE-85 scans all modules, starting
with the no-name module and proceeding through the list of modules in the order in
which they were entered into memory. The first occurrence of the symbol is selected.
When used, the module name is prefixed to the symbol. The module name conforms to the same PL/M syntax as a symbol except that it is prefixed with a double
period ( .. ).

4-8

ICE-85B

ICE-85B Metalanguage

ICE-85B

As an example, consider the symbol .BEGIN in module .. MAINLOOP. The entire
reference to this occurrence of .BEGIN is:

.. MAINLOOP.BEGIN

Statement Numbers
In the process of compiling a source module, the PL/M compiler generates a set of
(source) statement numbers, one for each source statement in the module. Each
statement number is linked to the absolute address of the first instruction generated
by the PL/M compiler for the associated source statement in the source program.
Each compiled program will contain a table of statement numbers and absolute addresses. Items (addresses) in the table are referenced by entering the associated state-

ment number.
The form of reference is

module-name # decimal-lO
where:

# is the 'number' sign; this designates the reference as a statement number.
decimal-lO

is the (source) statement number
default suffix of decimal-lO is always decimal.

(a numeric constant). The

For example:

.. MAINLOOP#123
#123 is statement number #123 in the source program, .. MAINLOOP. This
reference would obtain the address of the first instruction generated by source statement 123 of module .. MAINLOOP.

Statement numbers are an alternative to program addressing, as opposed to labels
in the program.

User Group Names
ICE-85 allows the user to define a set of symbolically-named groups to reference
subsets of the twenty-four 8085 processor channels and eighteen external probe
channels when setting breakpoints and clock qualifiers, and when examining trace
data.
The 18 external probe channels are numbered 1 to 18, and the 24 processor channels
are numbered 19 to 42.
For example, if external probes 8, 11, 5, 10, 1,7, 15, and 2 are attached to port A of
in your system, you can define a group PORT$A to contain these probes. Then,
when setting a breakpoint to match on a particular value on port A, when displaying
the trace data from port A, etc., you can use the group-name PORT$A.
The same channel may appear in any number of different groups, but a channel may
not appear more than once within a single group. All groups are limited to a maximum of 16 channels each.
A set of twelve groups are predefined by ICE-85, grouping the external probe and
8085 processor channels.

4-9

ICE-8SB Metalanguage

ICE-8SB

Constants
A constant is a token that represents a fixed numerical value (e.g., 24). ICE-85
recognizes two types of constants: numeric constants and masked constants.

Numeric Constants
A numeric constant consists of a sequence of numeric characters (digits) and optionally a suffix to specify the constant's radix. A numeric constant has the general
form:

digit(s) [radix]
where:
digit(s) : are a string of one or more valid numeric digits' (OI23456789ABCDEF). Legal digits for a given numeric constant depend upon the radix
specified.
radix : denotes the number base or representation for entering and displaying
numeric values. The following are the valid ICE-85 radix indicators:
Radix

Number Base

Y

Binary (base 2)
Octal (base 8)
Decimal (base 10)
Hexadecimal (base 16)
Decimal multiple of 1024

Q
T
H
K

*The letter 0 can be substituted for the letter Q to denote octal.
Examples of valid numeric constants:

10010011Y

7370
2049T

1FA9H
2049

(using a radix previously specified)

Masked Constants
A masked constant is syntactically identical to a numeric constant except it may not
contain the "T" or "K" suffixes and must contain one or more "X" characters.
Each "X" character represents a 'don't care' digit (l, 3, or 4 bits depending upon
whether the radix is binary, octal, or hexadecimal). The radix, either explicit or implicit (i.e., previously specified), must be binary, octal or hexadecimal. The following are examples of masked constants :

10X1X01Y

3X40

6FX1H

(binary - 2 don't care bits shown explicitly)
(octal - 3 don't care bits implicit because each octal numeral
represents 3 bits; equivalent to 011XXX100Y)
(hexadecimal - 4 don't care bits, implicit because each
hexadecimal numerical represents 4 bits; equivalent to
01101111XXXXOOOl Y)

Typical use of a masked constant is to check for a match on specifically relevant bit
positions.

4-10

ICE-85B Metalanguage

ICE-85B

When the masked constant is applied in a match, the zero and ones are checked, but
the don't-care bits are ignored. If all the corresponding zeros and ones in the two
numbers match, the match is successful.

Special Tokens
The command language contains two special token sets that provide special functions: operators and punctuation.

Operators
Type
relational
plus
mult

Class Name

Operators

=. <. >. <=. >=. <>

re/-op
p/us-op
mu/t-op

+. -. (binary and unary)
*, I, MOD

Punctuation
Type
punctuation

Class Name

Punctuation Characters

punct-op

, & . , ; ) ( $ CR LF SP

The use of punctuation characters are defined in those sections that define command
formats.

Numeric Expressions
A numeric expression is a construct of primaries and operators that evaluates to a
numeric value. ICE-85 also makes use of conditional expressions that evaluate to
'true' or 'false'. However, when the term 'expression' is used with no qualifier in
this manual, a numeric expression is intended.
ICE-85 evaluates in a left-to-right scan modified by operator precedence for an
algebraic sequence in the form:

operand [operator operand] ....

Operators
Operators are used in expressions and in commands. A summary of ICE-85
operators are shown below. The binary (arithmetic) operators are listed in their
order of precedence from highest precedence to lowest.
Type
Precedence
Binary
(Arithmetic)

Operator

Interpretation

()

Controls order of evaluation

MOD

+
MASK

Modulo remainder
Multiplication
Division
Addition
Subtraction
Bitwise AND

4-11

ICE-8SB

ICE-8SB Metalanguage

Type

Operator

Interpretation

Relational

>
<
<>
>=
<=
+

Unary

Is equal to
Is greater than
Is less than
Is not equal to
Is greater than or equal to
Is less than or equal to
Single positive quantity
Negative quantity

Operands
Operands are numerical values, or references that are evaluated to numerical
values. In an operand, all the bits in the machine (binary) version are set to zero or
one, giving a unique value. Masked constants , however, have one or more bits set
to 'don't care' (represented by X), and thus represent a multivalued entity.
An operand has the general form:

[unary-op]

(exp)
numeric constant
statement number
[module-name] symbol
register name
pair-name
flag-name
i-bit-name
port-name
mem-desig address

where:
(exp): an operand whose value is the value of the parenthesized expression e.g.
(l +2+3) = 6 (operand value).

Expressions
An previously stated, every expression is of the form:

operand [operator operand] ...
where each operand can be any type such as a numeric constant, symbol, register
name, etc.
The following examples illustrate typical expressions. The operands are indicated
by upper case alphabetic characters (A, B, C, ... ) and can be of any valid operand
type. These examples also illustrate the ICE-85 evaluation of each expression. The
evaluation is accomplished by a left-to-right scan augmented by operator
precedence. Each expression enclosed in parenthesis is treated as an (exp) type
operand and is evaluated at that point. The examples show the resolution of each
expression into a single operand value, R (resultant).

4-12

1.

A+B*C - A+D - R

2.

(A+B)*C - D*C:"" R

ICE-85B

ICE-85B Metalanguage

3.

A+B*C/D -+ A+E/D -+ A+F -+ R

4.

(A+B)*C/D -+ E*C/D -+ F/D -+ R

5.

A+B*C/D MOD E -+ A+F/D MOD E
-+ A+G MOD E
-+A+H-+R

6.

(A+B)*C/D MOD E -+ F*C/D MOD E
-+ G/D MOD E
-+ MOD E -+ R

7.

A+B*CI MOD E MASK F
-+ A+G/D MOD E MASK F
-+ A+l MASK F
-+ J MASK F
-+R

8.

(A+B)*C/D MOD E MASK F
-+ G*C/D MOD E MASK F
-+ HID MOD E MASK F
-+ I MOD E MASK F
-+ J MASK F
-+R

Meta-Notation Used In The Manual
This manual employs a set of meta-notational symbols and conventions to describe
the structure of commands and other language constructs. Items I and 2 below
specify the use of meta-terms and tokens respectively. The features of this metanotation system are as follows:

1.

A lower-case italicized entry in the description of a command is the meta-term
for a set or class of tokens. To create an actual operable command, you must
enter a particular member of this class. For example, the lower-case entry:

break -register
means that the command will accept any of 3 tokens: BRO, BR I, or BR (which
means BRO and BRI)
Each class-name given in the syntax description of a command is explained in
the discusion of semantics that accompanies the command.
2.

An upper-case entry is a token that must be used literally as given. A valid
abbreviation of that token may substitute for the full token as given. The token
may be a command word, or it may be a particular member of a class of
references. For example, the upper-case entry:
DEFINE
is a command word that must be used as given unless abreviated. The abbreviation DEF may be used in place of DEFINE. As another example, the upper-case
entry:
BRI
means breakpoint register 1 must be named as and where given.

4- 13

ICE-85B

ICE-85B Metalanguage

3.

A single-required entry is shown without any enclosures, whereas free options
or choices among restricted alternatives are specially denoted. For example, in
the following command syntax:
GROUP [group-name]
the token GROUP is required. The significance of the brackets around groupname is explained in (5) below.

4.

Where only one entry must be selected from a menu of two or more items, the
choices for the required entry are given in a vertical arrangement enclosed by
two vertical lines. For example:
TRACE =

I

FRAME
CYCLE
INSTRUCTION

I

Indicates that FRAME or CYCLE or INSTRUCTION must be selected; the
tokens TRACE and = are required as given.
5.

An optional entry is enclosed in brackets [ ]. Where a choice exists for an
optional entry, the choices are given in a vertical arrangement enclosed in
brackets. For example, in the command:
GROUP [group-name]
the entry group-name (signifying the class of channel-group names) is optional.
Omitting an optional entry usually alters the operation of the command, as explained under each command description.

6.

A group of inclusive choices is given in vertical arrangement and enclosed in
braces {} ." Inclusive" means that more than one of the items can be entered in
the same command, and items can appear in any order; no item can be used
twice. The menu of inclusive items represent an optional entry or entries. For
example:
ENABLE DUMP

{

partition
}
CALL
JUMP
RETURN

This notation indicates that none, one, or more that one choice of partition ,
CALL, JUMP, and/or RETURN may be included in one command; if more
that one is used, the entries can be in any order.
To complete the example:
ENABLE DUMP RETURN CALL JUMP
is a valid command.
7.

Where two or more choices are mutually exclusive, and as a group they
constitute one choice within an arrangement of inclusive entries, the mutually
exclusive items are given on one line separated by slashes (I). For example:
SAVE pathname

4-14

NOCODE / partition
{ NOSYMBOLS
NOLINES

I

ICE-85B

_ICE-85B Metalanguage

This example indicates that the optional entries are the items NOLINES,
NOSYMBOLS, and either NOCODE or a memory partition; the entries can
appear in any order. NOCODE and partition are mutually exclusive.
8.

Where mutually exclusive entries can be shown on one line, the following
shorthand notation can be used.
SUFFIX = Y IQ/T IH
This example is equivalent to
SUFFIX =

Y
Q
T
H

9.

Where an entry can be repeated indefinitely at the user's option, the syntax is
notated by enclosing the repeatable entry in brackets [ ] followed by three
periods ( ... ). For example,

operand [operator operand ] ...
indicates that operator operand can be repeated as many times as desired.
10. Some entries can be repeated up to a fixed maximum number of repeats, rather
than indefinitely. The repeatable entries are enclosed in brackets [ ] followed by
... &n,
where:

&: denotes that the entries in the brackets may be repeated.
n: a decimal number that specifies the number of times the entries
enclosed within the brackets can be repeated.
In addition, some repeatable entries require a particular item separator to
precede each repeat after the first entry. When an item separator is required, it is
also enclosed in the brackets, preceding the repeatable entry. Note that the maximum number of entries is one more than the number of repeats given by the
number, n.
Example:
TILL cond-reg

[I ~~D 1

cOnd-reg] ... &3

In this example, up to four members of the class cond-reg can be named; each
of the second, third, and fourth registers must be preceded by a token AN D or
OR.

4-15

CHAPTER 5
THE ICETM-85 COMMAND LANGUAGE

Chapter 5 contains discussions, examples, and syntax summaries for each of the
ICE-85 commands. The chapter begins with a summary of information on entering
commands at the console. The commands have been classified into eleven sections
for discussion; commands in a given section are related in function.
The following brief outline of Chapter 5 shows how the ICE-85 commands have
been classified for discussion.

Utility Commands Involving ISIS-II
Discussion
ICE85 Command
EXIT Command
LOAD Command
SAVE Command
LIST Command

Number Bases and Radix Commands
Discussion
SUFFIX Command
BASE Command
EV ALUATE Command
Memory and I/O Port Mapping Commands
Discussion
MAP Mode Command
MAP MEMORY Command
MAP 10 Command
Display MAP Status Command
RESET MAP Command

Hardware Register Commands
Discussion
Display Processor or Status Register Command
Set 8085 Processor Register Command
RESET HARDWARE Command
ENABLE/DISABLE TIMEOUT Command
Memory and Port Content Commands
Discussion
Display Memory and Port Contents Commands
Set Memory Contents Commands
Set Input/Output Port Contents Command

Symbol Table and Statement-Number Table Commands
Discussion
Display Symbol Table or Statement-Number Table Commands
DEFINE Symbol Command
Change Symbol Command
REMOVE Symbol Command

5-1

Command Language

Channel Group Commands

Discussion
DEFINE GROUP Command
Display GROUP Command
Change GROUP Command
REMOVE GROUP Command
Rea1-Time Emulation Control Commands

Discussion
GO Command
GRCommand
Set Breakpoint Register Command
RESET Breakpoint Register Command
Display Real-time Emulation Controls Commands
ENABLE/DISABLE SYO OUT Commands
Trace Control Commands

Discussion
.Set Trace Display Mode Command
MOVE, OLDEST, and NEWEST Commands
PRINT Command
Set Qualifier Register Command
RESET Qualifier Register Command
Display Trace Controls Commands
ENABLE/DISABLE Trace Factors Commands
Single-Step Emulation Control Commands

Discussion
Set Condition-Register Command
SRCommand
STEP Command
Display Single-Step Controls Commands
ENABLE/DISABLE DUMP Command
External Call Commands

Discussion
CALL Command
ICALL Command
EXECUTE Command

5-2

ICE-85B

Command Language

ICE-85B

Table 5-1 lists the commands separately, in alphabetic order by command title. You
can use this table to find the section containing any command or command function
that you wish to locate.

Table 5-1. ICETM-85 Commands: Alphabetical Summary

Command Title

Operations Included
in Command

Section where
discussed; page
of syntax
summary.

Change GROUP

Change channels assigned to
previously-defined user
group.

Channel Group
page 5-60.

Commands;

Change Symbol

Change address or variable
value corresponding to a
previously-defined symbol.

Symbol Table and StatementNumber Table Commands;
page 5-54.

DEFINE GROUP

Define a group-name and
assign a list of channels to it.

Channel Group
page 5-59.

DEFINE Symbol

Define a symbol and assign it
a corresponding value
(typically an address).

Symbol Table and StatementNumber Table Commands;
page 5-53.

Display Emulation
Registers

Display the current settings of
the GO-register, breakpoint
registers, STEP-register, and
condition registers.

Real-Time Emulation Control
Commands; page 5-73.
Single-Step Emulation Commands; page 5-99.

Display GROUP

Display channels assigned to
one or more group names.

Channel Group
page 5-60.

Display MAP
Status

Display memory or 1/0 port
mapping.

Memory and 1/0 Port Mapping
Commands; page 5-30.

Display Memory
and Port Contents

Display contents of one or
more memory adresses or an
1/0 port.

Memory and Port Contents
Commands; page 5-46.

Display Processor
or Status Register

Display contents of SOS5 and
ICE-S5 hardware registers.

Hardware Register Commands; page 5-36.

Display Radix

Display current input or output
radix.

Number Bases and Radix
Commands; page 5-15.

Display Symbol
Table or
StatementNumber Table

Display address or value from
symbol table corresponding to
a user-defined symbol.
Display address corresponding to source program line
number.

Symbol Table and StatementNumber Table Commands;
page 5-53.

Display Trace
Controls

Display current TRACE mode.
Display qualification register
setting.

Trace
Control
page 5-SS.

Commands;

Commands;

Commands;

5-3

Command Language

ICE-85B

Table 5-1. ICETM-85 Commands: Alphabetic Summary (Cont'd.)

Command Title

5-4

Operations Included
in Command

Section where
discussed; page
of syntax
summary.

ENABLEI
DISABLE

Enable or disable SYO OUT,
SY1 IN, SY1 OUT,
STOPTRACE, or TIMEOUT

Hardware Register
Commands; page 5-38.
Emulation Control Commands;
page 5-74.
Trace
Control
Commands;
page 5-88.

ENABLE I
DISABLE DUMP

Enable or disable automatic
trace display after STEP.

Single-Step Emulation Control
Commands: page 5-100.

EVALUATE

Evaluate and display the
number entered, in the five
bases Y, Q, T, H, and ASCII.

Number Base and Radix Commands; page 5-16.

EXIT

Terminate emulation session,
return control to ISIS.

Utility Commands Involving ISIS-II: page 5-9.

External Call

Emulate or execute an external procedure.

External Call Commands; page
5-103.

GO

Begin emulation, accepting
default halting and starting
conditions, or specifying new
ones.

Real-Time Emulation Control
Commands: page 5-71.

GR

Set conditions for halting
emulation.

Real-Time Emulation Control
Commands; page 5-72.

ICE85

Load ICE-85 software into ISISII, transfer control to ICE-85
program.

Utility Commands Involving ISIS-II; page 5-9.

LIST

Send ICE-85 output to
designated external device.

Utility Commands Involvi ng ISIS-II: page 5-11 .

LOAD

Load user program into
ICE-85.

Utility Commands Involving ISIS-II; page 5-10.

MAP

Assign memory blocks or 1/0
port segments to user system
or to Intellec system.

Memory and Port Mapping Commands;
page 5-28,5-29.

MAP Mode

Set MAP mode as SHARED or
UN SHARED.

Memory and Port Mapping Commands;
page 5-27.

MOVE, OLDEST
NEWEST

Move trace buffer pointer to
desired position.

Trace Controls
page 5-85.

Commands;

PRINT

Display trace data.

Trace Controls
page 5-86.

Commands:

Command Language

ICE-85B

Table 5-1. ICETM-85 Commands: Alphabetic Summary (Cont'd.)

Command Title

Operations Included
in Command

Section where
discussed; page
of syntax
summary.

REMOVE GROUP

Delete one or more group
names.

Channel Group
page 5-61.

Commands;

REMOVE Symbol

Delete one or more userdefined symbols from the
ICE-85 symbol table.

Symbol Table and StatementNumber Table Commands;
page 5-54.

RESET

Restore breakpoint registers,
qualification registers, MAP,
ICE-85 HARDWARE, or RST 7.5
line to an initial state.

Hardware
Registers
Commands; page 5-37.
Memory and Port Mapping
Commands; page 5-30.
Real-Time Emulation control
Commands; page 5-74.
Trace
Control
Commands;
page 5-87.

SAVE

Save user program on
external device.

Utility Commands Involving ISIS-II; page 5-11.

Set Breakpoint
Register

Set designated breakpoint
register to condition for
halting real-time emulation.

Real-Time Emulation Control
Commands; page 5-73.

Set Condition
Register

Set condition register to condition for halting single- step
emulation.

Single-Step Emulation Control
Commands; page 5-96.

Set Input/Output
Port Contents

Set contents of one 1/0 port.

Memory and Port Contents
Commands; page 5-48.

Set Memory
Contents

Set the contents of one or
more memory locations.

Memory and Port Contents
Commands; page 5-47.

Set Processor
Register

Set content of 8085 register.

Hardware Register Commands; page 5-37.

Set Qualification
Register

Set qualification register to
condition for enabling trace
data collection.

Trace Controls
page 5-87.

Set Radix

Set default input or output
radix.

Number Base and Radix Commands; page 5-15.

Set TRACE Mode

Set mode for display of trace
data.

Trace
Control
page 5-84.

SR

Set STEP-register with halting
conditions for Single-step
emulation.

Single-Step Emulation Control
Commands; page 5-97.

STEP

Begin Single-step emulation,
setting start and halt conditions.

Single-Step Emulation Control
Commands; page 5-98.

Commands;

Commands;

5-5

Command Language

ICE-85B

Entering Commands At The Console
ICE-85 displays an asterisk prompt (*) at the left margin when it is ready to accept a
command from the console ..
Each command is entered as a command line. The command line consists of one or
more input lines; the length of an input line is limited to the number of characters
that one line of the console display can contain.
ICE-85 recognizes the carriage return as the terminator for a command line. If it is
necessary to use more than one input line to enter a command, each intermediate input line should end with an ampersand (&). When ICE-85 encounters the ampersand, it suppresses the interpretation of the command that would occur on encountering the carriage return that follows. After the carriage return is executed,
ICE-85 displays a double asterisk prompt (**) to acknowledge the continuation of
the command line.
Tokens in the command are separated by blanks, unless the construct requires
another form of separator. For example, tokens in a list are separated by commas;
in this case, blanks may be inserted for clarity but are not required.
Any input line may include comments. A semicolon (;) precedes the comments. The
comments must appear after any portion of the command that is on that input line;
in other words, if the first character in an input line is a semicolon (;), the entire input line must consist of comments. Characters in a comment are not interpreted by
ICE-85, and are not stored internally. The main use of comments is to document an
emulation session while it is in progress.
Comments may not be continued from input line to input line. If an ampersand is
used to continue a command line that also contains comments, the ampersand must
come before the comment. An ampersand that is embedded in a comment is ignored
by ICE-85.
You can use ISIS-II editing capabilities to correct errors in the current input line.
The line-editing characters are as follows.
Characters

Result

RUBOUT

Delete last character entered in input line. The deleted character is
echoed immediately. The RUBOUT function can be repeated,
deleting one character each time it is pressed.

CTRLX

Delete entire input line. (CRTL Z gives the same result.)

CTRLR

Display entire input line as entered so far. This is useful after a
RUBOUT, to review which characters have been deleted.

ESC

Cancel entire command being entered.

CRTLP

Input next character literally.

Carriage Return Terminate input line or command line.
Line Feed

Terminate input line.

Once a line terminator (carriage return or line feed) has been entered, that line can
no longer be edited.
The dollar sign ($) is ignored by ICE-85. You can use it as a separator when you
want to combine two words into one token. For example, suppose you wanted to
combine the two system groups DATA and STS into one group for your use. Instead
of DATAANDSTS, you can use the $ character as a separator: DATA$AND$STS.

5-6

Command Language

ICE-85B

Utility Commands Involving ISIS-II
The Intel Systems Implementation Supervisor (ISIS-II) is the diskette operating
system for the Intellec Microcomputer Development System. ICE-85 runs under
ISIS-II control, and can call upon ISIS-II for file management functions.
The following commands are included in this section:

Purpose

Command
ICE85
EXIT
LOAD
SAVE
LIST

Load ICE-85 program from diskette.
Return control to ISIS-II.
Load user program into memory accessed by ICE-85.
Copy user program from memory onto diskette.
Copy ICE-85 emulation output to printer or file.

Discussion
ICE-85 commands can use ISIS-II pathnamesto direct ISIS-II to a desired diskette
file or other output device.
For diskette files, the format of pathname is as follows.

:drive: filename
The entry :drive: stands for one of the references to ISIS diskette drives, as follows.
:FO:
:Fl:
:F2:
:F3:

Diskette drive 0
Diskette drive 1
Diskette drive 2
Diskette drive 3

~~~J Single-density drives on a double-density system
The entry filename must follow the second colon (after drive) without any intervening spaces. A filename has the following components.

identifier [. extension 1
The entry identifier is a name assigned by the user, and is made up of one to six
alphanumeric characters. The extension is an optional part of the filename, consisting of one to three alphanumeric characters preceded by a single period. The extension must be used if it is present in the directory listing of the file on the diskette.
If used, the extension follows the identifier without any spaces. Some extensions
(e.g., .BAK, .LNK) are assigned by system processors; others can be assigned at the
desire of the user. An extension provides a second level of file identification; it can
be used to identify different versions of the same program, or to give supplemental
information about the file (e.g., author, data, version).
Fully compiled or assembled programs ready to run (emulate) do not have systemassigned extensions, although they may have extensions assigned by the user.
For devices other than diskette files, the format of pathname is as follows.

:device:

5-7

Command Language

ICE-8SB

The following devices are commonly accessed in ICE-85 commands.

:Device:

Output Device

:LP:
:HP:
:TO:
:CO:

Line printer
High-speed tape punch
Teletypewriter printer
Console display

For more information on ISIS-II filenames and device codes, refer to the ISIS-Jl
System User's Guide.
The ICE85 command, entered after an ISIS-II prompt, directs ISIS-II to load the
ICE-85 program from the specified diskette drive, into a reserved area in lntellec
memory. ICE-85 begins operation as soon as it is loaded, initializing its hardware
and program variables, and signaling readiness to accept ICE-85 commands by
displaying an asterisk prompt.
The EXIT command ends the emulation session and returns control to ISIS-II. The
command halts all emulations and issues a hardware reset before exiting.
The LOAD command loads the object code from the named file and drive into the
areas of memory specified by the memory map. Modules are loaded in the order of
their appearance in the source file. If no qualifiers are included, the command also
loads the program symbol table and statement number table (for PL/M-80 programs) along with the program code. The symbols and statement numbers are placed in reserved areas of Intellec Shared memory. Symbols are grouped in the tables by
module, in the order that the modules are loaded into memory.
The command can include one or more modifiers to control what is to be loaded. If
NOCODE is included, the program code is omitted from the load. If NOLINE is included, the program statement number table is not loaded. If NOSYMBOL is included, the program symbol table is not loaded. Any combination of one, two, or
three modifiers may be included, although the cUIIunand wiih aU three modifiers
represents a "null" command. No modifier may be named twice in the same load
command.
The SAVE command copies the user program currently loaded from memory onto
the specified file and drive. If the diskette installed on the given drive does not have
the named file in its directory, ISIS-II creates the file and opens it for write. If no explicit drive number is given, drive 0 is assumed.
Th~

command can include one or more modifiers to control what is to be saved. If
NOSYMBOL is included, the symbol table is not copied from memory to'diskette. If
NOLINE is included, the statement number table (for PL/M-80 programs) is not
saved. The modifiers NOCODE and partition are mutually exclusive: if one is used,
the other may not be included. If NOCODE is included, the program object code is
not copied to diskette. If partition is included, only the code stored in the memory
addresses in the partition (range of addresses) are saved. When more than one
modifier.is used, separate them with spaces. No modifier may be used twice in the
same SAVE command. The SAVE operation does not alter the program code, symbol table, or statement number table in memory.
Tl;te LIST command saves a record of the emulation session, including high-volume
data such as trace data, on a hard-copy device or on a diskette file. Only one device
or file other than the console can be specified (active) at a given time.
The initial device is :CO:, output to the console. Other devices that can be specified
are a line printer (:LP:), high-speed paper tape punch (:HP:), and teletypewriter
printer (:TO:).

5-8

ICE-85B

Command Language

Instead of a hard-copy device, a diskette file can be specified. If the output is to a
diskette file, the file is opened when the LIST command is invoked, and output is
stored from the beginning of the file, writing over any existing data. Specifying a
new file or device in a later LIST command closes any existing open file and avoids
over-writing any more data.
When LIST is in effect (with a device or file other than :CO:), all output from
ICE-85, including system prompts, commands, and error messages, is sent both to
the named device or file and to the console display. To restore output to the console
only (no other device), use the command LIST :CO:.
pne additional command, the EXECUTE command, uses ISIS-II pathnames in its
syntax. This command is discussed under the External Call Commands, page 5-101.

ICE™-85 Command
:drive:ICE85
Example:
:F1 :ICE85

:drive:

The number of the diskette drive containing the ICE-85 software
diskette. The number is preceded by the letter F, and enclosed in colons.

ICE85

The name of the ICE-85 program file under ISIS-II. The filename
follows the second colon without any intervening spaces.

EXIT Command
EXIT

Example:
EXIT

EXIT

A command keyword that returns control from ICE-85 to ISIS-II.

5-9

Command Language

ICE-8SB

LOAD Command
LOAD: drive: filename

{NOCODE
}
NOSYMBOL
NOLINE

Examples:
LOAD :FO:TEST.VR1
LOAD :F1:MYPROG NOLINE
LOAD :F2:COUNT.ONE NOCODE NOLINE
LOAD :F3:NEWCOD NOSYMBOL

5-10

LOAD

A command keyword that loads the software on the given file and
drive into the combination of prototype and Intellec memory
specified by a previous MAP command.

: drive:

The diskette drive (:FO:, :FI:, :F2:, or :F3:) that contains the target
file. If no drive is given, :FO: (drive 0) is the default.

filename

The name of the desired program as compiled or assembled, linked,
and located. The filename follows the second colon with no intervening spaces.

NOCODE

A modifier specifying that program code is not to be loaded.

NOSYMBOL

A modifier specifying that the program symbol table is not to be
loaded.

NOLINE

A modifier specifying that the program line number table (for
PL/M-80 programs) is not to be loaded.

ICE-85B

Command Language

SAVE Command
SAVE: drive: filename

{NOCODE I partitiOn}
NOSYMBOL
NOLINE

Examples:
SAVE
SAVE
SAVE
SAVE

:F1 :TEST
:FO:MYPROG 0800 TO OFFF NOLINE
:F2:COUNT.TWO NOLINE NOSYMBOL
:F3:NEWSYM NOCODE NOLINE

SAVE

The command keyword that directs ICE-85 to write the designated
software elements to the indicated file and drive.

: drive:

The diskette drive (:FO:, :FI:, :F2:, :F3:) holding the diskette that is
to contain the saved software. If no explicit drive number is given,
drive 0 is the default.

filename

The name of the file that is to receive the saved information. The
name of the file, including the extension if present, must follow the
rules for naming files under ISIS-II. The filename immediately
follows the second colon. If the filename does not exist on the
designated diskette, ISIS-II creates the file and opens it for write.

NOCODE

A modifier specifying that program code is not to be saved.

partition

A construct specifying a range of one or more contiguous locations
in memory; the contents of the specified locations are saved, but
code in other locations is not copied. Refer to the discussion under
the Memory Contents Commands (page 5-39) for the forms used to
specify memory partitions.

NOSYMBOL

A modifier specifying that the symbol table is not to be saved to
diskette.

NOLINE

A modifier specifying that the line number table (for PL/M-80
programs) is not to be saved.

LIST Command
(a)

LIST :device:

(b)

LIST :drive:filename

Examples:
LIST :LP:
LIST :CO:
LIST :F1 :ICEFIL

LIST

The command keyword directing all ICE-85 output to be sent to the
specified device or file, and to the console.

: device:

An ISIS-II device code, indicating a hard-copy output device to
receive the output.

: drive:

The diskette drive holding the diskette on which output is to be
written. If no explicit drive is given, drive 0 is assumed.

filename

The name of the file on the target diskette. The filename
immediately follows the second colon, without intervening spaces.

5-11

Command Language

ICE-8SB

Number Bases and Radix Commands
ICE-85 commands and displays involve several different number bases (radixes).
This section describes the various radixes used by ICE-85, and the commands used
to control some of them. Most radixes are set by ICE-85 and cannot be changed, but
others are under your control.
This section gives details on the following commands.
Command

Purpose

SUFFIX

Set or display console input radix.

BASE
EVALUATE

Set or display console output radix.
Display numeric constant or expression in all five possible
output radixes.

Discussion
The commands given in detail in this section refer to the radixes used for console input and console output. In addition to these two main contexts, this section reviews
the radixes used for the display of trace data and for the display of breakpoint and
qualifier register settings.

Console Input Radixes; SUFFIX Command
Any number entered from the console can include an explicit input radix. An explicit input radix consists of one of the following alphabet characters appended
directly to the number as entered.

Explicit
Radix
Y
Q
T
H
K

Example

Radix Specified

100lY
IIQ
9T
9H
2K

Binary (base 2)
Octal (base 8)
Decimal (base 10)
Hexadecimal (base 16)
Multiple of 1024

The implicit input radix is the base used by ICE-85 to interpret numbers entered
from the console without an explicit radix. The initial implicit radix for most
numbers is hexadecimal (H).
To display the current implicit input radix, enter the command token SUFFIX
followed by a carriage return. The implicit input radix can be Y, Q, T, or H, as
defined earlier.
You can change the implicit input radix by entering a command with the form SUFFIX = X, where X is any of the characters Y, Q, T, or H. This SUFFIX command
can be used where several numbers are to be entered in the same radix.
Note that K (multiple of 1024) cannot be specified as an implicit input radix.
Numbers with explicit radix K are used mainly to refer to blocks of memory addresses for mapping; see the MAP commands for examples.

5-12

ICE-85B

Command Language

For some kinds of entries from the console, the implicit input radix is always
decimal (T). Entries with implicit decimal radix are:
•

Numbers entered after MOVE, PRINT, and COUNT keywords.

•

Channel numbers.

• Program statement numbers.
An explicit radix always takes precedence over the implicit radix. If the digits in the
number entered cannot be interpreted in either the explicit or the implicit radix, an
error message is displayed.

Console Output Radixes; BASE Command
Numeric information such as addresses, memory and register contents, and data, is
displayed in the current console output radix. The console output radix can be one
of the following.
Output Radix Specified
Radix
Y

Q
T
H

ASCII

Binary
Octal
Decimal
Hexadecimal
ASCII character for each byte

The initial output radix is hexadecimal (H).
To display the current console output radix, enter the command token BASE
followed by carriage return. The display consists of a single character, Y, Q, T, H,
or A (for ASCII).
You can change the console output radix by entering a command with the form
BASE = X, where X is one of the single characters Y, Q, T, or H, or the token
ASCII. Once the radix is set with a BASE command, it stays in effect until another
BASE command is entered.

The EVALUATE Command
The EVALUATE command handles the arithmetic computation involved in
translating from one radix to another. This command has the form EVALUATE X,
where X is any numeric constant or numeric expression. Upon receiving this command, ICE-85 evaluates any expression to a single number, and displays the result in
the four bases Y, Q, T, and H, and the corresponding ASCII characters, all on one
line. For ASCII, the characters are enclosed in single quotes ('); printing characters
are displayed (ASCII codes 20H through 7EH after bit 7 is masked off), while nonprinting characters are suppressed.
Here are three examples of the use of the EVALUATE command, with the display
produced by each one.
Example 1:
EVALUATE 123T

Display:
1111011Y

1730.

123T

7BH

'['

5-13

ICE-85B

Command Language

Example 2:
EVALUATE 4142H

Display:
1000001 01 00001 OY

405020

16706T

4142H

'AB'

Example 3:
EVALUATE FFH

+ 256T

Display:
111111111Y

7770

511T

1FFH

Note that the addition was performed first, then the result was displayed in the four
bases. The result contained only non-printing ASCII characters, displayed as empty
quotes.

Radixes Used in Trace Displays
Entries in the trace buffer are displayed in groups. Some groups are system-defined;
the radixes used for displaying these groups are also set by the system. If you define
any additional groups, they are also displayed as part of trace data, and you can
specify the group-radix to be used for each such group. Refer to the Group Commands for more detail on system groups and user-defined groups.
System groups are displayed with the following radixes.
System Group

Trace Display Radix

ADDR, ADDRL, H (Hexadecimal)
ADDRH,DATA
STS

One-letter mnemonic (H=HALT, W=WRITTEN,
R=READ, E=EXECUTED, O=OUTPUT, I=INPUT)

DMUX,SD,
RW,MTH

Y (Binary)

The group-radix to be used for displaying a user-defined group in trace data is
specified by the IN-clause that is part of the DEFINE GROUP command. Groupradixes can be one of the following.
Y
Q
T
H

Binary
Octal
Decimal
Hexadecimal

The default when no IN-clause is used is H (hexadecimal).

Radixes Used for Displaying Breakpoint and Qualifier Settings
When you enter a token representing one of the ICE-85 breakpoint or qualifier
registers, the setting of that register is displayed. The display includes any system
group or user-defined group having one or more care bits set; the setting of each
group is displayed as a binary masked or numeric constant. Refer to the Emulation
Commands, and to the Trace Commands for more details on breakpoint and
qualifier registers:

5-14

ICE-85B

Command Language

Set or Display Console Input Radix Commands
SUFFIX

Iy/o/T/HI

SUFFIX

Examples:
SUFFIX
SUFFIX

SUFFIX

Y

A command keyword referring to the implicit console input radix.
The token SUFFIX alone displays the current setting (Y, Q, T, or
H).

The assignment operator, indicating that the new setting is to
follow.
Binary radix.

Y

Octal radix.
Decimal radix.
Hexadecimal radix.

Q
T
H

Set or Display Console Output Radix Commands
BASE
BASE

IY / 0 / T / H / ASCII I

Examples:

BASE
BASE
BASE

o
A command keyword referring to the system console output radix.
The token BASE alone displays the current setting (Y, Q, T, H, or
A).

The assignment operator, indicating that the new setting is to
follow.
Y

Binary radix.

Q

Octal radix.

T

Decimal radix.

H

Hexadecimal radix.

ASCII

Each byte represented by its corresponding ASCII character,
without separators.

5-15

Command Language

ICE-85B

EVALUATE Command
EVALUATE numeric

Examples:
EVALUATE 123T
EVALUATE 4142H
EVALUATE FFH

EV ALUA TE

numeric

+ 256T

A command keyword that directs ICE-85 to evaluate the expression
and display the result in all four number bases and ASCII.
A numeric expression or numeric constant .

Memory and I/O Port Mapping Commands
The commands in this section control the ICE-85 memory and 110 port maps.
ICE-85 uses these maps to determine what memory and 110 are installed on the prototype system, and what memory and 110 resources are being "borrowed" from the
Intellec system for testing purposes.
This section gives details on the following commands.
Command

Purpose

Map Mode

Identify Intellec memory to be borrowed as SHARED or
UNSHARED.

MAP Memory

ASSign up to 32 blocks of 2K locations per block segment to
USER, INTELLEC, or GUARDED status.

MAP 10 Ports

Assign up to 32 segments of eight 1/0 ports per segment to
USER, INTELLEC, or GUARDED status.

Display MAP Status

Display status of one or more memory blocks, or of one or
more port segments, and display the current map mode for
Intellec memory.

RESET MAP

Restore Intellec map mode to SHARED, and the status of all
memory blocks and port segments to GUARDED.

Discussion
Synchronization With User Ready
The ICE-85 emulator monitors user ready while emulating and will abort emulation
and respond with an error message if the user ready is absent for more than one
second. For this reason, the ICE-85 hardware is default jumpered to insert a ready
from the user system for any memory or 110 segments mapped to the Intellec
Microcomputer Development System. However, synchronization of Intellecborrowed resources to emulation with user ready can be accomplished easily by
changing the RDYSYNC Jumper located in the chip controller assembly (see Appendix D). Please note that if your system is capable of keeping the 8085 not ready for
more than one second, the DISABLE TIMEOUT command will disable the error
checking for user ready and allow emulation to continue.

Mapping Memory
ICE-85 can access program code loaded into user prototype memory, Intellec RAM
memory, or a combination of the two. A maximum of 64K addresses are accessible
with the addressing scheme used by the 8085 processor. If a combination is used, the
address spaces assigned in each memory do not overlap; a given address must be
assigned to either the prototype or to the Intellec system.

5-16

ICE-85B

Command Language

Intellec memory comes in two configurations. The SHARED memory space is standard. An optional UNSHARED memory space can be installed. Either configuration can include a maximum of 64K addresses. ICE-85 can access either the
SHARED or the UNSHARED Intellec RAM, but not a combination of the two.

-

MONIT R 2K
ICE-85 VARIABLES
'UsiRPROGRAM -

- E!l'1!&'1L -

FFFFH,F800H

--

XXXXH
UPPER

I

THIS AMOUNT
VARIES.

AVAILABLE FOR
USER PROGRAM
CODE

MAXIMUM
OF
64K

LOWER,L IMIT7000H
6FFFH

ICE·85 SOFTWARE
16K

3000H
2FFFH
ISIS SOFTARE 12K

.l!OOm:I...

Figure 5-1. Intellec Shared Memory Locations with 64K of RAM

463-17

Intellec SHARED memory always contains the following system software and
dedicated locations. Refer to Figure 5-1 for a diagram of Intellec SHARED
memory.
The Intellec Monitor occupies locations F800H through
FFFFH in SHARED memory regardless of memory size as
installed. All references to addresses in this range are sent to the
Monitor 'shadow' PROM, and thus are available to the memory
map as a read-only function.
ISIS-II
ISIS-II software occupies the lowest 12K in Intellec SHARED
Software (I2K) memory (addresses OOOOH through 2FFFH).
ICE-85
The ICE-85 program occupies the 16K locations immediately
Software (16K) above the ISIS-II software (addresses 3000H through 6FFFH).
ICE-85
The workspace for ICE-85 variables and the symbol and
Workspace
statement number tables occupy an area of SHARED memory
and Symbol
whose highest address is the highest permissible address in
Tables
installed memory that is below F800 (Monitor). In a 64K system,
(Amount varies) the workspace and symbol tables occupy the contiguous memory
addresses just below the Monitor. In systems with less than 64K,
these items take up the highest locations in installed memory. The
amount of memory taken up by the workspace and tables varies.
The ICE-85 command UPPER displays the highest available
address below the workspaceltable area.
Intellec
Monitor
(2K)

The range of addresses from 7000H through the value of UPPER is available for
user program code.

5-17

ICE-85B

Command Language

UPPER, LIMIT, and LOWER
To assist in mapping to Intellec shared memory, ICE-S5 includes three keywords
(UPPER, LOWER, LIMIT) that refer to significant locations in the shared memory
space. They are summarized in Table 5-2.
Table 5-2. ICETM-85 Memory Control Keywords
Keyword

How Set or Changed

Location Referenced

UPPER

Highest address available for
user program.

Set and changed
Read-only to user.

by

ICE;

LOWER

Lowest block name higher than
highest location occupied by ICE
software. (I.e .. lowest block free
for mapping.)

Set by ICE and held constant for
any software combination; Readonly to user.

LIMIT

Lowest address available to ICE
for expanding workspace. An
error occurs if LIMIT is greater
than UPPER.

Set by ICE initially equal to
LOWER; can be reset by the user
to protect user space.

ICE issues a warning under the following conditions:
1.

A MAP command refers to an address higher than UPPER (for example,
"MAP FSOOH = INTELLEC FSOOH"); you are mapping into current ICE
workspace or over Monitor.

2.

A MAP command refers to an address lower than LOWER (for example,
"MAP 0 = INT 0"); you are mapping over ICE or over ISIS.

3.

A MAP command refers to an address lower than UPPER and higher than
LIMIT (for example, "MAP 3000H = INT EOOOH"); you are mapping into the
area to be used for expanding the ICE workspace.

Initially, any MAP memory command receives a warning. The MAP command is
executed in any event. Note that you should not write to any location higher than
UPPER or lower than LOWER; results are undefined. Mapping these areas gives
you read-only access to ISIS or Monitor routines. You can also reset LIMIT to avoid
the warning message and protect your user code from being overwritten by the
expanding ICE workspace.
The ICE workspace contains symbol and statement number tables and space for
processing ICE commands .. It grows dynamically to accommodate larger symbol
tables and command structures. As workspace grows, ICE resets UPPER to lower
and lower addresses. UPPER always reflects the largest space required for command processing during each test session; it does not "shrink" dynamically to
accommodate smaller commands. UPPER is reset to higher locations when you
remove any symbols, modules, or lines from the tables.
ICE workspace can expand until UPPER equals LIMIT. Whenever an expansion of
workspace results in UPPER less than LIMIT, an error occurs, the command is not
executed, and control returns to the ICE command level.
If LIMIT remains equal to LOWER, as at initialization, the workspace can expand
into the area mapped for user code without producing any error or warning
message. This expansion may result in user code being overwritten.
You can set LIMIT so as to prevent the workspace from overwriting any user code.
If LIMIT is reset before the user area is mapped, the warning message does not
appear since this area is no longer part of the system area.

5-18

ICE-85B

Command Language

Intellec UNSHARED memory (see Figure 5-2) consists of up to 64K of RAM,
installed in the Intellec chassis (or in an extender chassis) in addition to the
UNSHARED memory boards. When UNSHARED memory is to be used, all the
RAM boards in both SHARED and UNSHARED memories must be 32K or 64K in
capacity. Intellec UNSHARED memory is restricted only by the Monitor locations
(F800H through FFFFH; see Figure 5-1).
The ICE-85 memory map tells the system where to find the physical location corresponding to an address reference in the program code or in commands. ICE-85
treats most address references as logical addresses. The map translates any logical
address into its corresponding physical address, given that the addresses (logical and
physical) have been set in correspondence with a previous MAP command. Figure
5-3 diagrams the memory map operation. Some commands or command keywords
use physical addresses directly; such addresses always are referred to Intellec
SHARED memory.
.

-" "'--~r~'---

FFFH _ - - - - - - - - ,
INTELLEC MONITOR

AVAILABLE FOR
USER PROGRAM
CODE

MAXIMUM
OF
64K

OOOOH _ _ _ _....._ _ _...

Figure 5-2. Intellec® UNSHARED Memory

463-18

PROTOTYPE
MEMORY
(USER)

LOGICAL
ADDRESS
(NUMBER)

MEMORY
MAP

PHYSICAL
ADDRESS

INTELLEC
UNSHARED MEMORY

INTELLEC SHARED
PHYSICAL
MEMORY
ADDRESS--....
(NUMBER)

Figure 5-3. Memory Map Diagram

463-19

5-19

ICE-85B

Command Language

The address references shown in the diagram are simple numeric references. Symbolic references and numeric expressions used as addresses are resolved into numeric
references by ICE-85 before the map is consulted.
The MAP Mode command tells ICE-85 to use either SHARED or UNSHARED Intellec memory for any addresses mapped to the Intellec system. The command has
the form MAP = X, where X is one of the two tokens SHARED or UNSHARED.
The initial mode is SHARED.
The MAP Memory command assigns blocks of logical addresses to blocks of
physical locations either in the prototype or in the Intellec system. Each memory
block (logical and physical) contains 2K (2048 decimal) contiguous locations. Refer
to Table 5-3. A 64K system represents 32 blocks that can be mapped. You can map
only in terms of entire blocks; partial blocks cannot be mapped. Of course, an
ICE-85 command or program statement can reference a single address, or a range of
addresses that does not correspond to block boundaries, once the block or blocks
containing the referenced address has been mapped.
All memory blocks in the prototype and Intellec memories are initially GUARDED
(logically nonexistent). Any attempt to access a guarded location produces an error
message at the console. Guarded locations are write-protected in Interrogate mode;
if you refer to such a location in a command entered from the console, no access occurs. During emulation, however, an attempted write to a guarded location will succeed before the error message is displayed. You can use the MAP Memory Command to reset any block to GUARDED.

Table 5-3. Memory Blocks for Mapping
Block No.

0
1
2
3
4
5
6

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

5-20

Lowest Address
(block-name)
K
Hex
OK
2K
4K
6K
8K
10K
12K
14K
16K
18K
20K
22K
24K
26K
28K
30K
32K
34K
36K
38K
40K
42K
44K
46K
48K
SOK
52K
54K
56K
SBK
60K
62K

OH
0800H
1000H
1800H
2000H
2800H
3000H
3800H
4000H
4800H
5000H
5800H
6000H
6800H
7000H
7BOOH
BOOOH
B800H
9000H
9800H
AOOOH
A800H
BOOOH
B800H
OOOOH
G800H
DOOOH
D800H
EOOOH
EBOOH
FOOOH
FBOOH

High Address
Hex

7FFH
OFFFH
17FFH
1FFFH
27FFH
2FFFH
37FFH
3FFFH
47FFH
4FFFH
57FFH
5FFFH
67FFH
6FFFH
77FFH
7FFFH
87FFH
8FFFH
97FFH
9FFFH
A7FFH
AFFFH
B7FFH
BFFFH
G7FFH
GFFFH
D7FFH
DFFFH
E7FFH
EFFFH
F7FFH
FFFFH

Decimal Range

o2048
4096
6144
8192
10240
122B8
14336
16384
18432
20480
22528
24576
26624
2B672
30720
32768
34816
36864
38912
40960
43008
45056
47104
49152
51200
53248
55296
57344
59392
61440
63488

-

2047
4095
6143
8191
10239
122B7
14335
16383
1B431
20479
22527
24575
26623
28671
30719
32767
34815
36863
38911
40959
43007
45055
47103
49151
51199
53247
55295
57343
59391
61439
634B7
65535

Command Language

ICE-85B

The details on using the MAP Memory command fall into three areas:
1.

The ways to refer to blocks (block-name), and the number of contiguous blocks
to be mapped in a single MAP command.

2.

The use of displacement with Intellec SHARED memory.

3.

The NOVERIFY option for mapping to USER or INTELLEC.

One or more contiguous blocks can be mapped to the same memory state (GUARDED, USER, or INTELLEC) in a single MAP command. To map a single block, use
a command with the form MAP block-name = X, where X is one of the tokens
GUARDED, USER or INTELLEC. (For now, we shall omit the required displacement for Intellec SHARED memory, and the NOVERIFY option.)

The block-name is the lowest-numbered address in the desired block. Since each
block contains 2048 (decimal) addresses, all block-names are numbers that are
multiples of 2048 decimal. In hexadecimal radix, block-names are multiples of
0800H, starting with OOOOH. However, the simplest way to refer to a block is to use
the explicit input radix K (multiple of 1024); any block-name is a number with the
form (n times 2K), or 2nK, where n is the block number given in Table 5-3
(0~n~31).

To map more than one contiguous block in one command, use a form of block- partitian instead of a single block-name. The forms of block-partition are as follows.

block-name TO block-name- 1
block-name TO high-address
block-name LENGTH number-ai-addresses
The first two forms use the keyword TO. The block-name to the left of the keyword
TO represents the low address of the low block in the partition; the block-name is
specified as discussed above. The entry to the right of the keyword TO represents the
highest address in the high block in the partition. You can either look up the highaddress in the high block by referring to Table 5-3, or you can use an expression with
the form (block-name - I) and let ICE-85 calculate the high address. All the blocks
included in the range of addresses given by this form are mapped to the designated
memory state. For example, to map the lowest four blocks to USER (prototype)
memory, either of the following two commands can be used.
MAP OOOOH TO 2000 - 1 = USER
MAP OK TO 1 FFFH = USER

The third form of block-partition uses the keyword LENGTH. With this form, you
supply the low address in the range (the block-name of the lowest block, as before),
and (following LENGTH) the number of addresses in the range. The number of ad"
dresses includes the starting address, so that no additional calculation is required.
Morever, since each block contains exactly 2K addresses, the number given for
number-ai-addresses is a multiple of 2K, and is identical in form to block-name.
Thus, to map the first four blocks to USER, you can use the following command.
MAPOKLENGTH8K=USER

A.ny block is valid for mapping, including those dedicated to Monitor, ISIS.II, and
ICE-35. If you map into ISIS-II or ICE-85, a warning message is displayed, but the
map operation is carried out. You should not map into these areas unless your program uses some specific Monitor or ISIS-II routines.
If the range of addresses given in a block-partition contains more than 64K locations, or if the express or implied high address is higher than 64K, an error is
displayed, and the MAP command is not executed.

5-21

ICE-85B

Command Language

When a block or range of blocks is mapped as GUARDED, the block or blocks
become unavailable to ICE-85.
When the block or blocks are mapped to USER, the physical addresses in the prototype memory are the same as the logical addresses in the program or command.
For example, if block OK (locations OOOOH to 07FFH) are mapped to USER, any
reference to logical address OIOOH is directed to physical location OIOOH in the prototype memory.
When the blocks are mapped to INTELLEC, the prevailing map mode determines
whether SHARED or UNSHARED memory is to be used. With UNSHARED
memory, physical addresses are the same as logical addresses. With SHARED
memory, physical addresses are generally not the same as the logical addresses. The
default is SHARED.
In SHARED Intellec memory, the lowest available address for user program code is
7000H; this is block 28K. Typically, user program code is located in low areas of
memory. Thus, for Intellec SHARED memory, logical addresses are less than
physical addresses; the difference is called the 'displacement.'
When you are mapping into INTELLEC, you must specify the starting address in
Intellec memory that is to correspond to the lowest logical address in the block- partition you wish to map. Subsequent logical address blocks are mapped to contiguous physical blocks higher in Intellec memory; you do not need to specify
anything but the size of the partition of logical blocks.
For UNSHARED Intellec memory, the starting address (block-name) of the logical
blocks can be the same as the physical address in Intellec memory. For example, to
map the lowest block to Intellec UNSHARED memory, the following two commands are valid when entered in the order shown.
MAP = UNSHARED
MAP OK

= INTELLEC OK

For SHARED Intellec memory, physical blocks start with block 28K, as mentioned
earlier. Thus, to map the lowest logical block (OK) into the lowest available physical
block in Intellec SHARED memory, Use one of the following commands.
MAP OK = INTELLEC 28K
MAP OOOOH

= INTELLEC 7000H

When memory is mapped to USER or to INTELLEC, you may use the NOVERIFY
option. NOVERIFY suppresses write verification that normally is performed each
time the contents of a memory location are changed with an ICE-85 console command.
To display the current map mode, and the state (GUARDED, USER, or INTELLEC) of all 32 blocks, enter the command token MAP followed by a carriage
return. To display the status of a range of blocks, enter the token MAP followed by
the desired partition.
The RESET MAP command restores the map mode to SHARED, and the status of
all 32 memory blocks to GUARDED.
Figures 5-4, 5-5, and 5-6 illustrate three cases using the MAP command.

5-22

ICE-8SB

Command Language

FFFFH
F800H
F7FFH

INTELLEC SHARED MEMORY

INTELLEC UNSHARED MEMORY

USER MEMORY

MONITOR2K
_

~E~ARIAB~

__

USER PROGRAM SYMBOL TABLES

------(G

(BLANK)
LOWER,

LIMIVtn~
ICE-85 SOFTWARE
16K
1BOOH

t------'---------i

4K
ISIS-II SOFTWARE
12K

2K

OH

K~MULTIPLE

ALL PROGRAM CODE
MAPPED TO USER
MEMORY: NO DISPLACEMENT
IS ALLOWED

OF 1024_

Figure 5-4. Mapping Into User Memory

FFFFH
F800H
F7FFH

USER MEMORY

INTELLEC SHARED MEMORY

463-20

INTELLEC UN SHARED MEMORY

MONITOR2K
ICE-85 VARIABLES

1-------

USER PROGRAM SYMBOL TABLES

1------44K

MAP 26K-INT 44K

MAP MEM 24K-INT 36K
LOWER,
LIMIT 7000H
~
ICE-85 SOFTWARE
16K

-

1------1------1-------

--

r-

3000H
MAP MEM

10K~USER

10K

BK~USER

8K

:---+-

MAP MEM

'-+-

MEM BK-BK USER

ISIS-II SOFTWARE
12K
OH
MEMORY MAP
~
K~MULTIPLE

OF 1024_

MEM 10K-10K USER
MEM24K 36K INT
MEM 26K 44K INT

Figure 5-5. Mapping Into User and Shared Intellec Memory

463-21

5-23

ICE-8SB

Command Language

INTELLEC SHARED MEMORY

~~6tHH

..................~M~O~NI~TO~R~2~K-.....-

F7FFH

~ ~ !£§.:85 VARIABL§.L ~

UPPER

USER PROGRAM SYMBOL TABLES
~ ~ ~ ~ ~ ~

USER MEMORY

INTELLEC UNSHAREb MEMORY

t

t

GuARDED

~

I

(GUARDEDI

MAP 26K LEN 4K
MAP MEM 24K

r--""""

-------- - - -~

28K
26K
24K

LOWER,

LlMIT6W~~ t-----~~--_f

-~

----

---

~---

INT 44K

INT 24K

46K
44K

t

-

•

MAP MEM 24K ··INT 24K

24K

1

(GUARDED)

10K
8K

~

(GUARDED)

ICE·85 SOFTWARE
16K

1515·11 SOFTWARE
12K

~

MAP 8K LEN 4K ." USER

t
+

1

(GUARDEDI

OH

MEMORY MAP

K MULTiPLE
OF 1024.

MEM 8K

~

8K USER

MEM 10K

~

10K USER

MEM 28K

~

46K INT

MEM 26K ~ 44K INT
MEM 24K

~

24K INT

PROGRAM CODE MAPPEO TO
USER MEMORY,
NO DISPLACEMENT
ALLOWED. PROGRAM CODE
~APPED TO INTELLEC
lJNSHARED MEMORY,
DISPLACEMENT ALLOWED.

Figure 5"6, Mapping Into User and Unshared Intellec Memory
Case I: Mapping into User Memory Only (Figure 5-4).
Commands:
MAP 2K TO 1800 -1 = USER NOVERIFY
MAP 24K = USER

User prograrn (logical) address blocks 2K, 4K, and 24K are mapped into USER
(prototype) memory, Blocks 2K and 4K have read-after-write verification
suppressed.
Case II: Mapping into User and Shared Intellec Memory (Figure 5-5).
Commands:
UPP
F600H
LOW
7000H
LIM
7000H
LIM

= F600H

MAP =SHARED
MAP 8K TO 3000H -1 = USER NOVERIFY
MAP 24K == INTELLEC 36K NOVERIFY
MAP 26K

= INTELLEC 44K

Logical blocks 8K and 10K are rnapped to prOtotype memory with verification suppressed. Logical block 24K is rnapped to Intellec shared memory, at physical block
36K, verification suppressed. Logical block 26K is mapped to Intellec shared
memory at logical block 44K. LIMIT changed to protect the user code.

5-24

463-22

Command Language

ICE-85B

Case III: Mapping into User and Intellec Unshared Memory (Figure 5-6).
Commands:
MAP = UNSHARED
MAP 8K LENGTH 4K = USER
MAP 24K

= INTELLEC 24K

MAP 26K LENGTH 4K = INTELLEC 44K

Logical blocks 8K and 10K are mapped to user memory; no displacement is allowed.
Logical block 24K is mapped to physical block 24K in Intellec unshared memory.
Logical blocks 26K and 28K are mapped to Intellec unshared memory, at physical
blocks 44K and 46K respectively. With Intellec un shared memory, displacement is
optional.
In summary, the ICE-85 map is used to decode logical addresses into physical
address. Logical addresses correspond to the program and data locations in your
program as LOCATED; physical addresses correspond to the address space as seen
internally by ICE-85
How does lCE-85 decide
physical address? ICE-85
address reference. Some
"parameters", while other

if an address reference in a command is a logical or
decides on the basis of the keyword that precedes the
keywords take logical addresses as "arguments" or
keywords require (assume) physical addresses.

For reference, here are the ICE-85 command keywords that use address references.
They are classified according to the type of address used.
The tokens BYTE, WORD, CALL, FROM, TO, and LOCATION use logical
addresses. The address reference that follows anyone of these tokens is translated
through the memory map into its corresponding physical address in user or Intellec
memory. For example, suppose you map location 2000H from your program code
to address 7000H in Intellec SHARED memory. To refer to the content of this
address, you use the expression BYTE 2000H.
The tokens IBYTE, IWORD, and ICALL use physical addresses in Intellec
SHARED memory. The map is not used to translate the address, and the physical
location is always Intellec SHARED memory, even when the current MAP mode for
memory mapping is UNSHARED. For example, to refer to the content of address
7000H in Intellec SHARED memory, use the expression IBYTE 7000H.

Mapping Input/Output Ports
ICE-85 can access input/ output ports in the prototype system, in the Intellec system,
or in a combination of the two. A maximum of 256 decimal ports can be accessed.
The map command for 110 ports has the form:
MAP 10 segment-partition'" X

where X is one of the tokens GUARDED, USER, or INTELLEC.
Input/output ports are mapped in segments of eight ports each. Table 5-4 gives
details on the segments of ports for mapping.
The segment-name is the number of the lowest port in the desired port segment.
Segment names are multiples of 8H or 8T. To map a single port segment, the MAP
10 command has the simpler form:
MAP 10 segment-name = X

5-25

Command Language

ICE-85B

The forms of segment-partition (range of port segments) resemble those given
above for block-partition. The three forms are as follows.
segment-name

TO segment-name -1

segment-name

TO high-port

segment-name

LENGTH number-of-ports

Table 5-4. Input-Output Port Segments for Mapping

SegmentNumber

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Hex Range
(segment-name)
Low
High

Decimal-Range
(segment-name)
Low
High

OH
8H
10H
18H
20H
28H
30H
38H
40H
48H
50H
58H
60H
68H
70H
78H
80H
88H
90H
98H
AOH
A8H
BOH
B8H
COH
C8H
DOH
D8H
EOH
E8H
FOH
F8H

OT
8T
16T
24T
32T
40T
48T
56T
64T
72T
80T
88T
96T
104T
112T
120T
128T
136T
144T
152T
160T
168T
176T
184T
192T
200T
208T
216T
224T
232T
240T
248T

7H
FH
17H
1FH
27H
2FH
37H
3FH
47H
4FH
57H
5FH
67H
7FH
77H
7FH
87H
8FH
97H
9FH
A7H
AFH
B7H
BFH
C7H
CFH
D7H
DFH
E7H
EFH
F7H
FFH

7T
15T
23T
31T
39T
47T
55T
63T
71T
79T
87T
95T
103T
111T
119T
127T
135T
143T
151T
159T
167T
175T
183T
191T
199T
207T
215T
223T
231T
239T
247T
255T

The first two forms use the keyword TO. The segment-name to the left of the
keyword TO represents the low port number in the low segment in the partition; as
discussed above, the segment name is a number with the form (n times 8H), where n
is the segment number from Table 5-4. The entry to the right of the keyword TO
represents the highest port number in the highest segment in the partition. You can
either look up the high-port in the high segment by referring to Table 5-4, or you
can use an expression with the form (segment-name - 1), and let ICE-85 calculate the
high port number. For example, to map the lowest 4 port segments (32 ports total) to
the user system, either of the two following commands may be used.
MAP 10 OH TO 20H -1 = USER
MAP 10 OH TO 1FH = USER

The third form of segment-partition uses the keyword LENGTH. With this form,
you specify the low port in the range (the segment-name of the lowest segment, as
before), and (following the keyword LENGTH) the number of ports in the range.
The number of ports includes the starting port-number, so that no additional
calculation is required. Morever, since each segment contains 8 (H or T) ports, the

5-26

Command Language

ICE-85B

number given for number-oF-ports is always a multiple of 8, and is thus identical in
form to segment-name. For example, to map the lowest four port segments to
USER, you can use the following command.
MAP 10 OH LENGTH 32T = USER

Displacement is not allowed with lIO port segments; the logical port number always
equals the physical port number, both in USER and INTELLEC systems. The
NOVERIFY option is invalid with lIO ports, since data written to lIO ports is never
verified.
Figure 5-7 diagrams an example of mapping lIO port segments to a combination of
USER and INTELLEC. The commands that produce this result might be:
MAP 10 18H LENGTH 16T = USER

= USER
MAP 10 60H = INTELLEC
MAP 10 40H

To display the current status (GUARDED, USER, or INTELLEC) of all 32 lIO
port segments, enter the tokens MAP 10, followed by carriage return. To display
the status of a partition of port segments, use MAP 10 segment-partition.
The RESET MAP command restores all 32 lIO port segments to their initial
GUARDED status.

USER 10

INTELLEC 10

60H

~ t--'-"":":~=;';---'~':"--f
~ t--':"--'--T"---'''';';:;';':''--f

Figure 5-7. 10 Port Segments Mapped to User and Intellec

463-23

5-27

ICE-8SB

Command Language

MAP Mode Command
MAP

rMEMORY] =

I

SHARED

I

UNSHARED

Examples:
MAP MEMORY'" SHARED
MAP = UNSHARED

MAP

A command keyword referring to some operation on the ICE-85
map that relates each address in the user program absolute code to
a location either in User memory or in lntellec memory.

MEMORY

A function keyword referring to the memory blocks used for
program code. It may be omitted from this command.

=

The assignment operator.
Refers to shared lntellec memory space. This memory space always
contains the system software (Monitor, ISIS-II, and lCE-85), an
ICE-85 system workspace, and the user symbol tables, in addition
to any code. mapped into it. SHARED is the initial mode

SHARED

UNSHARED

5-28

A function keyword referring to unshared memory space in the
Intellec system. This space requires an additional memory board or
boards. When present, it is available for user program code only.

ICE-85B

Command Language

MAP Memory Command
MAP

MEMORY

block-partition

= GUARDED
USER

lNOVERIFYj

INTELLEC block-name [NOVERIFYj
Examples:
MAP MEMORY OOOOH TO OFFFH = GUARDED
MAP MEMORY 6K = USER
MAP 2000H TO 2FFFH = INTELLEC 4K NOVERIFY
MAP MEMORY 5000 LENGTH 4K

= USER NOVERIFY

The command contains the following semantic elements.
MAP

A command keyword that relates each address in the user
program absolute code to a location either in user memory or in
lntellec memory, and each input/output port to the user system
or to the lntellec system.

MEMORY

A function keyword indicating that program code is to be
mapped. (MEMORY is the default).

block -partition

One or more contiguous blocks of memory addresses (2048
addesses per block).
The assignment operator.

GUARDED

The initial state of all memory blocks. Any reference to a
guarded address causes an error message. Guarded locations are
write-protected in interrogate mode, but not write-protected in
either real-time or single·step emulation.

USER

Refers to locations in user prototype memory. Synchronous with
.
User Ready.

INTELLEC

Refers to locations in lntellec memory (shared or unshared, as
specified in an earlier Map Mode command). (See note below.)

block-name

Gives the starting address in lntellec memory for the blocks of
contiguous memory identified in partition. The lowest block in
partition will be mapped to the block location given by blockname, and succeeding blocks are mapped to contiguous memory
blocks above the first block.

NOVERIFY

A function keyword that suppresses the normal read-after-write
verification of data loaded into memory locations in user or
lntellec memory.

NOTE
lntellec memory may not operate synchronously with User Ready depending upon the position of the RDYSYNC Jumper in the Chip Controller
Assembly. See Appendix D.

5-29

ICE-85B

Command Language

MAP I/O Ports Command
MAP 10 segment-partition =

I

GUARDED
USER
INTELLEC

I

Examples:
MAP 10 OOH TO 17H = INTELLEC
MAP 10 32T TO 63T = USER
MAP 10 BBH LENGTH 16T = GUARDED

MAP

A command keyword referring to the memory and I/O port
maps.

10

Command keyword designating the I/O port map.

segment-partition One or more contiguous segments of I/O ports. Each segment
contains eight ports.

5-30

GUARDED

The initial state of all I/O port segments. Any reference to a
guarded port causes an error message. Guarded ports are writeprotected in interrogate mode, but not write-protected in either
real-time or single-step emulation.

USER

Maps port segments in the partition to the user (prototype)
system. Synchronous with User Ready.

INTELLEC

Maps port segments in the partition to the Intellec system. May
not operate synchronously with User Ready depending upon the
position of the RDYSYNC Jumper in the Chip Controller
Assembly. See Appendix D.

Command Language

ICE-8SB

Display MAP Status Command
MAP

[MEMORY)

MAP

10

[ block-partition)

[segment-partition)

Examples:
MAP
MAP MEMORY 0000
MAP MEMORY 0000 TO 07FF
MAP MEMORY 0000 LENGTH 2K
MAPIO
MAP 108

The command contains the following semantic elements.
MAP

A command keyword calling for a display of the current setting
of the map for memory blocks or for input! output port
segments.

MEMORY

A function keyword calling for a display of the memory block in
the partition. MEMORY is the default.

10

A function keyword calling for a display of the I/O port
segments in the partition.

bloek-partition

One or more blocks of memory addresses.

segment-partition One or more segments of I/O ports.

RESET MAP Command
RESET MAP
Example:
RESET MAP

RESET

A command keyword that restores its object to its initial state, as
after an initial ICE-85 invocation.

MAP

As the object of RESET, the token MAP causes all 32 memory
blocks and all 32 I/O port segments to be reset to GUARDED, and
the mode for memory mapping to be reset to SHARED.

5-31

Command Language

ICE-85B

Hardware Register Commands
This section presents the keywords used in ICE-85 to refer to the following types of
hardware registers and signals.
•

8085 Processor Registers

•

ICE-85 Status Registers

•

ICE-85 External Signals

The following commands that refer to hardware registers are discussed in this section.

Command

Purpose

Display Processor
or Status Register

Display the current contents of any of the 8085 processor
registers or ICE-85 status registers.

Set 8085 Processor
Register

Set (change) the contents of any of the writeable 8085
processor registers.

RESET Hardware

Reset ICE-85 hardware to initial state; reset bit RST-7.510w.

ENABLE/DISABLE
TIMEOUT

Enable or disable error message on absence of 8085 READY
or ClK Signals.

Discussion
Tables 5-5 through 5-8 show the tokens to use to refer to any 8085 8-bit register,
16-bit register pair, I-bit status flag, or interrupt mask bit.
In the command syntaxes, the following meta-terms have been adopted to save
writing out the complete list of actual tokens.
Meta-term
processor-register

Class of tokens
Any of the 8085 registers, register pairs, status flags, or
interrupt bits.

register-name

Any 8085 8-bit register (Table 5-5).

pair-name
flag-name

Any 8085 16-bit register pair (Table 5··6).

i-bit-name

Any 8085 interrupt mask bit (Table 5-8).

Any 8085 I-bit status flag (Table 5-7).

To display the current contents of any of these registers or bits, enter the token for
the desired register followed by a carriage return. The current setting is displayed on
the next line, in the current output radix.

5-32

ICE-85B

Command Language

Table 5-5. 8085 8-Bit Registers
register-name

8085 Register and Interpretation

RA

Accumulator

RB

Register B

RC

RegisterC

RD

Register D

RE

Register E

RF

Status flag register

RH

Register H

RL

Register L

Table 5-6. 8085 Register Pairs
pair-name

8085 Register Pair and Interpretation

RBC

Register pair BC

RDE

Register pair DE

RHL

Register pair HL

SP

Stack pOinter

PC

Program counter

Table 5-7. 8085 I-Bit Status Flags
flag-name
CY

Status Flag

Carry bit (bit 0 of RF)

PY

Parity bit (bit 2 of RF)

ACY

Auxiliary carry bit (bit 4 of RF)

Z

Zero bit (bit 6 of RF)

SN

Sign bit (bit 7 of RF)
(Bit 3 is always set to one)

Table 5-8. 8085 Interrupt Mask Bits
i-blt-ntlme

Interpretation (Bit Number)

M5

RST-S.S mask (bit 0)

M6

RST-6.S mask (bit 1)

M7

RST-7.S mask (bit 2)

IE

Interrupt enable (bit 3)

17

Interrupt 7.S pending (read-only) (bit 6)

SID

Serial input data (read-only) (input bit 7)

SOD

Serial output data (write-only) (output bit 7)

5-33

. ICE-8SB

Command Language

The command REGISTER displays eleven different values on one line. The values
are identified with single letters; here is an example:
(Command:)
REGISTER

(Display:)
P=FFOFH S=FFFEH A=OOH F=OOH B=OOH C=OOH D=OOH E =OOH H=OOH L=OOH I=OOH

This display is interpreted as follows.
Identifier
p
S
A
F
B
C

o
E
H
L
I

Element displayed
PC (program counter)
SP (stack pointer)
RA
RF (status flags)

RB
RC
RD
RE
RH

RL
Interrupt mask (byte formed by bits SID, 17, (16), (15), IE, M7,
M6, and M5; M5 is bit 0 and SID is bit 7.15 and 16 are invalid
(always zero). The result is identical to that returned by the 8085
RIM instruction.)

To set (change) the content of one of the processor registers, use a command with
the form:
processor-register = X

where X is a numeric constant or numeric expression giving the desired new contents. Note that interrupt bits 17 and SID are read-only bits, and cannot be set from
the console; any attempt to set a read-only register produces an error message.
NOTE
After SOD is set from the console, the pin does not change until the next
emulation begins.
Each of the registers that can be changed with this command has a definite size (16,
8, or 1 bits). If the new contents represent fewer bits than the destination register,
the bits are right-justified in the register, and the remaining bits in the register are set
to zero; in other words, ICE-85 assumes that the quantity represents the lowestorder bits, and sets any unspecified high-order bits to zero.
If the new contents represent more bits than the register can hold, the least significant bits of the quantity are loaded into the register, and the rest of the bits in the
quantity are ignored.

Table 5-9 shows the ICE-85 status registers, and the tokens used to refer to them. To
display the current content of anyone of these registers, enter the token for that
register followed by carriage return. The content is displayed on the next line, in the
current output radix.
The meta-term status-register in a command syntax means anyone of the ten tokens
for ICE-85 status registers.

5-34

Command Language

ICE-85B

With the exception of LIMIT, the ICE-85 status registers are all read-only registers,
and cannot be set or changed from the console. LIMIT can be set by the user.
The RESET HARDWARE command is used to restore the ICE-85 and 8085 hardware to the initial program load condition. One use for this command might be to
reset the hardware when reconfiguring (for example, moving the user plug from the
stand-alone adapter to the user system. The EXIT command includes the RESET
HARDW ARE function.
The RESET I7 command causes the external interrupt line RST 7.5 to the 8085 to be
reset to zero (low).
TIMEOUT calls for ICE-85 to display an error message whenever either the 8085
READY signal or the 8085 CLK (clock) signal is absent. TIMEOUT is initially
enabled.
Table 5-9. ICPM-85 Status Registers
Status-register

ICE-8S Status Register and Interpretation

OPCODE

Opcode fetched in last opcode-fetch cycle in trace data (8 bits,
read-only)

CAUSE

Conditions that were true at the time of the last break in emulation
(read-only). The 8 bit values are:
Bit 0 on
Bit 1 on
Bit 2 on
Bit 3 on
Bit 4 on
Bit 5 on
Bit 6 on
Bit 7 on

if breakpoint 0 matched
if breakpoint 1 matched
if SYO caused break
if guarded memory or 1/0 accessed
if user aborted processing
if timeout on HOLD
if timeout on READY
if no user Vcc (power supply voltage)

PPC

Previous program counter; address of last instruction-fetch cycle in
trace data (16 bits, read-only).

PSW

Program status word; accumulator in low byte, status flag register in
high byte (16 bits, read-only).

UPPER

Highest location in Intellec memory available to map user memory
into (16 bits, read-only).

LOWER

Lowest block name higher than highest location occupied by ICE
software (i.e., lowest block free for mapping) (16 bits, read-only).

LIMIT

Lowest address available to ICE for expanding workspace. An error
occurs if LIMIT is greater than UPPER (16 bits, can be changed by
user).

BUFFERSIZE

Number of frames of valid trace data; initially zero, always between
zero and 1022 (16 bits, read-only).

TIMER

Low 16 bits of 2-MHz emulation timer.

HTIMER

High 16 bits of timer.

5-35

Command Language

ICE-85B

Table 5-10 summarizes the operation of the external synchronization lines SYO and
SYI. SYO is used to give hardware control of emulation; commands that enable and
disable SYO are discussed under the GO command. SYI is used to control the coIlection of trace data; the commands that enable and disable SY 1 are discussed under
Trace commands. The meta-term sync refers to either synchronization line. Refer to
Trace Control Factors later in this chapter for details on trace control.
Table 5-10. External Synchronization Lines
Sync

OUT ONLY

IN ONLY

BOTH IN AND OUT

SYO

Enabled by ENABLE command. Driven low and held
low by ICE when emulation not running. If user
pulls SYO low during
emulation, emulation
continues.

Enabled by GO or GR command. When enabled,
user must set or hold SYO
high for emulation to
begin. After emulation
begins, user can halt
emulation by setting SYO
low.

When both SYO OUT and
SYO IN are enabled, the
user starts and stops
emulation as described
under IN ONLY, but the
ICE holds SYO low when
emulation is not running.

SY1

Enabled by ENABLE command. ICE sets SY1 high
when trace is running.

Enabled by ENABLE command. Forces trace data
collection when high
(overrides any halts due to
breakpoints). Setting SY1
low does not stop trace;
the system is now allowed
to monitor breakpoints to
halt trace.

SY1 OUT and SY1 IN may
not be enabled at the
same time. SY1 OUT will
override SY1 IN if a halt in
trace has already
occurred.

NOTE: Both SYO and SY1 are open-collector circuits. Therefore, they can only be actively
driven low; they cannot be actively driven high. When released, pull-up resistors in
the ICE circuitry pull the circuits high.

Table 5-11 lists several other external signals presented on the ICE-85 Interface cable
module. These signals are not controIlable with ICE-85 commands; they cannot be
set or dispiayed.
Table 5-11. Other External Signals

5-36

Signal

Interpretation

MATCH 01

Goes low when breakpoint register BRO matches.

MATCH 11

Goes low when BR1 matches.

EMUL

Normally high; goes low when the emulator has control of the user
system bus to perform ICE functions.

GND

Common ground for external signals.

ICE-85B

Command Language

Display Processor and Status Register Commands
register-name
pair-name
flag-name
i-bit-name
REGISTER

status-register

Examples:

RA
RBC

CY
M5
REGISTER
OPCODE

register-name

Anyone of the tokens RA, RB, RC, RD, RE, RF, RH, or RL
representing the 8085 and ICE-85 8-bit registers (see Table 5-5).

pair-name

Anyone of the tokens RBC, RDE, RHL, SP, or PC representing
8085 and ICE-85 I6-bit register pairs (see Table 5-6).

flag-name

Anyone of the tokens CY, PY, ACY, Z, or SN representing 8085
I-bit status flags (see Table 5-7).

i-bit-name

Any of the tokens M5, M6, M7, IE, 17, SID or SOD representing
bits in the 8085 interrupt mask (see Table 5-8).

REGISTER

A command keyword that displays the contents of registers PC,
SP, RA, RF, RB, RC, RD, RE, RH, RL, and a byte formed by the
interrupt bits given by i-bit-name above.

status-register

Any of the tokens OPCODE, CAUSE, PPC, PSW, UPPER,
LOWER, LIMIT, BUFFERSIZE, TIMER, or HTIMER representing ICE-85 status registers (see Table 5-9).

5-37

Command Language

ICE-85B

Set Processor Register Command
processor-register =

contents

EXAMPLES:
RA=OOH
PC= 0800H
PC= PC+1
IE=CY
RBC = WORD .SAM

processor-register

The keyword name of any of the writeable 8085 processor
registers, as follows:
8-bit registers (see Table 5-5).
16-bit registers (see Table 5-6).
Status bits (see Table 5-7).
Interrupt bits (see Table 5-8).
The assignment operator.

contents

A numeric-constant or numeric-expression.

RESET Hardware Commands
RESET

I ~ARDWAREI
Ilf

I

Examples:
RESET HARDWARE
RESET 17

5-38

RESET

Command keyword restoring its object to a reset condition.

HARDWARE

A function keyword restoring ICE-85 hardware to the reset
condition that occurs after the initial ICE-85 invocation.

17

A token specifying that the RST 7.5 interrupt line is to be reset
to zero (low).

ICE-85B

Command Language

ENABLE/DISABLE TIMEOUT Commands

I

ENABLE

I

TIMEOUT

DISABLE

Examples:
ENABLE TIMEOUT
DISABLE TIMEOUT

ENABLE

A command keyword that activates its object as a controlling
element in emulation or trace.

DISABLE

A command keyword that cancels the effect of its object on
emulation or trace.

TIMEOUT

A function keyword that, when enabled, causes ICE-85 to
display an error message on the absence of either the 8085
READY signal or the 8085 CLK (clock) signal.

5-39

Command Language

ICE-SSB

Memory and Port Content Commands
The commands in this section give access to the content or current value stored in
designated memory locations or input/output ports. The commands discussed in
this section are as follows. The purpose of each command is indicated by its title.

Command

Display Memory and Port Contents
Set Memory Contents
Set Input/Output Port Contents

Discussion
Memory Content References
A memory content reference has the form:
mem-type address

The meta-term mem-type means one of the following 'content-of' modifiers for
memory locations.
BYTE

The content of a single memory location. The address following
BYTE is treated as a logical address; the physical address whose
content is referenced is determined by look-up in the ICE-85
memory map (see Memory and I/O Port Mapping Commands,
page 5-16).

WORD

The content of two adjacent bytes in memory. The most significant
byte is located in the high address of the address pair; the least
significant byte is stored in the low address of the pair, The address
following WORD is treated as a logical address; the ICE-85
memory map is consulted to find the physical address whose content is referenced.

IBYTE

The content of a single memory location. The address following
IBYTE is always treated as a physical address in Intellec SHARED
memory; the ICE-85 memory map is not used.

IWORD

The content of two adjacent bytes in memory. The most significant
byte is located in the high address of the address pair; the least
significant byte is stored in the low address of the pair. The address
following IWORD is always treated as a physical address in Intellec
SHARED memory; the ICE-85 memory map is not used.

NOTE
IBYTE and IWORD allow you to display any location in Intellec
SHARED memory, but do not allow you to change the content of any of
the reserved locations in Intellec SHARED memory (Monitor, ISIS-II,
ICE-85). Non-reserved locations in Intellec SHARED memory can be
changed directly by using IBYTE or IWORD.

5-40

ICE-85B

Command Language

The meta-term address means one of the following types of entries.
numeric-constant
A single number in any input-radix. ICE-85 treats all
numbers modulo 65532 (64K); thus any number represents
an address.
numeric- expression
The forms for numeric expressions are presented in
Chapter 4. The result obtained when the expression is
evaluated becomes an address modulo 64K.
symbolic- reference
The ICE-85 symbol table lists all symbols loaded with the
test program or defined by the user after program load.
Corresponding to each symbol is a number that can be used as an address.
statement-numberThe ICE-85 statement number table gives the address of
reference
the first instruction generated by the statement with the
designated number.
processor-register
The name of one of the 8085 processor registers (refer to
Hardware Register commands). The content of the named
register becomes the address.
status-register
The name of one of the ICE-85 status registers (see
Hardware Register commands). The content of the named
register becomes the address.
(mem-type address)
A memory content reference with a form such as BYTE
(WORD 1000) represents an indirect reference. The content of the address or address-pair inside the parentheses is
treated as the address for the mem-typeoutside the parentheses.
To display the content of one or more locations in memory, enter the appropriate
memory content reference followed by a carriage return. We discuss the ways to
refer to a range of addresses later in this section. Here are some examples of display
commands that involve single addresses and pairs of addresses, llsing BYTE and
WORD.
For the following examples, assume these equalities and conditions:
.AA = 1000H (Symbolic reference)
#56 = 2000H (Statement number reference)
Location 1000H contai ns 11 H.
Location 1001 H contai ns 22H
Location 2000H contains 33H
Location 2001 H contains 44H

Note that the addresses looOH, loolH, 2000H, and 200lH are logical addresses. We
need not consider the physical addresses that actually contain the values shown,
since the ICE-85 memory map handles the conversion automatically for BYTE and
WORD.
The commands are shown as they would be entered. The terminating carriage return
is not shown. The content displayed by each command is shown on the next line, as
it is displayed by ICE-85.
* BYTE 1000H
1000H = 11H

·WORD1000H
1000H = 2211 H

5-41

Command Language

'BYTE .AA
1000H = 11 H
*BYTE .AA + 1
1001H = 22H
*WORD#56
2000H = 4433H

To obtain the content of the bytes or words in a range of addresses, use a reference
of the form
mem-type partition

A partition can be a single address, or one of the following types of constructs.
address TO address
addressLENGTH number-of-bytes(for BYTE or IBYTE)
address LENGTH number-of-words(for WORD or IWORD)

The first form of partition uses the keyword TO. The address on the right of the
keyword TO must be greater than the one to the left. With BYTE or !BYTE, this
form allows you to access the content of each location in the range; the range includes both the first and last address in the partition. With WORD or IWORD, the
first address is treated as the low address of the first address pair in the range; subsequent pairs of addresses are accessed until the second address is reached. If the second address is the low address of a pair, the word formed from the content of that
address and the next consecutive higher address is accessed; if the second address is
not the low address of a pair (that is, if it turns out to be the high address of a pair
already accessed in the range), the access halts after the last complete pair has been
accessed. Word-length accesses can begin on either an even-numbered or an oddnumbered address.
The second and third forms of partition use the keyword LENGTH. The address
preceding the keyword LENGTH is the starting address in the range, as with the first
form (using TO). The number or expression following the keyword LENGTH gives
the number of addresses (when the controlling mem-typeis BYTE or !BYTE), or the
number of address pairs (for WORD or IWORD) in the range.
Here are two examples, using memory content references to display the contents of a
range of addresses and address pairs. The contents shown could represent a section
of program code.
BYTE 1000H TO 1010H
1000H=67H 43H 3FH 01H 32H OBH 44H 01H 5EH 66H B5H 56H 03H 7BH 67H 39H
1010H=4DH

WORD 1000H LENGTH 10H
1000H=4367H 013FH OB32H 0144H 665EH 56B5H 7B03H 3967H
1010H=014DH

5-42

ICE-85B

ICE-85B

Command Language

Setting Memory Contents
To assign a new content to a single address or address pair, use a command with the
form:
mem-type address = new-content

The meta-terms mem-type and address represent the types of entries discussed
earlier in this section.
The meta-term new-content represents one of the following types of entries (for
single address or address pairs; setting the content of ranges of address and address
pairs will be discussed later on).

numeric-constant
numeric-expression

A single number in any radix.

processor-register

One of the 8085 processor registers listed in the Hardware
Register commands section of this chapter. The content of the
named register becomes the new content of the designated address.

status-register

One of the ICE-85 status registers listed with the Hardware
Register commands earlier in this chapter. The content of the
named register becomes the new content of the designated address.

'string'

A string of alphabetic characters enclosed in single quotes.
The ASCII value of each character in the string is treated as a
byte value. To include a single quote as a character in the string, enter it as a pair of single quotes (' ').

mem-type address

This form of new-content allows you to copy a byte or word
value from one address or address pair to another.

A numeric expression evaluated by ICE-85 to a single
number.

When a single address (byte) is to be set, ICE-85 treats the new-content as an 8-bit
quantity. If new-content has more than eight bits, the least significant eight bits in
the quantity are used as the new contents, and the other (higher) bits are lost. If newcontent has fewer than eight bits, the bit values in the quantity are right-justified
(placed in the low-order bits in the address), and the remaining (high) bits in the
locations are set to zeroes.
Here are some examples of setting byte contents. The first line of each example
shows the command that sets the new contents; the second line gives a command
that produces a display of the contents just set; the third line shows the resulting
display. The output radix is assumed to be H (hexadecimal) .
• BYTE 1000H = FFH
• BYTE 1000H
1000H=FFH
• BYTE 1010H = RA + 1
• BYTE 1010H
1010H=F1H
'BYTE 1020H = FF11 H
'BYTE 1020H
1020H=11 H
• BYTE 1030H = 1Y
'BYTE 1030H
1030H=01 H

5-43

Command Language

ICE-85B

"BYTE 1040H
"BYTE 1040H
1040H=41H

= 'A'

"BYTE 1050H = BYTE 1000H
"BYTE 1050H
1050H=FFH

You can change the radix used to display the contents, using the Set Radix command
(see Number Bases and Radix commands earlier in this chapter).
When a single address pair (word) is to be set, ICE-85 treats the new-content as a
pair of bytes. The least significant byte is loaded into the low address in the pair, and
the most significant byte is loaded into the high address in the pair. If new-content
has fewer than 16 bits, the bit values present are loaded starting with the low address, and right-justified. The remaining (high) bits in the address pair are set to
zeroes. The following examples demonstrate some of the possibilities for setting address pairs.
·WORD1000H
·WORD1000H
1000H=1122H

= 1122H

·WORD 1010 = FFH
·WORD1010H
1010H OOFFH

=

·WORD 1030H = WORD 1000H
"WORD1030H
1030H=1122H

The rules given above for numeric and ASCII values also apply when the new- content is of the form memtype.
A command of the form BYTE X = BYTE Y copies the content of address Y to the
content of address X. A command of the form WORD X = WORD Y copies the
content of address Y to location X, and the content of address (Y+l) to location
(X+l). A command of the form BYTE X = WORD Y copies the content of address
Y to location X; the content of location (X+l) is not changed. A command of the
form WORD X = BYTE Y copies the content of address Y to location X; the content of location (X + 1) is set to a byte of zeroes.
The commands used to set a range of addresses or address pairs differ in some
details.
One way to set a range of addresses or address pairs is with a command of the form:
mem-type address = list of new-content values

With this form, the address on the left of the equals sign gives the starting location
(or low address of the starting pair), and the number of,values in the list to the right
of the equals sign tells ICE-85 how many consecutive addresses or address pairs to
set. Consecutive locations or pairs starting with the one given are changed to the
values of the new-contents in the list, in left-to-right order.

5-44

ICE-85B

Command Language

Here are some examples showing the use of this form of the set memory contents
command.
'BYTE1000H=11H, 22H, 33H, 44H, 55H, 66H
'BYTE 1000H LENGTH 6T
1000H=11 H 22H 33H 44H 55H 66H
'WORD2000H = FFFFH, 'AB', WORD1000H
'WORD 2000H LENGTH 4T
2000H=FFFFH 0041 H 0042H 2211 H

Note in the last example that ICE-85 treats a string like 'AB' as a series of byte quantities, not as a word made up of the two ASCII values. Each character in the string is
a one-byte new-content value.
To set a range of addresses or address pairs all to the same new value, use a command Of the form:
mem-type partition = new-content

The forms of partition are discussed above in this section. All addresses or address
pairs in the partition are set to the single new-content. The following examples show
some of the possible results with this command form.
'BYTE 1000H TO 1005H = FFH
'BYTE 1000H LENGTH 5H
1000H=FFH FFH FFH FFH FFH
'WORD 2000H LENGTH 6T = AAOOH
'WORD 2000H TO 200AH
2000H=AAOOH AAOOH AAOOH AAOOH AAOOH AAOOH

The last form of the set memory contents command sets the contents of each address
or address pair in a range (partition) to the corresponding new-content in a list of
values. This form is as follows.
mem-type partition = list of new-content values

This form combines the two forms first discussed above.
If the number of addresses or address pairs in the partition is equal to the number of

values in the new-content list, the addressed bytes or words are set to the corresponding values in the list, in left-to-right order.
If the number of addresses or address pairs in the range is greater than the number

of new values in the list, the addresses or address pairs are filled with the values from
left-to-right, repeating the values in left-to-right order as necessary to fill all the
locations. The maximum number of bytes that can be repeated is 128. With more
than 128 bytes, the data is transferred but not repeated, and an error message is
displayed.
If the number of new values in the list is greater than the number of addresses or address pairs in the partition, the lowest address or address pair in the range receives
the first value, and successive addresses or address pairs in the range receive values
in left-to-right order until all locations in the range have received values. The excess
values are then detected by ICE-85 as an error condition, and an error message is
displayed. The excess values are lost.

5-45

Command Language

Here are a few examples showing this form of command.
* BYTE 1000H TO 1005H = 'ABCDEF'
* BYTE 1000H LENGTH 6T
1000H=41 H 42H 43H 44H 45H 46H
*WORD 2000H LENGTH 6T = 1122H, 'AB'
*WORD 2000H TO 200AH
2000H=1122H 0041 H 0042H 1122H 0041 H 0042H
* BYTE 1000H TO 1002H = 11 H, 22H, 33H, FFH
(An error message such as EXCESS VALUES is displayed.)
* BYTE 1000H LENGTH 4T
1000H=11H 22H 33H 44H

In the third example, note that the byte at location lO03H retains the value set in the
first example in the group of examples given (44H rather than the FFH given in the
command).

Port Content References
A reference to the content of an input/output port has the form:
PORT port-number

The keyword PORT is equivalent to the keyword BYTE used for memory contents.
The content of a single port is a one-byte value. In ICF-85, port numbers are mapped, but the logical port number is always the same as the physical port number. A
port-number is any entry of the types given above for address, except that the range
of port numbers is OOH to FFH (OT to 255T). Any reference to a port number outside this range produces an error message.
To display the current content of a port, enter the appropriate port content
reference, followed by a carriage return. The content is displayed in the prevailing
output radix.

To set the content of a single port, use a command of the form:
PORT port-number = new-content

The forms of new-content are as discussed earlier in this section. The value given is
treated as a byte quantity. If the value contains fewer than eight bits, it is rightjustified in the low bits of the port and the remaining (high) bits in the port are set to
zeroes. If the new-content has more than eight bits, the excess high-order bits in the
value are truncated, and the least significant eight bits in the value are used as the
content of the port.

One and only one port can be set in one command. A range or partition of ports cannot be accessed, either for display or for setting new contents.

5-46

ICE-85B

ICE-8SB

Command Language

Display Memory and Port Contents Commands
mem-type partition
PORT port-number

Examples:
BYTE 1000H
WORD .AA TO . BB
IBYTE 1000H LENGTH 10H
IWORD1000H
PORT8H

mem-type

One of the four 'content-of' keywords BYTE, WORD, IBYTE,
or IWORD, used with memory addresses.

partition
PORT
port-number

One or more contiguous memory locations.
The 'content-of' keyword for input/output ports.
A numeric constant, numeric expression, or symbolic reference
representing a port number (range: DOH - FFH).

5-47

Command Language

ICE-85B

Set Memory Contents Command
mem-type partition

= new content [,

new-content]

Examples:
BYTE OBOOH = FFH
BYTE 7000H LENGTH 16T = OOH
BYTE OBOOH TO OB05H
WORD 70FFH

= 12H,

34H, 56H, 7BH, 9AH, BCH

= PC

= PPC + 1
BYTE OBOOH = 'ABCDEF'
BYTE OBOOH = IBYTE 4000H

WORD 7000H

WORD 7000H = WORD 4000H LENGTH 20H
BYTE #56 = FAH

mem-type

One of the four memory 'content-of' modifiers BYTE, WORD,
IBYTE, or IWORD.

partition

One or more contiguous locations in memory.
The assignment operator.

new-content

One of the following types of entries, to be used as the new
contents of the BYTE or WORD addresses:

numeric-constant
numeric-expression
processor-register
status-register
, string
mem-type partition
PORT port-number

5-48

ICE-85B

Command Language

Set Input/Output Port Contents Command
PORT port-number= new-content

Example:
PORT8= FFH

PORT

The 'content-of' modifier for I/O ports.

port-number

A numeric-constant or numeric-expression in the range OOH to
FFH (OT to 255T).

new-content

One of the following types of entries, to be used as the new
contents of the designated port:

numeric-constant
numeric-expression
processor-register
status-register
, string'
PORT port-number

mem-type address

5-49

Command Language

ICE-858

Symbol Table and Statement-Number Table
Commands
ICE-85 maintains a symbol table and source program statement number table to
allow you to refer to memory addresses and other values by using symbolic
references and statement references in the ICE-85 commands.
This section gives details on the following commands.

Command
Display Symbol Table or Statement-number Table
DEFINE Symbol
Change Symbol
REMOVE Symbol

Discussion
The ICE-85 symbol table receives symbols from two sources; the symbol table
associated with the user program can be copied to the ICE-85 symbol table when the
program is loaded, and the user can define additional symbols for use during the
emulation session.
Corresponding to each symbol in the table is a number that you can interpret and
use either as an address or as a numeric value (variable or constant). The next few
paragraphs discuss the kinds of symbols that can appear in the table, and the interpretation of the corresponding symbol table quantity (address or value).
Instruction and statement labels are loaded with the program code. The symbol
tah1e gives the address of the instruction corresponding to the label.
A program variable is a symbol for a quantity that can have its value changed as a
result of an instruction in the program. Program variables are loaded with the program code. The symbol table gives the address where the variable value is stored.
A program constant is a symbol for a label set to a constant value (for example, using the assembler directives EQU or SET). Program constants are loaded into the
symbol table when the program code is loaded. The symbol table gives the constant
value associated with the symbol.
A module name is the label of a simple DO block that is not nested in any other
block (for PL/M-80), or a label that is the object of a NAME directive (in 8080/8085
assembly language). A module name itself does not have a corresponding address
value in the symbol table. However, symbols contained in a module are considered
to be 'local' to that module; ICE-85 thus allows you to reference multiple occurrences of the same symbol name in different modules, by using the module name
as a modifier in the symbolic reference.
The ICE-85 symbol table is organized to preserve any modular structure present in
the program. Initially (before any code is loaded), the symbol table consists of one
'no-name' module. Any symbols loaded or defined without a specific module name
are stored in the no-name module in the order they were loaded or defined. The noname module is always the first module in the symbol table. Following the no-name
module, named modules are stored in the symbol table in the order that the modules
were loaded into ICE-85. Symbols local to each named module are stored in the
order they appear in the module.

5-50

ICE-85B

Command Language

In addition to the symbols stored when the program code is loaded, you can use the
DEFINE Symbol command to define new symbols for your use during the emulation session. The rules for user-defined symbols are as follows.

The name of the new symbol (symbol-name) can be defined with a maximum of 122
characters. However, ICE-85 truncates each symbol-name to the first 31 characters.
Thus, to be different, two symbols must be unique in the first 31 characters.
The first character in the new symbol-name must be an alphabetic character, or one
of the two characters @ or ? The remaining characters after the first can be these
characters or numeric digits.
You can specify the module that is to contain the new symbol you define. Symbols
defined without a module are placed in the no-name module at the head of the table,
in the order they were defined. Symbols defined with an existing module name are
placed in that module's section of the table; the module named must already exist in
the table.
The new symbol name cannot duplicate a symbol name already present in the
module specified. You can, however, have two or more symbols of the same name in
different modules.
When you define a new symbol, you also specify the value corresponding to it in the
table. You can treat the value you assign as an address or as a numeric value for use
other than addressing.
The DEFINE Symbol command has the following form.
DEFINE symbolic-reference = address/value

The forms of symbolic-reference are shown in Table 5-12. The meaning of each
form is as follows. Not all forms can be used in a DEFINE Symbol command.
A simple symbolic-reference has the form . symbol-name . ICE-85 searches for this
form of reference starting with the first symbol in the no-name module. If the symbol is not in the no-name module, ICE-85 searches through the named modules in
the order they were loaded, and takes the first occurrence of the symbol in the first
(earliest) module that contains it.
When you define a symbol without a module, it is placed in the no-name module.
The symbolic-reference can include a module-reference. The module reference immediately precedes the symbol name; the module-name is identified by a prefix consisting of a double period ( .. ). When you define a symbol with a module reference,
the symbol is added to the symbols under that module. A later reference to a symbol
with a modure name restricts the search to that module.
A multiple symbolic reference has the form . symbol-name. symbol-name. This form
causes ICE-85 to search for the first occurrence of the second symbol-name that
follows the first occurrence of the first symbol-name. You cannot define a symbol in
terms of this form. This form can be used to identify a symbol that occurs in several
procedures that are themselves not modules, since procedure labels are stored as
symbols in the table in the order they appear in the program modules. For example,
if you have two symbols with the same name, say I1, one declared in procedure
ADD and one in procedure SUB, you can guarantee access to the one in ADD by
using .ADD.I!.

5-51

Command Language

ICE·85B

Table 5-12. Symbolic References and Statement References
Type of

Meta.notatlon

Example

Pi$play

DEFINE

Change

REMOVE

YES

YES

YES

YES

YES

Reference
Symbolic

. symbol·name

.ABC

YES

Symbolic

.. moclvle.symbol-name

.. MAIN.DI;F

YES

YES, if
moavleis
already pre.
sent in
table.

Symbolic

. symbol-name. symbol-name .XX. YY

YES

NO

YES

YES

Statement

# statement-nvmber

#56

YES

NO

NO

NO

Statement

.. moavle# slmt- nvmber

.. MAIN#44

YES

NO

NO

NO

The meta-term address/value as used in the DEFINE Symbol command means one
of the following types of entries.

numeric-constant
numeric-expression
processor-register

status-register

mem-type address

symbolic-reference

A single number in any input-radix.
Any of the forms of numeric expressions given in Chapter 4.
The name of one of the 8085 processor registers (see
Hardware Register commands earlier in this chapter). The
content of the named register becomes the address or value
corresponding to the symbol.
The name of one of the ICE-8$ status registers (see Hardware
Register commands)~ The content of the narned n:gister
becomes the address or value corresponding to the symbol.
A memory content reference using one of the keywords
BYTE, WORD, !BYTE, or IWORD. The content of the address following the mem-type becomes the address of value
corresponding to the symbol.
Any of the three forms of symbolic-reference shown in Table
5-11. The effect of this form is to establish one symbol as a
synonym for another symbol; referencing either symbol produces the same corresponding value,

Once a symbol has been defined or loaded, any reference to that symbol is
equivalent to supplying its corresponding address or value.
To display the value from the symbol table corresponding to any symbol, enter the
appropriate symbolic reference followed by a carriage return. ICE-85 displays the
symbol table value on the next line.
To display the entire ICE-85 symbol table. enter the command SYMBOL followed
by a carriage return. Symbols are displayed module by module, starting with the no."
name module. The address/value corresponding to each symbol is also displayed,
You can change the address/value corresponding to an existing symbol by entering
a command of the form:
symbolic·reference ... address/value

5·52

ICE-8sa

Command Langl.lage

Any of the three forms of symbolic-reference shown in Table 5-12 can be used to
identify the symbol whose value is to be changed. The symbol must already exist as
referenced.
The forms of address/value are discussed earlier in this section. Any of these forms
may be used to change the value of an existing symbol.
Where multiple occurrences of the same symbol name exist in the table, the rules for
table search given earlier determine which of the several instances of the symbol is to
receive the new address/value.
To delete one or more symbols from the table, use a command of the form:
REMOVE list of symbolic-references

The symbolic-references in the list are separated by commas. ICE-85 searches the
table for each reference using the search rules given earlier, deleting the first
occurrence of each symbol name that fits the type of reference given.
Note that deleting a symbol from the ICE-85 symbol table makes that symbol inaccessible to ICE-85, but does not affect the program code.
To delete the entire ICE-85 symbol table and the statement number table, enter the
command REMOVE SYMBOL.
ICE-85 also maintains a statement number table for user programs written in
PLlM-80 source code. The statement numbers are assigned by the PLlM-80 compiler. Corresponding to each source statement number in the table is the address of
the first instruction generated by that source statement.
Table 5-12 shows the forms used to refer to statement numbers in ICE-85. The
simplest form is the statement-number prefixed by a number sign (#). A modulereference can precede the statement reference, since the statement number table
preserves any modular structure in the program. Thus, two modules compiled
separately can have the same statement numbers; the module reference tells ICE-85
which statement number to use.
To display the address corresponding to a statement-number, enter the appropriate
statement number reference followed by a carriage return.
ICE-85 does not allow you to change the address corresponding to any existing statement number, to define any new statement numbers, or to delete (REMOVE) any
statement numbers.

5-53

Command Language

ICE-85B

Display Symbol Table and Statement-Number
Table Commands
symbolic-reference
SYMBOL

statement-reference

Examples:
.ABC
.. MAIN.DEF
.XX.YY
SYMBOL
#56

.. MAIN#44

symbolic-reference Any of the forms given in Table 5-12. The address of value
corresponding to that symbol is displayed.
SYMBOL
A command keyword calling for the display of the entire
ICE-85 symbol table, module by module.
statement-reference Any of the forms shown in Table 5-12. The first instruction
generated by the source statement with the number given is
displayed.

DEFINE Symbol Command
DEFINE symbolic-reference

= address/value

Examples:
DEFINE .ABC = 1000H
DEFINE .. MAIN.DEF = PC
DEFINE .TEMP = .ABC + 2

DEFINE

A command keyword that tells ICE-85 to enter the new
symbol in the appropriate module table, and assign it the initial value given.

symbolic-reference

Any of the forms given in Table 5-12. The symbol defined
may not duplicate a symbol already in the module given.
The assignment operator .

address/value

One of the following types of entries:

numeric-constant
numeric-expression
processor-register
status-register
mem-type address
sym bolic-reference

5-54

ICE-85B

Command Language

Change Symbol Command
symbolic-reference = address/value
Examples:
.ABC = 2000H
.. MAIN.DEF = AAFFH
.TEMP = .ABC + .. MAIN.DEF

symbolic-reference

Any of the forms shown in Table 5-12.
The assignment operator.

address/value

One of the following types of entries.

numeric-constant
numeric-expression
processor-register
status-register
mem-type address
symbolic-reference

REMOVE Symbol Command
REMOVE symbolic-reference [, symbolic-reference

1...

REMOVE SYMBOL

Examples:
REMOVE.ABC
REMOVE .. MAIN.DEF, .TEMP
REMOVE SYM BOL

REMOVE

A command keyword causing the symbols that follow to be
deleted from the ICE-85 symbol table.

symbolic-reference

Any of the forms shown in Table 5-12. Several symbols can
be deleted with one command by entering the symbols to be
deleted as a list with the symbolic-references separated by
commas.

SYMBOL

A keyword that (as the object of REMOVE) deletes all
symbols and statement numbers for all modules in the symbol
table.

5-55

Command Language

ICE·85B

Channel Group Commands
Channel groups are used to control ernulation breakpoints, tra(!e data qualifiers,
and trace data display. Some groups are systern~defined; system· defined groups can
be displayed and used in commands, but cannot be changed, removed. ordefined.
The commands in this section allow you to define groups of your choosing, display
system-defined and user-defined groups, and change or delete any user-defined
group. in addition, this section defines several meta"lerrns that are also used in commands discussed in other sections. The commands are as follows.

Command
DEFINE GROUP
Display GROUP
Change GROUP
REMOVE GROUP

Discussion
ICE-85 channels represent input signals from the 18 user probes and from the
address, data, and status lines of the 8085 emulation processor. Table 5·13 shows the
interpretation of the lCE·85 channels, and gives the system-defined group names
that refer to commonly-used groups of channels. Channel 43 (MTH) is set by
ICE-8S, and is displayed as part of trace data.
lCE·85 maintains a pseudo-register called the Channel Status Register (CSR), that
contains the current value of channels 1 to 42, organized in terms of the system- and
user-defined groups.
Time slices available to ICE·85 to record the 'current' value of the channels are called frames. Each machine cycle is divided int() two frames: the first frame is that
portion of the cycle when lines ADO to AD? represent the low address byte; the second frame is the portion of the cycle when those lines represent a byte Of data. The
'current' values of channels 1 to 42 on each frame are stored for the duration of that
frame in the CSR. The 'current' value of MTH (channel 43) is based on a breakpoint
match on the previous frame, as discussed below.
There are four ICE·85 match-registers, as follows.
BRO, BR1: Emulation breakpoint registers.
ORO, OR1: Trace qualifier registers.

Each of the rnatch~registers contains 43 bits. duplicated as necessary to represent all
system· and user"defined groups. Using ICE·85 commands, you can specify a
rnatch~value for any channel Or channel group. The match-value of any bit can be 0
(zero), 1 (one), or X (don·t~care). The breakpoint registers are enabled by including
them in a GO or OR command; the qualifier registers are always enabled. ICE-85
compares the settings of the bits in the breakpoint and qualifier registers with the
state of the CSR, on every frame during real~time emulation. A match on an enabled
breakpoint register halts emulation; a match on a qualifier register enables trace
data collection.

Command Language

ICB-85B

Table 5-13. User-Probe Channels, 8085 Processor Channels and
System-Defined Group Names
System ChannelGroup numbers
Name
UO
U1

8085
Pin or
Signal

Trace
Radix

Interpretation

1 - 8

User probe channels

H

9 - 16

User probe channels

H

User probe channels

H

U2

17, 18

DMUX

19

ALE

1 .. ADO to AD7 are data
o== ADO to AD7 are low-order address

y

ADDR

20 - 35

ADO - AD7
A8 - A15

Low-order address lines (DMUX=O)
High-order address lines

H

DATA

20 - 27

ADO - AD7

Data Lines (DMUX=1)

H

ADDRL 20 - 27

ADO - AD7

Low-order address lines (DMUX==O)

H

ADDRH 28 - 35

A8 - A15

High-order address lines

STS

SO
S1

Action
HALT
WRITTEN
READ
EXECUTED
OUTPUT
INPUT

36
37
38

101M

H

101M S1
0
0
0
0

0
0
1
1
0

so
0
1
0

Mnemonic Mnemonic
H
W
R
E

1
0

0

SO

39
40

SOD
SID

Serial output data line
Serial input data line

Y

RW

41
42

WR
RD

WRline
RDline

y

MTH

43

MATCHOor
MATCH 1

1 = breakpoint register matched in
previous frame (trace data only)

Y

When a breakpoint register (enabled or not) matches the CSR On a given frame,
channel MTH of the CSR is set to 1 in the next frame.
When trace data is being collected, the CSR is copied to the trace data buffer after
each frame except for the first frame of the first instruction.
Details on the breakpoint registers is given in the section on Emulation Control commands (page 5-62); qualifier registers are discussed in the section on Trace Control
Commands (page 5-75).
You can define channel groups in addition to the system-defined groups. A user
group can be defined, for example, to obtain a particular ordering of channels and
channel groups for display during trace data display or for specifying a matchregister setting.
Groups are composed in terms of the channels they contain and the order of the
channels from left to right as they are to be displayed or matched. The settings of
any channels are not part of the group definition.
The DEFINE GROUP command has the following form.
DEFINE GROUP group-name= channel·list [IN group-rad;>!]

5-57

ICE-85B

Command Language

A group-name must begin with an alphabetic character (A to Z), or with a special
character (@ or ?), followed by other alphabet characters and/or numerals (0 to 9),
up to a total of 31 characters. The group-name in the DEFINE command may not
duplicate any names defined earlier, including the system channel group names.
Once defined, a channel group-name may not be defined again, unless the groupname has been deleted with a REMOVE GROUP command.
Channels in channel-list are specified in two ways.
1.

By channel-number. ICE-85 hardware probes are numbered 1 to 18, and 8085
processor channels are numbered 19 through 42. Channel 43 is displayed as part
of trace data, but cannot be assigned to a user channel group (Table 5-13).

2.

By group-name. The channel-list can include system- or user-defined channel
group-names. When a group-name are included in the list (and thus in the
group being defined), in the order previously specified for the included group. If
a group-name is included in the list, the channels assigned to the included
group must not duplicate any other channels in the list.

When a group-name is part of the channel-list used to define another group, the
channels in the included group-name are assigned to the new group, but the name
of the included group is not retained as part of the definition of the new group.
Enter the channels and groups in the list in the left-to-right order that you wish them
to be displayed.
The group-radix given in the (optional) IN-clause tells ICE-85 what number base to
use when displaying the group later as part of trace data. The default group-radix is
hexadecimal. A group-radix is one of the following characters.
Y (binary)
Q (octal)
T (decimaij

H (hexadecimal)

In defining (or changing) groups, you should note the following limitations.
1.

No group can contain more than 16 channels. If you attempt to assign more
than 16 channels to a group, an error message is displayed and no channels are
assigned.

2.

You can define a maximum of 36 groups, if no group has more than eight
channels assigned to it. Groups with more than eight channels count as two
groups toward the total of 36.

3.

The total of all channels assigned to user-defined groups may not exceed 103.

To display the channels assigned to any group-name, enter a command of the
following form, followed by a carriage return.
GROUP

group-name

The display obtained by this command gives the group name, an equals sign, the list
of channels in left-to-right order as they were assigned, and an IN-clause giving the
output-radix specified when the group was last defined or changed.
The details of this command are discussed by use of examples. Suppose you have
defined a group as follows.
DEFINE GROUP PORTA = 10,11,12

5-58

Command Language

ICE-8SB

Now, to display this group, enter the command:
GROUP PORTA

(Display:)
PORTA=10,11,12

IN H

Note that since no group-radix was specified in the DEFINE command, ICE-85 used the default group-radix H (hexadecimal).
We can change our group to include a system-defined group.
GROUP PORTA = PORTA, DATA IN Y

GROUP PORTA

(Display:)
PORTA=10,11,12,27,26,25,24,23,22,21,20 IN Y

Note that the channels in the system-defined group DATA were listed individually in
the display, and that the group-radix specified in the Change GROUP command
has been applied to our group.
To display several groups at once, use a command of the form:
GROUP group-list

The meta-term group-list means a list of system-defined and user-defined groupnames, separated by commas.
To display the channels assigned to all group-names, enter the command GROUP
(without a group-list). System-defined groups are displayed first, then user-defined
groups in the order they were defined.
One more example. Assume group PORTA has channels assigned as in the previous
example.
DEFINE GROUP LOOKSEE = PORTA,DMUX IN Q

GROUP LOOKSEE,PORTA

(Display:)
LOOKSEE=10,11, 12,27,26,25,24,23,22,21,20,19 IN Q
PORTA=10,11,12,27,26,25,24,23,22,21,20 IN Y

Note that the group-radix specified for LOOKSEE overrides the group-radix
specified for PORTA, without changing the earlier setting defined for PORTA
alone.
To change the channels assigned to a user-defined group-name, use a command of
the form:
GROUP group-name = channel-list [IN group-radix]

5-59

Command Language

ICE-S5B

The meta-terms group-name, channel-list, and group-radix have the meanings
described above for the DEFINE GROUP command.
To delete any user-defined group, use a command of the form:
REMOVE GROUP group-list

The entry group-list is a list of one or more group-names separated by commas. All
the group-names in the list are removed. The settings of the channels in a deleted
group are not affected; particularly, if a group has been used to set a match-register,
the register setting is not affected by deleting the group-name. Where the same
channel has been assigned to two different group-names, deleting one of the groups
does not affect the group that remains.
The command REMOVE GROUP (without a channel-list) deletes all user-defined
channel group-names.
Note that you cannot define, change, Or remove any of the system-defined channel
groups.

DEFINE GROUP Command
DEFINE GROUP group-name == channel-list [IN group-radix]

Examples:
DEFINE GROUP INPUT$PROBE == 5,3,4,2,18
DEFINE GROUP LOOK$SEE == 17,1,DATA IN Y

DEF!f'JE GROUP CHEC~"
<
>=
<=

<>

Meaning
Is
Is
Is
Is
Is
Is

equal to
greater than
less than
greater than or equal to
less than or equal to
not equal to

The relational operator divides the conditional expression into a left side and a
right side.
The content-reference on the left side of the conditional expression can be anyone
of the following.

•
•

•
•

memory-type address
PORT port-name
processor-register
status-register

The term content-reference was chosen to describe the left side of the conditional
expression to emphasize that if a symbolic reference is used, it must be preceded by a
'content-of' memory-type (BYTE, WORD, !BYTE, or IWORD). The memory or
port address of a content-reference is evaluated only once~ whereas the content of
the addressed element is evaluated (examined) each time the condition is tested. The
condition is tested after every instruction executed under STEP. A keyword
reference such as PC on the left side refers to the contents of the hardware element
(the program counter in this case) each time the condition is tested.

5-92

ICE-85B

Command Language

The right side of the conditional expression can be one of the following.

• Content-reference as described above.
• Numeric-constant
• Numeric-expression
The right side can be a reference to any system- or user-defined element, with or
without a 'content-of' modifier. If the right side begins with a keyword, the entry
must be a content-reference (not an expression). In this case, the condition refers to
the current contents of the named element each time the condition is tested.
The right side can be a numeric expression. The expression must not begin with a
keyword reference. Masked constants cannot be used. The expression is evaluated
using the content of any reference as it stands at the time the condition is specified in
a Set Condition-Register, SR, or STEP command. The evaluated result is then
treated as a constant value; you cannot change the condition by later changing the
content of one of the right side references in the original expression.
To enable any combination of CRO, CRl, CR2, and/or CR3 as a halt condition, you
can use a SR (set STEP-Register) command of the form:
SR = halt-step-condition

The meta-term haIt-step-condition means anyone of the types of entry shown in
Table 5-20. This table gives all the forms of halt conditions as they are to be entered,
including the token TILL where applicable. The table contains all valid combinations of the halt factors.
Table 5-20. Halt Conditions in the Step Register (SR)
Halt Condition
FOREVER
COUNTn
COUNT n TILL CRO
COUNT n TILL CRO AND/OR CR1
COUNT n TILL CRO AND/OR CR2
COUNT n TILL CRO AND/OR CR1 AND/OR CR2
COUNT n TILL CRO AND/OR CR3
COUNT n TILL CRO AND/OR CR1 AND/OR CR3
COUNT n TILL CRO AND/OR CR2 AND/OR CR3
COUNT n TILL CRO AND/OR CR1 AND/OR CR2 AND/OR CR3
COUNT n TILL CR1
COUNT n TILL CR1 AND/OR CR2
COUNT n TILL CR1 AND/OR CR3
COUNT n TILL CR1 AND/OR CR2 AND/OR CR3
COUNT n TILL CR2
COUNT n TILL CR2 AND/OR CR3
COUNT n TILL CR3
COUNT n TILL cond-exp
COUNT n TILL cond-exp AND/OR cond-exp
COUNT n TILL cond-exp AND/OR cond-exp AND/OR cond-exp
COUNT n TILL cond-exp AND/OR cond-exp AND/OR cond-exp
AND/OR cond-exp
Note:

STEP-Register
COUNT CR3 CR2 CR1 CRO

[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ
[EJ

E
E
E
E
E
E
E

E
E
E
E

E
E
E
E

E

E

E
E
E

E
E
E
E
E

E
E
E
E
E
E
E'
E

E

E
E

E
E
E

E

E

E

E = ENABLED; blank = not enabled.
[EJ = COUNT n is optional and may be omitted from any of the above halt conditions
in the table. In this event COUNT = FOREVER.

The SR command can specify one or more conditional expressions to be loaded into
the condition registers. The first such expression is loaded into CRO, and the second,
third, and fourth expressions (if present) are loaded into CRl, CR2, and CR3,
respectively. In a given SR command, you can specify either the CR's to be enabled,
or the conditions to be loaded; the two forms cannot be combined in one SR
command.

Command Language

ICE-85B

Each condition register holds a single conditional expression.
precedence over OR.

AND takes

The STEP-register includes both the COUNT clause and the TILL clause as halting
conditions for single-step emulation. With the SR command, you can change or
delete either or both of these clauses.
The initial state of the STEP-register is FOREVER. With this setting, the STEP
command starts single-stepping, and continues until the user presses the ESC key or
performs a hardware reset.
The COUNT clause establishes one condition for halting. The number n (following
COUNT) is evaluated to a decimal number; single-stepping halts after that number
of instructions has been executed, unless some other condition causes an earlier halt.
In other words, the COUNT condition is implicitly OR'd with any other conditions
given in the command. If STEP is entered with a TILL clause and no COUNT, then
COUNT is set to FOREVER.
The TILL clause can include up to four condition registers (as previously set) or up
to four conditional expressions. Each new TILL clause overrides any previous TILL
clauses. If a STEP command is entered without a TILL clause, the conditions
previously stored in the STEP-register are used. You cannot mix conditional expressions and condition registers in the same TILL clause.
Each of the four condition registers (CRO, CRl, CR2, CR3) can contain a conditional expression. When the state described by the combination of active condition
registers becomes true, with AND> OR in precedence, single-step emulation halts
after completing any instruction currently being executed.
Like the breakpoint registers used to control real-time emulation, each condition
register must be both set and enabled to control single-step emulation. The SR and
Set Condition-Register commands set the condition registers; the second form of the
STEP command (with TILL cond-reg ) enables the condition registers it names; the
third form of the STEP cummand (with TILL cond-exp) both sets and enables one
or more condition registers.
The halt conditions shown in Table 5-20 may also be set through the use of the STEP
command. The STEP command causes ICE-85 to emulate your program at a single
step or several steps at a time. Additionally, any conditions given in COUNT and
TILL clauses are loaded into the STEP register for use by later STEP commands.
The operation of the STEP command parallels that of the GO command. The command can specify both a starting address and one or more halting conditions. Under
STEP, trace data can be displayed after each instruction; refer to the ENABLE
DUMP command for details on this feature of the STEP operation.
The STEP command has the general form:
STEP [FROM address 1[halt-step-condition

1

When the FROM clause is included, the value of address is loaded into the PC to
start the single-step emulation. If the FROM clause is omitted, the current value of
PC is used as the starting address.
The COUNT clause and any other conditions for halting single-step emulation
(FOREVER or TILL clause) constitute the STEP-register.
The initial state of the STEP-register is FOREVER. With this setting, the STEP
command starts single-stepping, and continues until the user presses the ESC key or
performs a hardware reset.

5-94

Command Language

ICE-S5B

The STEP command can specify up to four condition registers to be enabled. Each
condition register holds a single conditional expression, as discussed previously.
Another form of the STEP command gives one more more conditional expressions
to be loaded into the condition registers. The first such expression is loaded into
CRO, and the second, third, and fourth expressions (if present) are loaded into CR I,
CR2, and CR3 respectively. Any registers set with this form of the STEP command
are also enabled in the SR.
For example:
STEP FROM .START COUNT 33 TILL .CRT = 55 AND .PRT <.SAM OR WORD.AA

> FFFFH AND BYTE. SAVE < E2H
In this event, the contents of the condition registers are as follows:
CRO:
CR1:
CR2:
CR3:

.CRT = 55
. PRT < .SAM
WORD.AA > FFFFH
BYTE.SAVE < E2H

The display STEP-register and display condition-register commands cause the
display of the current setting of the STEP register and the designated condition
register(s) respectively.
The SR and condition register display commands work exactly like the GRand
breakpoint register display commands. Suppose you set the STEP-register as
follows:
SR = COUNT 10 TILL PC=100 OR BYTE 1000 > AB

To display what you have done, enter the token SR followed by the carriage return.
You get the following display.
COUNT 10 TILL CRO OR CR1

To get the full details, you must display CRO and CRI.
'CRO
PC=0100H
'CR1
BYTE 1000

> OOABH

If you enter the token BR as a display command, both breakpoint register settings
are displayed, using the same format as for a single register.

By contrast, the condition registers must be displayed singly; the token CR is invalid.
You can enable the automatic display of register contents and trace data after each
instruction executed under single-step emulation. To enable this facility,. use an
ENABLE DUMP command. The form of this command is:
partition
ENABLE DUMP

CALL
JUMP
RETURN

To disable this facility again, enter the command DISABLE DUMP.

5-95

ICE-85B

Command Language

Under automatic display for single-step emulation, the trace data for the last instruction executed, and the contents of registers RA, RB, RC, RD, RE, RH, RL,
RF, PC, and SP are displayed after every single step. ENABLE DUMP turns this
facility on; DISABLE DUMP turns it off.

The optional entries following ENABLE DUMP are called selectors. As indicated
by the braces around them, each of the selectors may be used once in the command,
in any order, but none may be used twice. When DUMP is enabled with one or more
selectors, the information is displayed only when at least one selector was satisfied
by the last instruction (that is, the last instruction was a JUMP, CALL, or
RETURN, or the previous PC was between the bounds of partition).

Selectors from the previous ENABLE DUMP command are cleared by the next
ENABLE DUMP command, and thus are not cumulative from command to command. DISABLE DUMP also clears all selectors.

The command tokens ENABLE DUMP or DISABLE DUMP are required. Following ENABLE DUMP, the selectors are optional.

Partition is specified in any of three formats, as follows.
expression

(evaluates to a single address)

expression TO
expression

(range of addresses)

expression

(the first expression evaluates to the first address in the
partitIOn; the second expression gives the number of contiguous address in the partition, including the first address.

LENGTH

expression

Refer to the Memory Contents commands for more details on partition.

The CALL selector represents any of the following 8085 instructions.
CALL
Ccondition
PCHL
RSTn

Call to routine
Conditional call
Jump Hand L indirect (move Hand L to PC)
Restart

The JUMP selector represents any of the following 8085 instructions.
JMP
Jcondition
PCHL

Jump to address
Conditional jump
Jump Hand L indirect (move Hand L to PC)

The RETURN selector represents any of the following 8085 instructions.
RET
Rcondition

5-96

Return
Conditional return

Command Language

ICE-85B

Set Condition-Register Command
condition-register = conditional-expression

Examples:
CRO = BYTE.CTR > 55
CR1 = PC = 1EDH
CR2 = WORD.AA <>FFFFH

condition-register

One of the four condition registers (CRO, CRl, CR2, or
CR3) used to bring about a halt in single-step emulation.
The assignment operator.

conditionalexpression

An expression involving a relational operator , that
'evaluates' to true or false. Single-stepping halts when
the conditional expression becomes true. See DISCUSSION for details on forming conditional expressions in
this command.

5-97

ICE-85B

Command Language

SR Command (Set STEP-Register)
(1) SR =

FOREVER

(2) SR =

[COUNT expr-10]

(3) SR =

[COUNT expr-10]

Examples:
SR= FOREVER
SR=COUNT4
SR = COUNT 33 TILL BYTE .CTR > 55
SR = TILL CRO AND CR1 OR CR2 AND CR3
SR = TILL PC=1 EDH OR BYTE.CTR > 55 AND WORD.AA 55
STEP TILL CRO AND CR1 OR CR2 AND CR3
STEP TILL PC = 1EDH OR BYTE.CTR > 55 AND WORD.AA:'

\002«.3e.

P3

Y CABLE

MATCH 1/
MATCH <3/

4001411

SYNC f
SYNC ¢

c

J35

J3(,

P5

Pb

c

400 14 !tJ 8

"'
G

t;

~

OJ

Z
Z

~

0

~

CJ

>~

I P3

=!

Pl/P2

USER'S CAblE 4001273

co

"

~

•

I

110222Q
100t;:'S5

I

PI

P1Q

v

PIt

T CABLE 40014(04

CABLE

4001410")

•

P4

TRACE
PWA
1~Z24")

10011'11

" -_ _--"'C""',P_

JZ. 16

CDhlTROlLER~S~BLY

O-ll\N~~ BuFfER

J1

<00 '.., 0"""<00''". '.'OL

15 CHANNEL USER CABU:;

400141D3

10Z~OO

1001;~

m CHANNEL

BUFFER ~SS'1
4-0014&00 ®TEiJ~
400f~4") []IEMEN~

Nmt.~ I.

A

OUNm1YPERDAStI~a

,?\NA,.,.. = PHASt. INS!.

lc-c-c-c-c-o-_O:R:'~:':ONA: l:Uc-c-c c-c-c-c- c -c-c-c- c -c-c-c- ,c-c-c-c- c c-c-c-c-.-c-c-c-c-c-c-~!i~~~I!~:l~~::::~i!~~~~~t;;:;;:;:;~~~l:::::1i~
UNL£SSOTH~ISE$PECIFIEl),

I. OlMEHSIOfIS AIIf' IN 1NCHES.

2; BREAllAU. SHAAf>EDGf5.
3,tx1NOT5G'U.ED!lAWl~

__

B

7

6

5

Interconm~ct

If,

106

1102105

NEXfMSY

4

Diagram (Sheet 1 of 2)

(£~

Ie

xxx ± .QIO

USEDl:*

SUIII'AC£fIN1SHT

1

A

7

5

6

DVI'-L I'-UXILlI'-R ~ COWNEC10R
COJTROU_l.R

pz.

PIt-..!

T

TRACE.

TRACE:

P'2.

Pil

4

PI}.J

3

1102424

v CI'-eLE

CAOLE
Ie CI--\AN BUFF

J2

TR,t..CE.
"'lIZ

P\l...l

c.c it

SEt:

\

SHi:ET

I

P4

D

D

c

c
~~~J£-~~
S( I~EM"'T\C

1JO.

G""

SU\~MA.i\C

I-JO.

2001'297

162379

5CI-Il,.MA.."\ Ie

t-.lO.

Ifo"2.389
ME.MR-B/
3~

GtJO
LD MOD

8

,,3

",

AS

r---- g~~.--

~~~;

3'9

LD 'oJI-OD

AD

Ao

41

A.~ ______ _

!;

§--

DA5
- DAG
1)A7

--

""I

-

D",-

""

D""
""'-

49
<;0

8

51G\-.lAl \-.lAME CRO':oSRtFERE.,Kt:.S

D~":,0

...."
4i

1)M

-f-.--

---

DA.o
DM-

DA.7

"..PJO ,\'1

r--

F,[jARD lEST.
HJSTAL_cD. W'-1(t\!
/l2L(1/II 2) «dMi'(,- P! 0[,
I~r"}Tf.:..LED.
,e 12 I\~ 'AelL" (\4.11"'0,

"

74L":>'3bBI

PosrllOIJ"_,.

ARt

.-QIUF, ... B¢"'/c>, -2\t>%
ALL C,,",PACriAN(E VALUES AR.c IN MICROFAPADS
I
ALL R't.?I?"TANC.E VALUES ARc IN OHNI'S; :l:.~yo , \ /4 W.
NOIES-· UNLESS m~ERVJ\SE S\>'E.(.\I"I£'i)
ALL CAPAC 11OR.s

/>..(;6

\

74lS3~B

AF\.

3

7432-

A::'A

174504 -A~4

A
ffiiltB

.

002
16('c48 001

74S~4

A?'Jtj

1

P4-

A4'"

1

Yl

1K RES.PKG
1K AES.P

TYPE
SPARE

8

I

7

I

6

I

,

e-

74S~2

1'l.KRlS.PKG
1iZKAES.f'K6

_.

,.,.

10

E p, L
P}tJ #- 15 A("R.[A.O'll'
u's£o.
Sl-lORTi/ll." Pl.-we. WI Q: (MOil£;'
~OR Tf R4;OV I"';::
If.,IC,TALl "12114" JUMPER FL U (~
12.\ L4 C.\-itPS

r211'3

3
Z

"

14

B
5

B

,

14

7
7
5

A14,"" 7
A13

14

7

74 3
74S 4

A4475

14

,.

7
7

74S 2

A48

24
1

7
'"

74
745

,23384(.,

8

"

03

C

25
25

"B
B
14

'2

B2ZB

A.3

B

,.

,.,.

R
14

6224

Ase 5'1 7273

...

'

"

2

B21~

~33

~

.'.

15

24

5
5
2

821(0
52-1e

A7B, 7~

,.

"

B
12
B

A

"

~~

\1£.. _

GOIOU"()

31 1
34 4
1
3

A)51(,

1121261'<:>1
A
71

I2C

~ti

,,~

£113 4
2125
271w

A.7

--___ "t>¢

pO"'!~v p,~

OEV,CE

....

f~~~~
-

GROUND LOCATOR CHART

POWER
Rif<:P'~C(
D£~":,
rOR

92

A54
A47

,,

"""'"'

~--'--

~~

__ ~,--- 3~_ '?J':I
---37

'"

-

..n

~

_'_K'-

ECG 14·Q4:',,?

-- - fTI""20
7 tz:~
~-l:2 - ----- 9 ~

22121

A

.. ~~ \I

r'fj
1ft'"

-oY

~

U'III$II.lftS

P£SCfIIIP11ON

"" D'1

P3 P<1

R2:.

,

(02.39\

12 V

g,-

T~5v

t fit,

RZ.
24¢

-+-

.

I

_~1

+1>¢%-l$Z

I

4

D

.

(.1':..010

.

5

,
2~V

-

I

6

RP5

1

RPS

RP3

1

R3,

RP<
RPl
REF. DES.
GATES

5

1

C3'

1

A7'

OTY

I.IlIM£NSIONSAREIHIHCHES.

2.8JlEIdI,ouSIIAAI'EOGES.

Rl2.

1 DOIIOT5eAL£DAAWlHQ
.=~
AHGLESz2·

All

NOT USED
LAST USED
DESIGNATOR

REF.

f

,~,

QlJAHTITYPERCIoI.SHM).

1622.4B

1([ 8S/, 51

u.~

U,2248

I(E 8':>1

J(IQ(",.(IHl

NEXf',usy

4

IIS£DOfI

PARTS LIST

DI!N~:~"-d

'"'
~

.,.

..n

""'_J>.- ,

/. Y

~

ilteI·

SAHT~

Cl.lJtA

5CHEf/lI\IIC
CONiROlleR

DI14I'itn~~ 1",2391
2

A

Di58OWU!SAI/l.

CAUr.'*'!i!

TinE

~

sIiRFACEF'NISHl

:I

ll(SCRIP1l~

""RT NUMB£R

SIGNATURE

UNL£SSOTHERWISl$P£CI'IEO·

~~1

I

ji1
~,

1

()

.

tT1
00

Schematic Controller (Sheet 1 of 9)

v.

t:l:l

8

11i~·1

I

7

I

I

6

+

5

I

4
I 1'101:1

~
I~

J

D
14

BlBl GIDINT80

I/>JT

\~

.4.48

~:Il~~

Voo

D'OUJ 17.
Afl) '25

fiOlD

A'

BelElelA

""

A4
YIIBMI·n.

C~CB
1~

i0PF
I!;)

14

C

~

XTr>.L'Z.

S S,(NC
g

-HZ.v

11>1

"

n

,n

''''

'"

""

voo
,,~~

-+
~lAl

7

RESIN /

l2~n..l

RfSET

,

1ZJ7

,

"'"
"'''

4",

',-,

m

,<

~'SET

""
""

W,

3")

~'4

~.

8
<:>jlA1

1121 74531
~ illS 5

ADENB¢!

Bl!BZ XACK-BUF/

q ,40.0

B

10 MS

WEI
HLDA.. '2.1
READY

4

'20

K::EADY

05C

01
07
Do
04
05

~

5T5i~

~

7

DCD

-

m

~--WI.

W'A

~~

''''

")

17

"

,'11"
"
'"
2'2
,

7
3
4
5
CD

74510.:1

,~

?,

+SV

CD

"-f::

12~G>J

~_(,,,C

74LS3'"

II

"'4
RPS
1"2 K

4 0" 7

~

7 '" '"

HLDA. WR

"~'2

'"
4

5

"

3

1

4
'2

14LS3iCl S

~~~

[)(i,

ST5T~

~

A,."1
.0../5
A,q

C

31('0, e.-LOB
31 eO,4ZCB ,8Loe
31CB I 4ZC.8,SZOB

AICll 32.se, BlOB, 42C5
All 3IDe,BZD8,4LA5

A.11_

~1.De,4'Z.A8.aZ-DB

.c:..l~

3Z0B ,04ZA8,S'LDEl
0.14 ':HO'el ,,,\ZA6,8Z.05

8

'"

D1
Ol

ru-

II
")

D:,

If'"

18
D"CD 7
0"7
<4
MEME:
7W
MEMW
I/DIN

A.4 41Be,SIC8,31.c.B,7l.Ce
/Io.,=; 4lD5 J BLC8,3Z.C.B,flLB

'3

DBS

floe

·n~e,8ZCa,3z.c.5,"ll.C8

~ ~31L'OJ8ZC8

~

~IN

D1 B'Z'ZB DB~
D~ F\fJJ3 OM

D7

".

A?

~~'7

"'.", "

~~

I-

A.? 41~~,8Z.CB,3I.c.e,7LCE>

P2

~
7

D51Z1

EUSHJ

A."':J

TI~

~

IM1"

D4
OS

-§J

4'

'"

7

21,,14

~

D'"

? 'lDY\N

QI'lTTL

lNiE

?~

4LS3(ol II

"'"
"'' '

6774

~'"A'Z

~ 1

'4

D

P"

,,,,---'"
I~

",CD
~~
"7 34
3?

~T.b.Ll

"lA-N.K

~,

"\Zl:!le, e.z.es, 3l.CtJ, 7 LC5

1 ~ M~ '"

'4~'3

">7

~"

A.0 4lee, 82eB, 3Z-CB, 7l-CB

.,

17

3'

''''
1\4,,)

'2

'"

""

~.

i450

27

,~

?WREBl! 3"ZD5

,

4

,~

::r

nAB

Cv 74lS%7 7
A77
3
2

"., .,'"

'"2

~EVISIOllS

DESCRIPTION

+'='v

--:

"CD

-~ 1<0'£30) 1

ZONE ""'

'15 "1;tA'D

~7J--,o.,,'Z'2:0

~,~ ~

V5B

""0

3404
'3

'::I.""lAB

I-

,

¢Z11L

SlA.B

A

A

-

~1000E14

-~

ISSUED

8

1

7

1

6

I

5

f

4

Schematic Controller (Sheet 2 of 9)

I

3

I

I-~

1

If!

1b23"
~

~

I

1

I

1

3

I

2

'"

I

'"' ""

1-1-1-

o

-

1--

",
41A.1

14

+sv

'"

.z
I(J)

R:~Io.'\CS/

lel'Zl

c

ZlDJ
2101
2101
22DI
21..C2
21C'2
21.C'Z
21t7.
21['1.
21Cl.
2lCZ

PGMPD

A.
Ao,

.7

AB

"'"
""
D.O

DI
0'1

8

Z'Z.B'2.

B

0;
D4

2."Z.B(!, SLA2..

-

D5
{DO,
D7

4i- 002

05'2 fC''''''--+++-<>-----+>-j 11. (D4-Y)

...." DO;

DMf'-"---++*--------+>-j I; (D"-Y)

1"0 CHIP
CNTLR, «2

--+t_-----~------_r------+_-++t_--------~~+rt_r~~~~+--------~~+--------~~+~,11~44 DI3I~lJ~ t~

---~~---~~----~-----+---~~---------~~~~~~-*+--------~~--------~~~T44~D10 ~7~

S

000

.....-+-sv----------.....---------~t-L2-7~g~,

--~++-------+>------+------+-----*-------------~H+-HH-+~

'''~B
'-----',;;0.-1
"'"
0111 r 7i-----++H_r+H1"'Mr..,

DB0

OBI

"

~

i.!OU (O
D7

G"1 ============~ti:::;:;~

¢I

~

SELTMI\/ ___________________________________~~~l

rri~
f)

A

+5v
6zel

~21 ~

L

5C;K

~
. ==========i§~'~Kl~
I

CSTART

fOZA1. C5TOP /
.0ZTn
2.1"-1

"1A4GoJl

4

8

I

7

" •.<1£11l

'(J)I(l)(J)
ell.o
q

A4

9

8

;.

tt'

A

¢2 '-'--'-'

"''=' ¢0~""

CU::.0

L--

1A'

74saHZI

6

I

5

4

I

Schematic Controller (Sheet 3 of 9)

3

I

2

I

1

!

8

7

I

6

I

5

4

I

3

I

2

1

D

-

-

c

c

B

B

-

-

A

A

JA
8

I

7

I

6

I

5

4

Schematic Controller (Sheet 4 of 9)

I

3

T

2

I

7

2

3

4

5

6

D

D

.

I,

~~-~~~~~f-~~~~~~~-~~~-~~~~~WD

74532.

'~~~\~

~~

1

+===~I.~A~4~4JB~+~~~~~~~~~~--~~~~-0f1~~I'lnWE.-'O/

4

=

.

z~~

~

S

7457<1.-

~ elK

c

4ZA8

~

c

~fo"-

+sv

'e>
lCI4

17. D

QP

PR.

5,",,~ [ I CLK
14:'14

lep~
~42)4 3

5

~

C.Llc.
4

L-~~~-r,,",

A'Z.B17

QP-"~-t+~~-'

A17

101::',

B

B

I::'

'"

74S11lZl

4ZDI INOQ~I -~~--~~~--~~-~~~-----~~~~-~~-~~~~~~~~
I 74500

!

~"'-'~'-~-'

4"1CI ICDSTe 2/

A

..,.11>1 lDIE.)(STP~
GA CLK

8

A

"37490'2

p,

1

Ml

1

C@

7

6

5

4

Schematic Controller (Sheet 5 of 9)

3

2

4

5

6

7

3
14 LS3iDB
AI4

7

QLY( KC

'=>IC'Z

I

"4

D

~

"

~A.D\lSTEP/

7B

~
42CI

.:jz 01

~I'-

"'/

eOST

~

lE.MR HAil

'2

t..44

~

"'

1

+5V

.~
IK

P4
ANDCP-Y 74

14504
"74
'"

~e;

"II

00

<:"

DI

D7

07

I

Do

04

04
01

DI

WI

~
14

D'=>
OCO

OS

oCt>

B

IS

PI(:

14

D~

34!l14
ALB

OS

05

0(0

0(0

"P3
I 101\.5

~

~4i}4

"71

~D74S14Q
"
PR
II

L - - - eLK.

I~

A..41

Q

~'"

A.II

P4
10

TIMDLY
OR.':lTPTI(:/

T
IC"
IK.

1<'7,.

+5V

'3

5

u,"

IS

Q b

'::LR
I

X

~

C.L\(

+5V~J
£15

~~
4

1. 1450'2

~ ~40

~.CD~

14£il0

\ II? A

II

D7 iLe>1

4 '

5

Dr:]J 2Ze,1

"0kd

A'ZeJl~

"

~
'l,,--V--

+5V
R4
IK

::. I 2Z:

I~

~.~~

+5V--'VA
2

e,l

~

4
PR

5

~ C?4Sr4~

Ci145CbB

PZ

I:t;A'd 5

2.-=1

~CLK

Q r:.,

AS7

+~v

~LR

l3i~

P4

5

C:>

A:'~..o;~04

,

c
5TOPCT-B{

3~

STQPTRj

:'.c.,K
"" 14512HZI

~e
10>'

r:.

74S00

1450'13

1

~G
4 AID?
14S~~

"

I

'Z

STope TI SLA.E:.

"5~

B
~S0~

II

Q

fv'T~-BI

t?l

IL~~
'-'-=- D
"2t.i14
"~7

P2
25

",'

I?

O~~,,'1'-:

5

0:.') 2151

cr i4SaZ
~Iq;

~~~eQ~r------

eLi<'
74LS74
I

14S.YZ

vn

,

~D p~4Q~

eLK

A.31

II

74L574

~D'4S14Q~
~

~~
1'1. D PIC Q

bll~

~

13

INC.M01/

EI-JSIDP

'"

~~~14Q.r

'~

07

SIe>1

+SV

~04

Vo4Z

"'IZ 51

(l,

2

R3c

,-

~'"

4

"~

03
D4

~

",0 Q~

03~

Ie D3

D2

Q~

5.(oK

I

W tK/

q

CcR

+5V

~

10

Al"

Q

A51

z

1'2

,r--

r-" Z~~14

"'

L,

74508

'Sl.CI

AM

PR

' I

74L53::.:o7

7

l(,ti

"M~C

P7

c

145Q(]J

'3

II

P4

~ MWl

47

5 ("K

11 14SYZ

P2
4

.'"

7

R.34

D

MU1-'i/

47

A14~

+5V

P4
P4

£10

S

P<

~STD PPROC-yj

-A..~c..

B

=/

STQPP

T

52""

10

C 5"TOP/

@
IC.LGDF/ ?1.B
ISELLM/72

A

SZ-Dl

8

w EF/

7

6

5

4

Schematic Controller (Sheet 6 of 9)

3

2

A

8

I

7

1

6

+

5

1

I

4

I

3

I
0

f'O

3
I

lSELLMI

2Z DI

.,

r~

'>

"

'"

A"-xl
AIZ-X
A\:"-X
AI4-)(

I

S

"

14
l'.:l

'" 2E1
10 35

4Y

I,? 4e.

~

., ,.
'>

14
A"
I?

."

21C.1

{A..q

+5V

A1S-X

IO-X

~"
5.-4

'lIZ€;.

~
~
~
'0
(D

A.1'7

"

I'Z

1'3

6101

A.,DRC I

8101

~DI(.D/

8LO'2.

A.DeEI

B2D'Z

I--

C

3Y

4Y

cs.

4

A.D~F/

7
"l

ADR~/

12

DII>J WE

c'Oq

.Jdo

c:z.mPF

.,

30

(D~' 7

A4

AI5

-fill

V,

AS
AID

8

PI

~

iJ<1 3

v

""
""

6101

/4\.-53(..8
A,"Co

4 ",,' .,

'1!7S

+-

A..OR.A.! 81D2

,

MZ,

BID2

A.OR.e:,1 8101

10)' '"

o.

ADR..I(2)/

AD~II/

AOR..I'Z./

-

AO~I3I/

"7

"fO

A"

CS

~

3A. A1

:~

Ie,

'>

"ri- A'"

:±
* "'"

7Y

15 14

I

~ A'O
Ao,
'"iT "7

-

,A

~~

A%

~

II{

14
13 45

~
DIN

IA

" '"
'" ,"
l457'35

I,

----4- AI

EO OM"" /

97D'5

W"lC.OMA./

'HDB

DOUT

DOUT

-,

17

~
~

-!+

6UF'o.OVlIO/ Sr B'B

A

4113

~II~~~ ~
AI~-X

,o.,DeElI

4"

~

2

15

A1G:,-)(

4Y

7

7

8

A.8-X
A?J-X
A.lO-X

?"

4

97.05

IS

5.C,K

DO,

3Y
113
25 A-':J

IODMA,

-L

~I;

03
04

Rig

2151

2Y

14

"

01

,y

IA
'A

" '"
4"7.qS2SEl

"

0:0
04

~
5

A%

~

8

,~.

D

CS

I'r'~

ZA

""
HB=

tt

10 '"

. ",5
"

""

f----

C

41"

WE DI D1 03 D4

'0

o.:'~

"A
14 "A
2Y
4A
14SIS7
3 15,6.,7 3Y

A.I

A?
P3

A

., '"'

I

~

~

SEE. SHE£ T 1

+'>V

DI
Del

WMAP/

IOlAI

I,mi

1
R(VJSIONS

DlESCRIPT,OI'<

D2

zlBI

4Ze>1

I

2

,o"OENWI

91.LI

t1t

~S~;I~rRAMNG~.
SHI'ET7
0,
162391

I

7

I

6

I

5

t

4

Schematic Controller (Sheet 7 of 9)

I

3

1

2

I

1

0-

Jii

I

8

.1
-

7

I

6

I

5

4

I

3

I

I

41.A.1
lH~I~
2.1.01
A.\4
Z2.1!:I1
/It..1~

21.CI

""10

o

2.'Z.C.1
'2l.CI

A~

2Z:CI
2l.CI

At
A4

A.D')

-

c

c

B

B

-

-

A

A

8

I

7

I

6

I

5

4

Schematic Controller (Sheet 8 of 9)

I

3

I

2

I

1

,I

I

8

C

•

5

I

4

OVR.Q.
IE~I52.lq

1("

r---

qlA53

AID4

to

74'5m5
7"[DI

IODMA

77..""
77..P-..1

WR.DMto..!

.,j,l~
6

i

Rn

-

'27£1

C74

eT

'220Pt=

r

cC':L\(A.

BP'O~
TORe P.@.-

XSTR

IS

"'"':>

R.5T~

r

\~ 7:~S~,~

'---TI

~
r..~B

I

12 r..":i0

~DOZ

'OCLK

mo

r-----i-

~ DOO

4

3

I

r%
~

"74

I~

14

l1.£

1'0

rsne.

om
~
5

S

~
~

P..59

DOl

0&1

D"
001 DEI'2.

D12
DO~

DB':>

Dl~

A.1:!J

::Tr

I

''''

I

4

"

PI?J'5'Q

"3("

R'"
PI

+5V

10
I

-

I<:'ZB

'27.121

''''

t

,e,

C"z~~
'Z20P~

~

1
11

CL~SH

eci:,'2

100

IQ)

45

31

10rlR

IOEe.

IORR

lOwe.
MI1:DC

BCLK

nllT

tJIWTC

BlJ'.>V
DLYADJ

BEE

("5T5

~DD

ASI
82\'0

r~m
,,,,,,,"

Al5

25

IOcr I

DAI7-X/

C
71D~

,01. Be.

02

("0
DA.l~!

f+-

DA.TI'/

~
12

OA.i'Z !

~

DAT4/
OATS!
DA.T&,/
DA.Tl/

DAT~!

.,., I

I~ B~EQ..

~
~
go

74S37

B

OA.TI/

pP

OAI2/

~
~

DAT~/

P;,I AB

DAI4/
OA1'S!
UATG./
UAll/

~

5RE&I"'l/ BLAB

"DEIJ

"
'"

A.DEN'B0/
A!D!D
14

AMY'~

15
13

,,-'"

,4L"::;3,ibB

c.K

21~B/B2D~

T

A

{

04
05
DlD

~~St)lir~DRA~NGNO

0,

8

Dt>.lU,-X/

e-

",,("oe.

",.n,,-

D"'''T4-X/

ADEt-J'N/

~2
'2 A,15 ~.

~22
BPEtJ
BPRO

-

DA.T5-X/

~

10

~i

e

KOY

~ ~~~

42C.l IOVIW

211>1

?~

"

21,b..1
MEMI2!
,-rAI' IAEM'I\l/

2.l.D2

'if<

::d"K ~

~ClK./ I~

A

~

DAT?:J-X!

~
~

,,,

-xl

17

2")

RI8

B

D,to..TI

D"T7 - xl

~

OLR

!l.De~
~DI"
100
Daz DB'Z

10

~;"~

Del

~Dli

I~

'!>'DEM

B'ZC.EJ
/

1-'

c"

''55 JeZZeD

~DOI

II

74504
IZ

II

DB'Z

~I 012

14500

8219

lNIT

'~.~
"
fTI< BPl-\w

It.JTA

15

SllJlT/

~ OIl

~

IOWC~

WI''/IJTC
&EQ.

1OWC

'20

s'---.....=:- DOl DI":l\

XCy

VIR
RD
DlYto.,DJ

7~

PI

5U5Y/l!lJBlA.1

BeE!

~ x.c~
7 10M

mm. . . I·..;

81P-1

'2~

1

DESCRIPTIO!<

~ lowel

'3 7-232
,l.35-42.45-50
/154 -&'1 ,,"'H.':I

PI.,.,

POWE~

GROU"O

J!01A

t.r:.7'"1C

~

C

GROUND LOCATOR CHART

R;:'~~o~CE

D($'c.. .. dOF>.

Ii
2115
2115

."

,.,.,.'"
14

-,

,4,.

7

14

7

14

,.
,.,.,.

• ,.

B

B

e
t

B
B

~ io

1'0

B

B

NCTE3: Ii",LESS OTI-1ERV'II:lE SPECIFIED

-

I

ALL

2.

'LL C,c..Pt.(.ITOR VAL UES ARE IN MICROFARADS.
,SWAR'C '::tATEC) \"eBL" A"LREp.,D'< USED

I--

PESISTOk VALUES ARE. IN OHMS) 1j4WI 5%.

"'i. . .

0
74I A 7
ASZ
I
74

A34

A32
A7

7432.

.*

Z
2
1

"

2

A

~"O4

74

r:!~i'~-' ':'e01
161il!lll-07

7450474504

z•

-"

8

I

7

I

6

QUNffiTYPOIWSHND.
IINU$S Ql}1ERW1$ESI'EOFlEl),

>25

,
,

.P4

1

C84

1

'"'

2

'0/0

444
1143

~~PK 11;:;-1'
'~r

Hf'(

':::'

1

",

14soe '07

'"
~"'rAI(E

"
GMt-~S

5

'~n

Jll
P2
Re5

J1-"

I.DIMENSlQNSA/lEIICIJOCtI($.

L~~I

~~

JIQf

ReF DESIGNATOR

f

ICE

I

ICE

I

IC'
ICE

\I!o~a

~

,t.$'",fto

~

~"-it>

,~

~

4

a._

A/tGlU",2"

I

IC'
NEXl"ASSV

SI

M

PAATSUST
Mtt

100 NOT SCALEORAWING.

:l.IIIfAIIALl.S_EDGES.

.20

- --

_ _ AYE.

Del"

~

::3CHEMATIC)

BOARD

DI14 C¢~Stl1lllG.tI)· 1G:,Z37'}
~"""

I

A

""'''''''

TRA.CE

~

~.=
SI,IIIFACEflMISIiT

3

~~

PART NUMRJI

:1

~~

I

1

j'A
1

~IJ

:;;c

o
o
....
o

::s
o
o
o

(Jl

::r'

8
Schematic, Trace Board (Sheet 1 of 6)

a
n°
'"

I

8

7

I

I

6

I

4

5

J

I
/1/

DWGNO_

1(;.2379

$H2

HZ:

REliI$lONS

SEE

SHEET

1

D

D

-

-

c

c

bl08 C4\A
1b1De L4ZA

01(:13 C?/l A

"lee

C.~A

illC8

C.?0A

r..lCB

C4I?JA

ftJ"1t.6
wZC.5

C.~~A

A4
b:t,6"B
---~==============~=t~t===t===========t=========~===========t======~---r----~t-------------------------------~=========A~
~~N5
A.G>
wrA.B

-

C~4A

"lee. C31;)"'-

8

..

bltB C.3CbA
4lCI C.Z'::>A
4-'lCI C.~I2IA
4i.'C t C'?I A.

4lCI

C32.b..

42:CI
4ZC.1

elSA
C2G::l.o.

4lCI
41;CI

C77A
czeA

B

3

TSTL/~------~--------,

::!:

P'Z

J0(Z>l

r'~

3

14 15 I

~D? !\?A'l 06.1 WlJ

C79

~D? '3101P-.
D7
"5 I
-,-DI
CS 01 07. D'3 04

\\IE:

1314 15 t
A.~

A.1. AI-A.(J

~

~

l!o 14 15 I

WE A"'Jf>..l AI A.0

WE

I~

I~

15 I

A?J 1>..'2 AJ A,0

3

WE

3101A..

----'.f

311ZliA..
A'05

A~4

01 O"Z 0"3 04

DI 07. 03

ea

0\

13 14 Il".:> I

A.? Al AI A0

02 O~ 04

0 \ 01 O'? 04
3tDB

SlOB
3i!CB
3lCB

A

I

•

I

7

I

6

I

5

4

I

Schematic, Trace Board (Sheet 2 of 6)

J

I

2

I

A

5

6

7

8

4

3

4iuo,5rDB,wlDe>,l'lD5
41 DB, 51. DB I i01 OB,21D5
41 DB, 5105

Zief

MH '2.1

RP7

IK

C

D

4'2D6,51.DB , 01D5,2lDB

D

II

Ill!

l1.CI
"'~
2rf>,1
MH I'L
MHf>..\
t

"

-+?v

3

J

rei D5,ZlDB

A~M

4: 55,5'255,<01[:)5

A"':IM

4t'O'i':>,51.e>~10iE:>'t':l

e~

IK

~14:;;141Z)

4

54

1>..16

c

"

I

P2

Ui'-"
Di

01

CD

I~ O~ O':J ~
-~0404N
- 2 07 07 0"<
\\II

nc.1

~O4
~:rl
leo

t5VR.PCt:..
IK

"1
77
WE.-B/ \7

lEIJ'NE/

"7

D
0 AID
0 "'5
0 A4

~:tCI

10 't..C I

Iorel
&.-1(1

~II
14LS.z,2..

""""

LD eTl

B

')

I
B
~:774L-;:'~2

3

~I I
110

~ 741...~3Z-

~w
I

JI,

r-..

"

i~m

+'?"

I

030

~p;;

<"'LiE7

1"-

lK.

r~51 5r5~

A0'"

4

AIM

4'1'0£3 ,511:;'0 I h 't!'?''O

A'LM

4rBB , S1'OB 1 f,lBB

A3M

4'tBB j 5'tBB,b't-e,.e

1AlE.'1/
WEI/

4rAB
+1 BEl

iOrA.'O

J

01.D~

I

5r~'Cl

8

IK

t5V

A

A

8

7

6

5

4

Schematic, Trace Board (Sheet 3 of 6)

3

2

C'l5C Clft>C
I

,':H09
3:l-D~

L"'--Lf-J

L"___L4

...JII

2

3
C11C. tl Be.
JI(Zl
'25 113

Cl"JC C30C. t31C C31.C.
7
5
lIZ!
c:l

t.l~C.

7m

ctlZl(.
Tl

OM I
OM"

,,~,,~'"

1/1

ZB

0

.s~s

2W

PZ
12

~

""1

I

SEE SHEET 1

('lie C'Z7.C CBe (1AC.

3t.D~

~0

14

32.

JI0

D

f

PZ

21432

EI

22"

20

:I

I A.91

4'45118

~G,~
~
~~

0:.1D7

("nL ewe.

DM"
OM Z

31:D::'

eLK

4

5

6

7

8

II

?

,

(i,

~

4

_

A'l~? C'l

07 /1,,1
51
74.l,S'Z':::IB

elK
LDM 00 _ _ _ _ _f-7,.4"',,;.,.¢""8+.-"'eic'jWS
R.l
QA.
E4
~
15
3'111

T
I

":J

CI

'3

7

01

Ae

QB
14

Q. C

Q. D

'2

I

':.

CD

~

1>,'2 B7 C'2 D'2 AI

74l~'l.,:)'O

4

51
A0

'3

CI

I

~I~~

DI

~
II

R'lO, 3316

~

Q.A. Cl B
QC.
Qo
\~ _ _
IZ_ _-+I_S+I_4_f-'_'_+"_ _ _ _ _ _ _ _-"

'2

I

5

~

?!I

~

4

~'l c'Z D'2

1>..2

eLK

/>..1
51
C.I
74L;''Z':lB A5

7
DI

I

'2
"'7

I

~'l

5

~

CD

C1 D'I 1>,1

74L::)?95

A.~

~

4
BI

CI

1
DI

,..:;A llK
CLle? /

01 DB

CLleJ /

SlOB

I

10 ws
,--"Qr'~_Q:;"7::-_-"Gl'TC'c;-------"GlTO~_ _Q"'Tc',,-------,Q"-"'i"7---,Qo:;C=c,----,ao;D~
IS

14

I)

I'Z

I':;>

14

L'~'r-,,-'''-Z-~__r------------- C24A.
C23A.
C2Z,;
C21 A
O?fJA

C.19,e...
elSA

0'7

c

CSI/

rillP?

CS1/

~

15

I/;
OUJ C:=,

n-D'2

(H\~

3:t D'2

IS

15 10
DUJ CS

15 I
DW CS

(HZI

CH2.Z

CHZ.3

0-12.4-

111S

111S

'ZII~

"41

,,,''ZIIS
:>

LIIS

"(;,1

(H2P;

IS

I

l'tDG:>

ZiDc..
HOeD

ei D':>

el7A

no=:.

c32A.

l't.55

C31A
C30A.
c29A

n~~

el eB
2'1: 55

CLS"

Z:t:Be>

C.7.7A. Zt 'OB
C26;." Z'rB'O
c. 25 A. 'l'l"e:.'B
CSI / 5tCB!~>KB
C':>'Z/ StCB,"lCB

IS I
DW CS

DIIJ CS

16
DIIJ C.s

2:rDCo

2'tDG::>
210(0

C

+-

3tC2
3-lC'l.
3'i-CZ

B

LII'='
A.f.o2J

:H-C'2
31: EJ'Z

"41

,,"-"

B

3r~7

3:c.

~Z

3'l:5'l

74L~3G.7

5l5\

A.£J2'l-AE:9

0"'tCB

~p,AS1
3

I

-

A

Schematic, Trace Board (Sheet 4 of 6)

f-

D"

rOrel

u.c

"HI

0"
DM'
OP

tOrC.1

"~CI

I01:CI

D""
O"S

brei

D,,4

rn1:c.1

b~C.1

A

I

8

RPI
IK
31D~
3t:D~
3t.D~

o

~HD~

C~\C

JIll)

ClJ'Zc.

I B

cmc. Cl0C.

C.0~CC.04C

11

10

I

4

I

6

7

CO

1-4

_\Ql

"

CII(
I'?

I

3

en.c

CI~C

5

C-14C. LISe. CH"C

.a,

...110

Ion i ""' I'"'"
//

DM \
OMLZ'l

lD MOD

cD MDO
4101

//

/

DM::,
ON\'1

PZ

~

IIT,r~~" 14c"3~7
17,1>..::'4 11

"i,

"
1l.'Z

IIZl

..~1'J.5

ClK\/ _ _ ._ _ _ _~-t.,_5__

~
~'lC1D'lAI
""

I

4

e\

91

1

CI

DI

Al

~7

c'2 D'Z A.I

IS

Q.~

QE:!

QPo.

QD

l~

14

5\

CJ

~i (L,I

I

\4

~

<::l

'Z

7

I

S

QD

I~

QA.

15

1'2

Q6

::.

4

~

o

7

1<'1L%'1,)5

"'4.

:J.C

Q.D
~

14

Cl,

410B,/01DB

eL, --:cDL, -rcc"~O'o;-'-;!C'~D'~AC-,-~;;',;-;[-C,-oD-C:I'

51

74L5'195
A.3
QC.

ilfl

:~

1'2

3

1>.1 1::>7 C2 D'l 1>..1

DI

74 LS'I'o')B
f'-.'1

Ai
:),1>..

l

7IS(£'34')7

74LS,"'"

eu:::

II

~

Q,I>"

Q5

I~

1'2

QC.

GtO

14

c

c

4 tE>l
41:51

CSI/
C'::l2J

3'!D'I
3lD'l
31.('2
31CZ
3lC1

B

I

I

~

II

2

C.H.

~

OH 4

CHS

CH.11

LH.'O

L 117

CH.\S

'ZitS

",,1

~S7

3"lCl
31. 5Z

C\-II'2

3I5'2
31:~'Z
31~'2

-

DDUT

DOliT

DOUT

DOUT

DDUT

DOUi

~Olll

A.2A
74;50-4

I'JE,/---------~l

-

~

+5"

A

8

I

7

I

6

I

5

t

4

I

Schematic, Trace Board (Sheet 5 of 6)

3

I

2

j

8

I

7

I

6

!'.i3

220
3i:D3

DM~

3iD3

DM,
DMI
DMIZl

3T:D~

3"l.D3

0

CLK'Z/

51-07

LO MDO

21:Ce
21.C.5

-

C~8A.

2fBB

C37A.
C.~6A

21ea

C=-5A
(34/\

8

4cel

AE'2
AEI
AE.0

-

~ A.4·'-'3DHJ

f-'.'- AB
r+k~
."
c.
5
4

"

'2

A.""JM

"~M

31;C'l

MM

:3"tB'l

"''oM

3"tb1

A,M

31. 57

"'M

3:ZB7

"0M

15
"l

A

2'11:;.1

Ar.

7

3

P1

8

Q,

QD

15

I,

'"

Q" QC
14

I" "

DI

Jl

elL

4

C' D' .,

CI

BI

Q.D

QA.

13 rZ

""

SEE SHEET I

~,

,~"

///

QD

I,

GlC

(leo

14

('

1
REVISIONS

0

7L
01

74lS'Z:;;~ A..1'2

.U 3

-

""

:

'"A1
"'"lJ

,""

"'c.s

IS

DUJ

c.s

nr':h

15

15 I
DBJ CS DlN c.<::.

·1~1~

lQ"

M7

I

I

IS

IS

I

"

I

IS

I

IS

I

DI~

c.s

DIlJ C5 WE

CH':;/

ell::?>

CH~~

'-H40

rf-14\

rJ-142

(II --M-;H

'211~

711S

'ZIIS

211S

'ZIIS

7.115

A15

,,'O~

A~I

M5

"'00

2115
A&,7

'ZIIS
A&'''J

DA."2 3-'t.A.8 ,41/1>..\ ,<;1.A.l
Dt>.~ 31,6,.8 I 4'!A\ J 6i-A1
DA.4 3iA.8,41A,·\ ,5lA. \
DA,5 311\~,4~A.\15!Al

DltJ

cs

DHJ CS

m~C5

I>,G'O

\lJE~

-

A";>4

DOUT

+5V

7

Dom

JOUr
7

7

>-----<

DOUT

..-

DOUT

7

7

DOLJT
7

DOUT
7

;---

DOll!
7

DOUT

7

>-------<

DOUT

DOUi
7

7

~+5V

>------

Pl

~ 0"7

1

\

,"

'2

tio---

c;,

I
74L.s.3~7

"-P7
IK

epeo

14L'5J38

I~

13

41

OM

40,

0""

'"4S'

DA."2.

4.

I

A?4

+5V.- '

'-'5
Yji'\~
YI j~
C Y7 "

4

~

5
"P7

5

IK

+5v .- 1

7

7

JRn

~ co

i4L %3(,,7

? A.
:3 ~

IK

+5V .. 1

7"'1LS3<07

,

I~

~

~PZ

"

1<+5V +-

'

14L~3~7

co

6'Z.A Y3

5

B

Co

r''51
-<>

"-PrO
7

lK

+5V

+- ,.

14 LS3fP7

'"

0'"

-

~ OM'

Co

~~ ~7

'-----

;.. \
D., 3i 1>.5 ,4-lA \ ,S~A I

('fI~

111'0

211S
AZ",

PZ
25

33¢

15 I
DIU CS

I

CH'34

1'.46

74Si08

I

A.~~

[gil-

ENROll. /

01

L,mL
V

4'3

5

IK

A.4

QC

BI

'ljl

7

"

4

74L%'1~5 All

I

I

4

A33

.5V

,,>;,

to

11 I
~I"
A1 ~ll C'2 D'l /1..\

J1I

0,,, 7

4

21 e,\

r

CH'))

"

Am '2115

"-PG

I

A?3

A'?4

2"1:BI

0
2

"I> l'lll 107 (., 5'4

''''

14 "
A.?~ ~

'" ""<;

,,5M

14 L:S3G.7

IS

A",3

A~=::'

H-C'Z

7
01

If'

I

t>..E:~

4'tBI

31('2

OJ
01

",'0

QB
14

15
'OW

I n~~

AEB
AE7
"E'"
"E5

4't:51

I>,"'W\

"

15

~II

I
IlESCllIl'1'lON

ZZ

AECO

A~4

"'7M

4

C'2 D'l A.I

74L$7"'5

I"'''' '"'
15

C":>'2/

4Z:.eH
4 le,I

3i07

"'j~ 13
~2

CSI./

"I-ce'j

3i.C7

'I'
Kl
10,1 ""

C~3A

4r:\!)1

310'2

U

2

C42C
74 77

RI5

21.~B

~

14

I

3
t

C41

T"SV

C4¢A
C~9A

21(=)8

4r.CZ
4'le::.1
41:131
4'l.-el

C

I~

II

DEC n~c: C40C
10, 10

C41A

EBB

2.[;58
4=tC'2

JII

I

4

C~ 7 C

~

C42.A

Z.t~8

2.i:Be

Rll
33<1\

II

"ttD'Z

"

5
C33C C~CC3'5C' C~[

+C,U

~irL,

7

~'~I~T"~~
~m" ~ D
1l>237~

I

6

I

5

t

4

I

Schematic, Trace Board (Sheet 6·of 6)

3

I

2

I

I

0-

r

I;

()
ttl
I
00
VI

8

I

'.~ll

I

I

7

I

6

s

~

•

I

4

_.I

3

A

D'MlM),

liD23B")

"1

-

A

REVISIONS
~

ECO·/"· 04//

vi

~.

~

~rr

I»'" ,,"1-

'f'!-....'<-....

PI

D

tOY

I

7

3 '3

"

Jm

P5

+sv~
PI
tSV 31 32 34 35 37r--

-

ZZUF

D

t5V

~i}g"e

+sv~

I-

PI

GND

POWER AND GROUND lOCATEA CHART
ER PINS
DE'IICE
DE51GNATOR.
TYPE
GNO t5V +12V
AlB
I.
B
~1"7
7
6255
'14
2"

to 11'3jtSJl7jI4
LZl

R~FERENCE

22 23 25 21Dr1'2

GND

C

GND

I

I

1~

" t---

7

'i
II 13 15
21 23 25
31 33 35
3

17 1.,
37

C--'

32. 54 :?Ih 36 411+-_

P4

-.

GND

I

74S<1'JQl
74LS~0

7

74L~2.

7
7

aq/--

P3
'2.1 i:'3~

zp

A53

A33 j 38 j 45

A4.

'Z7 l"'}f--

21'" '21 2~~

A 3"',41

74L5¢4

44¢

74\<110

Awl S 7

14L5¢8

422

74LSt¢

A58

142B

"5

74LS3¢

A3Co.J5121

74lS32

A34

7435
74574

["1'"[" ["[34f-

A4Z)1D4

"5

GND~

A37,43,44 Jla3

P.

GND

B

1

A'5

II
74
7
74
74
74S74

~

aND~

74LS'32

1

,

,.

A

2
2
2
1

Al,~-5

l

A1'}-2tS?,.5515bI5~·fIo'

A 4

I

A%

3
2

74LSO

AC?
440

SPARES

~

P51
A54
1155
A4S
447

-140(0

74LS04
T'tPE

J30

GND,~
NOTE':); IltJLESS

""

R.EF.
CHIP

'\'4"',~2.

74513"

A31 132

4175

5-1\ 1315-]7

AZj 51

74lS3/a7
74LS3foB

14
14
14
14
14
14
14
14

14
14
I.
14

12
8
5
8
8

5

I.
I.
I.

,.

"

,

B

Ib

B

I~

I

n

DESIGNATORS

CONTROLLER tt Z

OTHERWl5E SPECIFIED

l/4w.

. I- '
,rr.

~_NO.-!

03

P7
QI
TPo
40

001
.. 190?~38 01
cc NO, 2
)6.::251

74lS.3fDB
74L53",7
TYPE

2
I

A2
43

REF.

1

1

6

1

s

"51

c45
A.4

't

PoUlTS UST

SIGll.OlUlIE

UNlESS01lfERWlSESPEClflEtl
1 OIMENSIOfIS

~IIE

IN 1NCH£S

2. BREAK ALI. SIWl1'EDGfS.

1-34-

l.OO NOT SCAlE_NG.

12-30. AZ.44

"TOtEJWtC£s·

A2.'3-30
"-001461

REF. DESIGNATIONS

4

NElITASSl

In: S5"

ref

SI

aSb

IJSEDOH

-ooJ1D7-85

S~Da

D

~J

ADl-f5
ADic,-85

AJJS-h5
o4D4-55
Ar:.-¢-~5

::;E:B5

I1Dj-RS

:,~BB

ADZ -R5
AD3-55

52:65

:;2C5

A[13-H5

AD2 - 55
IID1-55

AOC>85

5e',

A07U

.,

A!)IbU

P2
48

A()5U

C

P2

I

74lS3h7
3
2

7

-:-lC8

8
I»
.....

I

I

74 LS31u7

10

10

9

~1

9

Al~
74LS3/.,7

4

5

14

j

AG"C

,

1 74~53Jc7

7

14

I

13

A15C
74LS%7

'"_'9 '

""1'5
3

Schematic, 8085 Chip Controller No. UNo. 2 (Sheet 2 of 10)

;'["'I'jU

I

11

~1

~1

§J

74LS307

12

B
PC

13

ABL

,i.D4lJ

I
"

·15

AD2U

P2
44

A01U

I
P2

~

74lS~~1-L1Sf::l1

?S

A

b

~I

~D5-t'l5

ADIo-B5.

P2

4" 5

AlL

~'

r~

74L53h7

RD\JSTfl/

1 -4L53i£17

74lS3t..7

lNSD.£IT/

S lAZ

4" 5

2lC8

P2

." 7

32,

[.2-.£1

4':: 3

~
L~41

1 74l53iD7

~I AIL

~

l02u3

40-1
3"1

"

'0

-'tlD3

AD4-B5

P'

I

74L331n7

\Ol-D3

II

Z
4

PA¢-':>A.7

I

AD¢U

A

o·

'"

7

8

3

4

5

6

,o,v
P7

(Cd /

r~4R74';: 74LS~u,7
1\ p.,s~

.J3CD pc.,

u

7 \ _ _ - -___---''-'-f>--''''----------~~-~ OS

o

o
PC7 e'1"O_ _ _ _ _ _ _ _ _ _~

,t>.,1-Y

vs

A-0-Y

PCGo 11_ _ _ _ _ _ _ _ _ _ _ _

,j~?

'-------~

'{

61 r:..6

c

c

I

i

r'LL f"1"'----1--------,

I

--+--

Ii

PCI ~IC~'--~--------\__------

-----

ILC'MA.P

"J:e.t.

.. IlL-X-

1\17 -X
A.15-)(
p,,1"J- X

B

B

I2D-",/
k:DSl" 1>0. \ /

-jloB
f'-__ LA5

K'DSTp.,"'L/ i,I"'f"
ICL'KI-- /
I 'ZA.B
VI.lk:M;>"P /
") 7. "''0

ICLI1:£/
/

?>

A

>',lD3
del

8

RDVp."
HAUl

~/

_____________________

7

6

-i~--------------------L-~~

5

t

4

~"ZA.'01 "17.c.~

EMeSl/

-::IA'O
'::'1.('1">
Bleb

SIMGLf:. /

6] B5

'=>T;':~T

EM'SEl"/

7~'_;:,10

A

tI.';:,IJ"'"'-----

3

Schematic, 8085 Chip Controller No. lINo. 2 (Sheet 3 of 10)

"oZt...e,

2

."

N

tv

3

4

5

6

7

8

2

-~~

o

0

14L'::>15

r

P3

p",,,, --~+-H++-I-++---c7C-j~
~Q I~
3 20
I~
p", ===~t:I=t+:j::j~="'?-1'3D
PA4

.n D?

P" ,
P" 2
PA 1

P"

-t+~~;'-tZ D ZQ -_-=--=--=--=--=--=--=--=--=--=--=--=-~~':.-=--=-';i7'-1'D h h 'Q ~; 4D ~ A.D~l-X &; n 74l':l%7f-,? A. t') I ~7ic-+~~~~~~~~~~~ I Go ADR4- X. ; ~D~~--~ ~ ~~ '9 D I 81 ~~ll 14 ~Io 1':f"'3~t-=-==================-=~ ~ _~-~_---=-ITr:;~~Wl~it ~~~~~~~__~~~~EN~~ ~ f-;3~======================::j 7P-'DR..'=>-X 2 -'fQ' B: AI2 ALE 74l'J~{"1f-;';'?'---~~~~~~_________~~~~~~~~__ l'l A,I I r"~~~~~~~~~~~~~~~~~~~~~~-i e. A.OK'.G.-X 'ZQ C oZBl 14 <) " --------oJ c A.D~?-X A,DRI- X. ""-BS} P-..1?-eS M~-BS n 5b A.14-B5 j PI A.lo:,-el3 '" AI~-8~ B FI(OM 5.0BI? l'HIP -'0 14L'3%7 Nl0 17 " P,,1'Z.-t':I~ 3'" NI-.55 [?D- ": I I I AC] - ~S PI'O-B'3> [CJ AV£:IS-X ~ ADR'14-K I" A.DI<13-X. 14 A.Oe.I'Z-X I"') ~D~II-X "W 17 P-..DRI/lJ-X I¢ '" 1,1') I , A.DR.5 -X B TO DMA. ("~7 I. I I -- 3 A7'" 4 ~ AI0-B'? P3 14~1~ 7 77 A14- Eb A,\S-e'? Ct-\P"t>J~E.t.( C 7 ~p.",DR,,)-X. I 7 @ 14 ~ 'I P4 ill 14~~7 II~ ",. '" 15 7 7 ----ill A '" rn 1'.9 -v 1'.8 -v "'f]) -v "" -v-v An '" "')-v-v AI4 -IT! '" 8 7 6 5 4 3 Schematic, 8085 Chip Controller No. UNo. 2 (Sheet 4 of 10) 2 A 7 8 6 5 4 3 A.D7-B 5 21D~ 0 DA.T7-X o @ p" 14L':;'~(D7 A.DCIJ- B5 2LD'? 74L'S"3w7 "'" 0,1:1...1(,,-'1.... 4 S {O 1 P~ AD5- 21D~ DATI5-X ""~ p~ C c "'-04- 5S 22D~ DAT4-X ~ PO "':'-ZD~ AO~- DJI,.1~-X l':'LS~Col "" 14l,.T2- "''' x.. ~ P? 8 8 p."QI-'O 22..D3 DA."TI-X . " 14L"j?v,1 1. ~ '0 74l,?~(,,7 114 r-- I";> P" 'l-L D"':l .l\D.0DPl.TQ5-X 9z.c\ 1.'0\ SLA.'5 c ALE I AeKWOR. IOLAe, .-+----------------------------------------------------------------- f:EA.D'1'- U 101 '01 Dr2I-Y 1011>..'0 Ol-Y 101.""'0 REI\DY-U ~jPI 31 AI B I::\1C\ 5·'''JGlE / D'2-Y 101"'5 D~-Y I()l A.B 04-Y 101 bB D~-Y IOZE;>B B lNS~DV ~lE 6lbl 8leL IO'lCI SYUC.I I01~1 '::'\/fljC(l} IE~')TEP J7GJ ~1.CI lQ/M 81AI RuSH\\ / 9lDf '3'/j-v ::, I-V HLDA. 9lUI 91C-1 A @J ~D" --l2DI 511:::11" ~f.'7ETIt\l-55f IOlD1 5'1'N~K/ 52,0.,,1 II\JTf>... 71.BI TRAP-" 7 ;.~K \1 PI RST7.5 "U ,(., ~ P':I J~1j lID 1tJ. ~ S 74lSB(c. PI( ~ D'4lS74Gl. eLK A.t.3 P1 Te..P.P-U 12 Q~ ~ ~D Q" Y'':l J3S 10 II If) P'-< 11 14L,=,5Ct> PR. 14l':>14 ~~ID I 14L-<;'e,(o lGl.1(.D ~~~ CUe S~ A44 J)') PS P'Z -00 RST7.5 - ~ 1,11; l4LS,; "47 ~'''' B - ~lD ~ P2 P5 1JL '20 ..;~s ~~ ,'" IT 10 12 1. :2. A.I 3Z.C I 14lSM '" i---,,"~ p~ ? RST5.5 RSTb.~ '.;,LCI 8 -u .- " A 11 Ie LRCVT I -u ~ I~NO"'EI .ILU,;:CU T/ 7 6 5 - e.~ /3 RsU.·5 - ~ J~':l p~ 1 '''' ~ -@] RSTS.s- ~ ~ P2 IJIJTR- U " ~ I , i IMSTEP. P A P'Z oe 11 eLK T lC'.Lk:J/ '" 14L':l(2!5 ~'O ~D14LSlllQ~ A~4 B 10 ~ 5 B5 4 3 Schematic, 8085 Chip Controller No. lINo. 2 (Sheet 7 of 10) 2 el.AB 14LS~u.~ 14 I~ ?2 R..D-'C.S/ 3 4 5 6 7 8 l 74 ~ ~DVA A'l 1 74l5'?CD7 ' 5 _ , . . 70 ,---------------------------n 2 - TlM5 SEE SHEET I i::.D-V we-v P2 L-__+-~14~~'~~--r-~-------------------------,_~~~-------~P~4------------------------------------~~~'0~ Pl.':! IS J~u. Pet, I 14LS\~ '<7 '--p3 0 n W"-~ 13!l/ 7'" r~~7~~~l?iO~"'~I~~I+_--_+--+_--_+_1~~----------~r~~~----'-~-'-~~------_-_-_-~-~L--~--~~rl~~1~2----------~~------~41A---------------------1~S l p\7 -C 7'4L,":>~(l,7 9Z 51 u'SH~.Nl1D / _ A..41 ~ PCtl .J3fo 1'214l'?07 1 13 L------~~,~1S~~----------~------1-------------------------4__t----------------r---------------~DVA I I DE) L - - + - - - -_ _~S AAB ,-------------t--+-------------+--+--------'------ EMULA/ 5 LA.e.,IOZCt" .-----------t--+--------------+--+------------- eMULP>. 19 7A'O j~~ c ~r---------1_--~-~+---__. +-__-'1 IEll'5TEP ___________________________________________________ EM"'5ET / Ev.ULl:>..ilm.l FF IEMUL x./ ~t--'----------~7,~,~~ T "!:;A."l \ I 3 "I.e. L RD- W~-U/ lL-______~_+~~-+-1-----~~J~~SIJ~~JS~~-------------------------------------_+~r------________~---------------- ~OPRW ~LAB l1i~~~ ;,«, ;'7..~f.::, WR-X/ ---------1--------t---+-t--t---t--------=--:::-::--+---------------------' '~~ 3l!..:Z ~p-''''-----------+--.----~:'''~Iv------------------------1'33 '::> o p~ ""1.r? L~T~ ~"~,{;~I~I=--_+--+_~_t=4==============t===================~=======-------------~~~----~~-----________________~'2f>n 14LS%5 c ~L Slel 14LSe')4 RO-U/ J~c.. Pc.. ~ " ?~S. ... 74L'::.~ PI '=> ~rt-II--;4h>A~",:}'",---CD----+----I------~'24 ':1f<:1LS.~'l ,b.,LE.-U -------------------------------------~~~~ D~514QI~~~~~~0q~~~~6 ----{~~ 4 74LS~17. F4---t~~sy."'~.§"'--I--I--+---------.J &L", CLi.' I B B ~s~ PI ~ ~ESE1a..i-SS/ A A 8 7 6 5 4 3 Schematic, 8085 Chip Controller No. UNo. 2 (Sheet 8 of 10) 2 1 --- 2 3 4 5 6 7 8 - 14L-'?3(o7 40~--------~~~----------------------------------~------_'_j "I PZ D ~\-~ 81. ~ I SEE SHEET \ \'2 P'Z ~0-0~ IBr-------~~t;r~~--------------------------------~------_'_j "I RE ?ETHJ-B'=:I! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ALE / ~lA\ \ClR~/--------------------------------------------------------------------------------------------~ PI HlDA-55 P'? J~S 74 LS'?..I?:J-'e~ ~ ':~~io7 ~ A..I \ .. fi;< 0'''' ~~CSI 6~ rz 14 '2:>1j 74L-:,~(j,7 f'1~1+-IH-+t-----~--11 A.\~11ZI7 \~ p.., ICD 'Z ~ L,,--J CI I IS /l..? ~C?~ 1 P-"ll..- TIS llQMP\P IO-V '1V~4~ I:~: DOUTp="'-------1--t---~~~ ~~COr--- -"-."-"-~---------------------------- U~E.RMIQ/ <;, 10 P4 47 ~------------------------------~1~------~~~~----~~~~~~:~ 41[:2 ~1 £eo L---~¥r------------------~~4 I~ ~ 8 c USERM10 MA.P ~P.l ~ A0 ___ L----------------r---------------------------- uSE£M1DI BleB pc., -+___________________________'_jl e! L -________________ SIAB,01CB, 101 iA IOl e>f':l DIU WE ""15 0'5- Po.. 04- F\ D~- po. IOl03 0'2-""'" 1'--" 4 ~ ::===:j:::===========~74L'i?i'L,7 ~ ------H-----------------------~"'~ ~II -------+----------------------~I~~ ZG 75 Ol-A, 00-A, - ~ ~ P5 J",)r:, 1'2 II ====t==========::t=:,-;4~74lS~(j,7 WI~'===~ '9 A A D7-,A,. V\.l~MW/ ~ ::========~DITI}=============~ ~ I1\11.c>.. 8 7 6 5 4 3 Schematic, 8085 Chip Controller No. lINo. 2 (Sheet 9 of 10) 2 a I PO 07-Y I 7 74L"!.3Ci:>7 IS I~ 14 1::1 '5 P7 D5-Y0---- - 10 ~r, I ~lS f P7 <4 L!..0" D3-Y C I P1 D7-Y ... P7 Il0-Y B A.r;,Cb r " 14 '" I~ 1"'-1'>7 11~IA411"[A?" ~ 74l&;'04 31'07 ~.~K IlD-tV e4Z '4, ~_3K 3.~J::: PR ~ D):lLS'J4 z 14L<;el1 ' I 'SV I , "'2lCB,9z.,o..,e:, ~DI-~ 1 Ct:l , 91.a..~ ~Dl-' IC5,'2e.e> We /lDO,91BB ~O~-" -::'ID5 --'.1 DO ,"12to..6 ' - - - 01-" en 1 -- A"'~ ~ "" ~6 ~ ~")'j i e~5 ~."::lK 14~e 4 d ~b '§ 'SY}.le;,K/ Dl f'..:2. '4LS~'" f-- \~ ~ STOPIT/,,--,~CB CIl r '0 1-l rr? ~ ~~ !;:\Il.ULb.1 c·le 1 C 7439 ~~ n t,'",,· (,l~e • BB ~ ~ ~_~K 17 ~ H-2 ~ ~YI\lC\ \I • ' ·1e>e . J3" ~J4'" +sv 7)~1 I+- ~J'7 +,v R% I CH~-rt- 1----1 --- --0 7AL~!Zli2') I-Z M'j SEE SHEET I ,sv 14L~i2' 2 14l S(ZIel I o ~, P£SClllPtlOH 1-1 14L5~~ 1 145Q1fll 1A5~ c, IS 1\4;~ -':ID5,91e:.B ~JS-" 74501Z1 I ~D3-'" I I 2 lC5 ,qZf,B ~D4-" ~ S Q ~lit I'" ,., ~ I 3 DIll-I'\ Ie, ~4 "41 I~ ~ n~ 1,," " ~ "" " 10 ~I? 4 ') I '" 1'"-1'>" \SL~ I I~I P, Ol-Y ,e,v Il,) en 'lz~ SI ... "" ~ I~~ 12,,11 11 I .~ +sv ~[)G,JI.. I~ '~b _" [,4 P7 04-Y 14 r--. ~15 -I " W P'c.. 4 ~D~-" I 17 '" II Dlc-'( 1\ 14Lo;%7 J~u. . 5 Dl-A IS~'Z P7 0 ze 11 I 6 li':'EA.VV-U '''4 (,ZCi 3.~K ~ClKC.llL~ D7-Y ble:.1 - tDtICI D3>-Y 3108/ "zel D'2-Y ~1B~,6Z.CI DI-Y "ICI D.0-Y 3"1.1>.."2 A I~ 3D 4D 'lD blbl DCtl-y !bIer D,)-Y "Z~I D4-Y ~~L 'f~ lU~Ii!/ I ! STQPPP,OC' 'QUI HCJ Y/ ~ L~1D 3D 13 40 5 lD I-- '" ,," 4Q 15 1'Jl 2 ~ClKACJ,.\ [>7 5TOPTe-y l CUTI1OLD/ :--.11>..'0 3Q I? 4Cit-¥1 'lG. '2 ".;> 4 f" 2 3 ~ 11 I:> ~~ ~ P7 ~ EMUlfl. 'CJ A 1'? TIWIDLY-Y ~ ~ SHUT! Of1 D 1'~~l"'7:2"' Itf 1(0235'" 04- i .a Schematic, 8085 Chip Controller No. UNo. 2 (Sheet 10 of 10) I 2 I 1 .- j;:' 7 l-?,?p"" D *-----~ 9r *-------~ II~ *------~~ <--_ _ _ _ _~~ ~ , ______ '" RZ4 ~~ ~ 13 7:t~~14 ~=l8 ) 3 CH 1/ ~~ )4 CH2/(C2C,C) 1!:>- ~ )(0 CH31 (C'27C) 1r;, ~ )5 eH 41 (e2se) [>: 31 1>-,~.~~7 CHS/(CZ~)C) '~I' =~8 ~ --. RG ~. ~- R33 13 1 I I A3 R34 <------~VV\ CH8/(C3'2.C) Cf.\<)/ (C33C) )12 CH \0/ (C~C) )14 CH III (C3r;C) ::: CH IV (c.:.(,C) C CH 13/ (U7e) ~ If, CI-I 14/ (C38C) RI5 ~>--tI~IZ---VA ) 20 CH 151 (09C) RIG ~,---t'12~~~ "'" RI7 <--______~---~3~1--~~-+1~~-- ~ <------~~ O-\~/(C30C) ~--------------}'3 [)c>----tl'''--O--~VA D CI-I7/(C3\C) ~_ _ _ _ _ _ _~)II RI3 <------~"'" )10 1 10 <------~---~~~~~~ ·r-·~:~----"'".,4 "I _ _ _ _____7)B 11'2 VA <------~VV\ case) 51 P" I 9 3 (~R:EC~O~~CJ J2- 112. Rn A2. RIO ______~~~----~5~1~~~~lrG----~VA RII


Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19
Create Date                     : 2015:07:16 17:54:17-08:00
Modify Date                     : 2015:07:16 17:25:42-07:00
Metadata Date                   : 2015:07:16 17:25:42-07:00
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:0a24b28d-0a05-a74e-89f1-5022abc1bd70
Instance ID                     : uuid:ee168b1f-1321-dc40-bc01-46ca46c1248b
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 233
EXIF Metadata provided by EXIF.tools

Navigation menu