
CROMEMCO
Z-l
MONITOR
The
Z-l
Monitor
the
CROMEMCO
It
includes
make a
of
binary
CROMEMCO
Transfer
the
contents
encountered
monitor
binary
memory,
paper
keyboard
and
Copyright
makes
Zpu™
executive
or
an
output
tapes,
BYTESAVER.
of
control
with
of
the
during
the
a
up
ZPU
contents
lK
it
possible
from
execution,
a
terminal
commands
ASCII dump
byte
and
to
registers
a
to
of
program
program
five
of
1976
data
all
by
Version
to
to
examine
of
memory, move
to
2708
in
breakpoints
specified.
control
22
CROMEMCO
control
keyboard.
and
any
port,
and
2704
memory
set
When
is
transferred
ZPU
registers
computers
change
and
read
proms
can
be
and
a
which
memory,
compare
and
write
using
commanded
with
breakpoint
are
the
back
stored
use
blocks
the
from
initial
is
to
the
and
displayed.
before
The
Z-l
For
example,
a
RAM
board
it
finds
its
stack
bytes
The
accept
and
longer
for
of
monitor
last
their
These
execution
Monitor
the
at
a
the
highest
and
temporary
this
command
characters
expressions
page
is
words
brevity.
also
register
of
was
monitor
special
should
for
For
the
program
designed
does
place
page
storage
flexible
of
any
typed
their
example,
values
to
of
RAM
be
reserved
in
length,
in.
mnemonic
not
in
This
can
is
be
require
memory
active
area
its
any
be
resumed.
flexible
in
there.
for
command
but
it
allows
value
of
the
examined
as
well
the
user
for
its
the
machine
(The
system
format.
only
the
use
or
shorter
following
and
to
own
top
use.)
looks
of
changed.
as
powerful.
address
use.
and
4AH
It
will
at
the
either
expressions
Rather,
places
or
74
first

-4-
When
last
If
a
the
I?'
a two
two
monitor
is
digit
digits
printed
Any command may
monitor
depressing
SHIFT-K.
Two
commands,
temporary
of
active
When
is
cautions
the
computer
requesting
ESCAPE.
For
should
be
careful
storage
RAM
number,
typed
detects
followed
be
aborted
most
other
area
installed
is
are
further
For
be
not
reset,
such
retained.
an
error
by
from
teletypes
terminals
noted.
to
which
in
the
as
a
condition,
the
prompt
the
input,
ESCAPE
when
overwrite
resides
machine.
the
monitor
data
byte
keyboard
or
during
it
is
using
the
in
the
is
is
the
I:'
for
either
is
the
CONTROL
the
MOV
system
upper
also
entered,
command
the
next
when
print-out,
same
as
SEMI-COLON.
or
the
stack
4AH
or
reset.
only
is
aborted,
command.
the
by
CONTROL-
PRGM
and
72
bytes
If
a
the
user
these
by
the
The
program
breakpoints
hand.
user
monitor
Status
Available
Buffer
(The
program
flags
Flag
Empty
is
executing
normal
code
assumes
are
transmitted
is
flag
will
that
on
is
at
remain
procedure
whenever
data
bit
6
on
bit
of
7
the
in
is
a
transfer
over
input
of
time
the
for
with
user
the
breakpoint
occurs
input
port
port
input
port
breakpoints
program
monitor
is
on
O.
O.
The
o.
until
to
restore
executed.)
I/O
port
The
Data
Transmitter
set,
removed
1.
then

4.
GO/
(bpI)
(Bp2)
•••
-6-
(CR)
5.
Resumes
BpI,
GO
Bp2,
(Addr)/(Bpl)
Begins
All
breakpoints
from
MOV
Move
a
(Start)
(MV)
ending
verifies
result
errors
this
print-out
execution
....
execution
breakpoint.
(Stop)
the
contents
with
in
after
that
a
Stop
source
print-out
certain
(Up
(Bp2)
at
are
to
can
at
the
location
to
5
breakpoints
..•
(CR)
Addr
with
cleared
(Destination)
of
memory
Destination.
and
destination
of
discrepancies
types
be
terminated
the
upon
of
overlapping
of
PC
may
indicated
re-entry
(CR)
beginning
After
are
which
by
depressing
with
be
of
the
the
moves.
set.)
with
move,
breakpoints
breakpoints
the
monitor
Start
the
same.
are
This
not
However,
ESCAPE.
set
set.
and
monitor
will
really
6.
The
a
constant.
lao.
100,
Care
which
OUT
Output
MOV
and
and
should
resides
(Data
command
100,
then
be
Byte)
(OT)
Data
can
For
example,
use
the
move 100
MOV
taken
in
the
(Port)
Byte
be
8B8M
100
not
upper
to
used
to
command
through
laC
to
4AH
Port.
to
fill
enter
to
10C
101
overwrite
or
74
One
a
block
zeros
enter
to
101:
the
bytes
use
between
a
system
of
of
this
of
at
active
memory
locations
location
stack
command
with
RAM.
is

to
is
and
select
first
turns
banks
entered
off
all
on
CROMEMCO
on
power-up
other
-7-
memory
memory
or
banks.
boards.
reset,
it
When
selects
the
bank
monitor
0
7.
Either
serves
output
For
PRGM
a
software
to
a
byte
example,
(Source)
change
with
Bank
the
(Source-end)
output
the
bank
bit
0
1
2
3
4
5
6
7
following
OUT
10
or
selection.
n
high.
40
a
monitor
Output
01
02
04
08
10
20
40
80
command
selects
(Destination)
output
To
select
byte
to
bank
port
bank
4
40
n
hex
8.
Program
beginning
If
the
decimal)
boundary,
of
400H
READ
Read
in
(Start)
(RD)
memory
(PM)
at
length
or
the
end
input
beginning
from
Source
Destination.
of
the
if
the
destination
monitor
in
000,
(Stop)
from
source
will
400,
(CR)
paper
at
through
800,
Start.
is
reject
or
tape
Source-end
not
a
does
not
the
COO.)
reader
multiple
begin
command.
or
console
into
of
at
proms
400H
(1024
a 400H
(Multiples
and
store

-10-
EOOO
EOOO
SOOO
EOOO
EOOO
EOOO
EOOO
EDOO
EOOO
EOOO
EOOO
EGaO
EI.IOO
EOOO
EOOO
EOOO
EOOO
EOGO
EOOO
EOOO
EOOO
EOOG
EOOO
EOOO
EOoo
EOOO
EOOO
E000
EOIO
EOOO
EOOI
EO.OO
EOOO
EOGO
EOOO
EOOO
Eooa
EOOO
EQOO
EOQQ
EMO
EOOO
Eooa
Eeoo
EOOG
EOCO
EDna
EOQO
CROMEMCO
0005 *
lOO6PPAGE
0007 * A
0010
.0015
.0016
000
0020
0025
.0030
.0035 LF
.0040
,0045
D050
0055
0060
0065
00'70
.0075 *
I 7
PSW
SP
PF
R2F
BELL
ESC
CR
STAT
DAV
TBE
DATA
TEMPS
RSTLC
CASE
0080 *
0085 JR
0090
0095
OlOO
0105
01
011.5
0120
0125
OJ30
0135
Ja
JRC
JRNC
JRZ
JRNZ
DJNZ
EXAF
EXX
RLD
RLDI
CPI
8140 CPII
0145
CPIR
0150 CPIRI
0155
LOI
0160 LOll
0165
0170
0115
0180
0185
0190
0195
0200
0205
0210
0215
6220
LOIR
LOIRI
LOO
LOOI
LDDR
LOORI
SET5A
ST5AI
'*
IX
IV
*
Z-l
PAIR
Z80
MONITOR
EOU
OF
EOU
Eeu
SOU
EQU
EOU
SOU
EOU
EQU
EOU
EQU
EOU
EQU
EOU
EOU
EOU
OP-COOES
EQU
EQU
EOU
EOU
EOU
EOU
EOU
EOU
EOU
EOU
EOU
EOU
EQU
EOU
EOU
EOU
EQU
EQU
EQU
EOU
EOU
EOU
EOU
EOU
Eau
eQU
SOURCE
OEIH
NON-RAM
6
6
BOH
-40H
07
J
BH
ODH
OAH
o
40H
BOH
I
16H
30H
20H
ISH
3SH
30H
28H
21H
10H
08
OD9H
aEOH
6FH
OEOH
OAIH
OEOH
OBlH
oEDH
tAOH
OEOH
IBOH
oeOH
GA8H
OEDH
DBSH
OCBH
OEFH
800H
OFDH
LISTING
'MUST
BE
PAGES.
,PRIME-ABLE
'2-BYTE
'ROOM
,RST
'DIFF
,ex
REG
FOR
LOCATION
BETW
AF
,AF"
THE
REG
FLAG
TEMP
LO~ER
HIGHER
FLAG
STORAGE
&
OF
UPPER
CA

-12-
E022
E022
E022
E024
E027
E029
E02C
E020
E02E
E02E
8031
E034
E034
E035
E036
3E
CD
3E
C4
20
F4
21
CD
18
.66
E036
E036 03
E038
E036
E03E
E040
8042
E043
CD
CD
E6
FE
C9
E043
E04'"
EOl3
E043
8143
E043
E043
E044 28
E045
E046
E046
E047
E04A
E048
E04C
E04(.;
E040
E04E
E04F
E050
E050
E050
E050
E053
E054
E055 34
E056
E057
1:058
E3
E3
E5
21
39
E3
F5
C5
D5
E5
2.1
25
7E
BE
2d
FA
08
36
F4
36
94
OC
00
41
41
7F
00
04
E9
EO
EO
E3
E2
EI
El
00
00
u500 *
0505
0510
0515
0520
.0525
0537
0538
0540
0545
0550
0555
056(9
0565
0566
O~67
0568
0569
0570
0571
SET
*
INI!I
*
*
*
*
BAUD
0572
0513
0515
0580 •
0585 *
0590 *
*
ENTER
SAVE
0595 * SP,
0600 * &
J605
0610
*
SVMS
0615
0620
u625 *
0630
0635
0640
0645
0650
0655
0660
0665
0670
*
0675 *
0680 *
FIND
0685 *
0690
0695
SVMS
0710
0715
0720
0725
0730
BAUD
RATE
MVI
CALL.
MVI
CNZ
DB
DB
LXI
CALL
DB
DB
OUT
CALL
CALL
ANI
CPI
RET
MON
ITOR
MACH.INE
FINDS
S~ITCHES
THE
XTHL
DCX
XTHL
PUSH
LXI
DAD
XTHL
PUSH
PUSH
PUSH
PUSH
SYS
STACK
LXI
OCR
I
MOV
INR
CMP
DB
DB
A,006H
,300
BAUD
A,OF4H
'110
BAUD
JRNZ
INITI-$-I
H,HEAD
'HEADING
PMSG
JR
CMND-$-1
STAT
'SET
BAUD
GBYTE
GBYTE
7FH
CR
FR()~
STATE.
TOP
fHE
I
H
H
H,4
SP
PSW
B
D
H
AGAIN
ICAN
IREAD
IA
BRKPT
OF
STACK
ADJUST
ITO
CR?
SAVES
RAM
THERE.
BRKPT
'SAVE
I
USP
STACK
,UAF
,UBC
,UDE
,UHL
H,OOFFH-TEMPS
H
A,M
M
let
IDECRM
'DID
JRZ
SV'MSI-$-l
BAUD
BAUD
RATE
WE
ALL
REGS
INSTALLEDINMACHINE
RET
(USER-SP)
PAGE
MEM
IT
CHANGE?
~n""'L.oIJ&Ju"v
AODR
' .

-15-
EOB~
EOSC
EOBi..::
EOSC
EOBC
EOSe
EOBF
EOCO
EOCl
EOC2
EOCS
EOC6
CD
DO
E5
EI
II
19
F9
EOCI18
EOC8
03
EOC9
EOC9
EOC9
EOC9
EOC9
EOC9
EOC9
EOC9
EOCB
EO.cc.
06
CS
CD
E'CF F5
EODa
EODI
EOD3
EOD~
EODS
EOD6
E007
EoDA
EODB
EOOO
EeDE
EODf
78
E6
BI
20
E6
FI
CD
7A
E6
83
20
DC
EOEO
EoEO
EOEJ
EOE2
EClE3
EOE6
EOE7
EOEA
EOEB
l::OEC
EOED
Fl
F5
C5
,0100
CS
CD
CI
EJ
B7
ED
EO£E42
cOEF
EOFO
E3
Cl
09
E7
85
70
03
dE
03
S6
E2
FF
EI
El
04
E2
1
~26
*
1427 *
1430 *
1~3S
1440
1445
14S0
1455
1460
1465
J470
ERROR&ESCAPE.
*
POINTING
*
ERROR
ESCPE
CALL
DB
PUSH
POP
LXI
DAD
1475 SPHL
1480
1485
1
~90
1~95
1530 *
1535 *
1.540
1550
1570 *
1575
15dO
1590
1595
1600
1605
1610
615
620
623
625
635
640
645
650
655
660
665
670
1675
1685
1687
*
*
PROGRAM
IS
*
WIDTH
*
PROG
PROOI
*
PROG3
DB
DB
NOT
"'VI
PUSH
CALL
PUSH
MOV
ANI
ORA
DB
DB
POP
CALL
MOV
ANI
ORA
DB
DB
POP
PUSH
PUSH
LXI
PUSH
ON
IS
1690 CALL
1691
1730
1737
J74(')
1745
1750
1755
POP
XTHL
ORA
DB
DB
XTHL
POP
RETURNSTOCMND
TO
SAVED-REG
PSQS
IX
H
H
D,DUHL2-I-DUPC
o
JR
CMND-$-J
PROMS.
A
NOTAt4ULTIPLE
ABORTS
IK
(400H)
B,181
B
LD2N
PSW
1360
'SAVE
'SOURCE
'SAVE
A,B
3
C
JRNZ
ERROR-$-)
PS~
L1
NCR
'LAST
A,D
3
E
JRNZ
ERROR-$-I
PSW
I
PSW
B
B,
1024
B
MVE
B
'SAVE
'RETRIEVE
,INCRM
,RESeT
'SOURCE
B
ITERAT
AREA
'PRINT
'PUSH
IGET
<UHL2).
~
?
IX
NEn
CMND
IF
DESTINATION
BOUNDARY,
OF
IK.
ITERATIONS
*
OF
ITERATIONS
TO
DE,INCRM
LATEST
'IS
INCRM
A
DELIMITER
'SOURCE
'IS
DEST
TO
A
IONS
'INCREMENT
'MOVE
,sac
IT
TO
HL
CY
HL,BC
BACK
'NEW
INCRM
WITH
<BELL>~
SP
SWATH
TO
DELIMITER
MULT
HL,
MULT
TO
DEST
OF
HL
OF
1024?
BC,
102.1
TO
DE

-17-
EI26
6127
6128
EI2B
E12D
EI30
F5
E5
21
FE
CC
EI
EI31 FI
E132
C9
EI33
EI,33
E133
EI33
E
l,33
E133
EI36
1::138
EI3A
CD
E6
FE
38
EI3B e2
E
13C
F6
EI3E
EI3F
EI40
F5
18
D8
EI41
E141
EI41
EI43
EI45
EI46
EI47
EI49
DB
E6
28
FA
DB
C9
EI4A
EI4A
EI4A
EI4A
EI4A
EI4D
EI4E
EI51
CD
2B
CD
28
EL52
EI52
EI52
EI52
EI:52
1::154
3E
18
EI55 B8
EI56
EI56
E156
EI56
E156
3E
EI58
EI58
80
OD
OC
41
7F
41
20
00
40
01
E5
E5
20
OF
E3
E2
EI
El
EI
2020
2025
2030
2035
2040
2045
2050
2055
,,060 *
2065 *
2070 *
2075
2080
2085
20d7
2090
2095
2100
2105
2110
2.112
2115
211 6 *
2-111··*
2118
2119
2120
2121
2122
,_
2123
212·4 *
2J25 *
21JO
2135 *
2140
2145
2150
2155
2160
2165 *
2170 *
217.5
21dO
2185
2190
2195
2200
2205
2210 *
2215
2220
2225 *
PUSH
PUSH
LXI
CPI
CZ
POP
POP
RET
OET
CHARACTER.
*
ALPHA
CHARS
*
J
CALL
ANI
CPI
DB
DB
ORI
PUSH
DB
DB
IN
AN
I
DB
.
DB
IN
RET
CALL
DCX
CALL
DCX
SPACE.
GCHR
GCHR
GBYfE
PRINT2BYTES
*
DECREMENTSHLBY
P2BMS
*
PRINTS
*
SPACE
*
*
*
IF
CKI68
HL
MVI
DB
DB
IS
MVI
A
MULTIPLE
*
PS~
H
H,LFNN
eft
PMSG
H
PSW
RETURNSITIN
TO
LCMER-CASE.
A.
ALTERS F.
GBYTE
7FH
'A"'
JRC
GCHRI-$-I
2CJ>H
PSW
JR
PCHRI-$-I 'PRINT IT
STAT
DAV
JRZ
GBYfE-$-1
DATA
IN
PNM
H
PNM
H
PRESERVES
A,20H
JR
PCHR-$-.I
A,15
'CONVERT
'SAVE
(HL) &
2.
ALTERS
OF
(HL
ALL
16,
THE
A.
DO
TO
CHAR
-
I).
PRESERVES
REGS
PADDR.
CONVERTS
LO~ER-CASSE
OTHERS
BUT
A.

-19-
Ef86 52
EJ87
Elsa
23
44
EI89 40
EI8A
C9
EIBB
EIB8
EI8B
EI8B
EI8B
EISB
EIBB
ElSE
EI8E
CD
EI8E
EI8E
EI8E
EI8E
EIBE
EI8E
ElSE
EI91
EI94
El95
EI96
CD
CO
70·
EB
C9
EI97
EI97
EI97
EI97
E197
El97
EI91
EI97
E
97
E
97
E 97
E
E
E 98
E
E
.98
98
9E
9E
C5
21
CD
CD
E AIDA
E
A4
CD
E
A7
CD
E
AA
78
E
AB
30
E
AC
F7
EJAD
EIAE
CI
C9
EIAF
70
97
67
00
DI
AF
BC
33
AF
EI
51
El
.00
EI
EI
EO
EI
EI
2520
2525
2550
2555
2565
LD2N2
2570 *
2575 *
2580
~5B5
2590 *
*
LOAD3OPERANDS.HLGETS
*
3RD
LOW
2595 *
2600 L03N
2605 *
26JO
(CONTINUE
*
2615 *
£620
2625 *
2630 *
2635 *
2640
2645
*
TRANSFER
1ST
INTI)
FIN1SHES
*
LINCR
2650
2655
2660
2665
2670
*
2675 *
2680 *
2685 *
2690 *
2695 *
2700 *
2115 *
2720
CLEARS
SHIFTS
SPACES.
SHIFT
RETURNS
PRESERVES
*
2730 *
2735
2740
GNHL
GNHLJ
2745 * SIRIP
2750
2700 *
FIRST
27d5
2790
2795
2840
GNHL3
GNHL5
2845
2850
2855
2860
2865
2870
*
DB
INX
MOV
MOV
52H
H
BtH
e,L
RET
OPERAND,BCTHE
BYTE
DIlHT
CALL
DE
WITH
OF
THE
LD2N
BEL()~)
DE
TO
HL.
OF
NUMBERINA.
LO.,
3RD
BYTE
WITHACRLF.
CALL
CALL
MOV
ONHL
SKSGC
A,L
XCHG
RET
.
HL.
IT
FIRST
IF
INTO
ENTeRED
HL.
CHAR
UNTILANON-HEX
WITH
THE
LATTER
B,C,D,E.
PUSH
LXI
LEADING
CALL
CHAR
CALL
JC
CALL
CALL
MOV
DB
DB
POP
B 'SAVE
H,O
SPACES&GET
SKSG
MUSTBEHEX
HEXSH
ERROR
GCHR
HEXSH
A,
B
JRNC
GNHLJ-$-I
B
RET
,N2-NI
'INCLUDE
fSC
GETS
SOURCE,
INCREMENT
OPERAND.
ENTER
WITH
GET
ALSO
'SKIP
'WAIT
WITH
()/W,
MUST
CHAR
TO
SPACES,
FOR
HEX
IGNORES
BE
HEX.
RECEIVED&THEN
IN
A.
'CLEAR
CHAR
IIF
HEX,
,O/W,
'IF
RETRY
HEX
'RESTORE
UF
HEX,
'IF
NON-HEX,
END
THE
DE
&A
THE
SPACE
NUMBBR
A.
A
CR
CHAR
LEADING
CONTINUES
BUFFER
SHIFT
SHIFT
CHAR
CONTINUE
DONE
POINT
INCRM
THE
OR
LOAD
IN"A,
INTO
INTO
HL
HL
HL

-20-
t:IAF
EIAF
EIAF
EIAF
EIAF
E1AF
EIBO
EIB2
EI83
EIB5
EIt:s6
flBts 30
EIB9
EI
EIBC
EIBD
BA
.7
06
08
C6
08
06
03
C6
08
C60A
EIBF
EIBF
EI
BF
CD
EIC2
E
IC5
CD
CD
EICti
E
lea
07
E1C9
29
EICA
EI
CA
B7
EICS
flec
EICD
EleE
EICF
CB
67
C8
23
C9
EIDO
EIOO
EIDO
E1DO
EIDO
EIDO
EIDO
EIDO
AF
EIDJ
EIiJI
EID2
EI05
EI07
E1D8
EID9
-87
CC
FE
28
F9
C9
EIDA
EIDA
E1DA
t:IDA
30
C9
FA
27
1.::8
C8
C8
33
20
EI
EI
EI
EI
2875
28dO
288,.
2890
2895
2900
2905
2910
2915
2920
2925
2930
2935
*
*
IF
INTO
*
ORIG
*
HEXSH
29.0
2945
2950
29.55 * THE
2960
2965
2910
2975
2980
2985
299Q
2995
3000
3,005
3010
3015
3020
HXSHO
*
(THE
HXSH.
*
HXSH
CLEAR
*
3025
3030
3035
30.0
3045
3050
3055 *
3060
3065
3070
3075
3"'80
30d5
*
*
*
RETURNS
*
IF
*
OR
NON-SPACE
*
SKSGO
*
SKSG
SKSGI
3090
3095
3100
3105
31 J0 *
3330
3.335 *
*
*
A
CONTAINS
HL.
INAl
MOV
SUI
IF
CHAR
HEX
NOT
IN
RC
ADI
, (}'-'G"-CASE
Re
SUI
DB
DB
ADI
HC
D~
A-REG
HIGH-ORDERNIBBlE
CAll
CALL
CALL
1
RLC
DAD
CY
ORA
DB
DB
RZ
INX
RET
ENTERED
A
SPACE,
XRA
ORA
CZ
CPI
DB
DB
RET
'A'-'G'
JRNC 10K
HXSH0-S-1
'A'-'9
OAC6H
NOW
CONTAINS
HXSH
HXSHI
HXSH
H
CASE
IN
A
OCBH
67H
H
WITHANON-SPACEINTHE
~ITH
GETS
OCCURS.
A
A
GCHR
20H
JRZ
SKSGJ-$-l
CHAR,
HEX.
a
J
-)+CASE
lAD!
1
I
'SHIFT
OF
RET
A-REG
NE~
ALTERS
RET
I <
SHIFTS
wITH
'0'1
IF
CY
,.-
BINARY
SET.
"A'
;9"+I-"OJ
THE
HEX
OF
ISH
1FT.
INTO
ISH1FT
FROM
IBIT
I
IS
IT
A
lEFT
4,A
01
DIGIT
IS
0.)
BITS
BIT
HEXSH
IN
INTO
4
A-REG.
CONTAININGANU.LL
CHARS
UNTIL
FIRST
AF.
ISTART
'DOES
~ITH
A
CONTAIi'4
A
NULL
NULL?
;SPACE?
EOUIVAlE
SAVES
BINARY:
Hl

-23-
6232
E232
E233
6234
E235
E238
E239
E23C
1::23F
E240
E243
E244 23
E245
E246
E249 18
E24A
IA
ED
At
C4
28
C4
C4
EB
C4
EB
13
E2
E7
E24B
E248
E24B
1::248
E24B
E24E
CD
3E
E250
E250
E250
E250
E250
E250
E250
E250
E250
E250
E251
E252
E253
31
E5
05
C5
E254 F3
E255
E256
E257
E258
E259
E25A
E258
E25B
E25C
E25D
E25E
E25F
E260FO
ED
80
FB
CI
01
EI
3F
38
F3
3D
20
6261
DC
DA
E2
E2
OC
88
01
EI
El
EI
EI
EI
EI
BC.
4JOO *
4105
4110
4115
4120
4125
4130
4135
4140
4145
4150
4155
4160
4165
4170
4175
41dO
4185 *
4190
4195 *
4200
4210
4215 *
*
*
MOVE
IN
VRFY
COMMAND
ALTERS
LDAX
DB
DB
CNZ
DCX
CNZ
CNZ
XCHG
CNZ
XCHG
INX
INX
JPO
DB
DB
CALL
MVI
4220 *
4225 *
4230 *
4235 *
4240 *
4245 *
4250 * &
MOVE
WITH
FROM
ONE
SOURCE
COUNTIN8C.
"HERE
N =
TWICE
INCREMENTS
PRINTS
THE
HL&DE
4255 *
4260
4265
4270 PUSH 0
4275
4280
4285
4290
4295
4300
4305
-4310
4315 *
4320
4325
4330
4335
4340
MVE
MVEI
ITERATION
STC
PUSH
PUSH
DI
DB
DB
EI
POP
POP
POP
CALCULATIONS
CMC
DB
DB
OCR
DB
434508
4350 *
CHECK
RESULT
REGISTERS.
ALL
0
CPI
CPI
CRLF
H
PNHL
PSNM
PSNM
H
o
CRLF
'DESTINATION
'COMPARE
I
'IF
HCPI
, &
, &
, &
'RESTORE
'NEXT
'IF
NOT
INCRMS
PRINT
SOURCE
DEST
DEST
BC•O.
SAME,
JR
VRFY-$-I
LD3N
A,
I "
H)PERANDS
OF
ITERATIONS
LOCATIONTOANOTHER.
ADDRINHL,
THE
MOVE
THE
BY
E,RRORS
'CY
H
DEST
IS
ITERATEDNTIMES,
CONTENl:S
Be.
CHECKS
FOUND.
IS
USED
'SOURCE
IN
OF
'OEST
B
LDIR
'BYTE
'FOR
'ONE
COUNT
PROM
ITERATION
LDIRI
B
D
H
JRC
MVE1-$-1
A
JRNZ
MVE-l-$-I
TO
SOURCE
CRLF
HL)
SOURCE
CONTENTS
ADDR
CONTENTS
HL
FOR
CPI
DONE
ENTER
DE,
BYTE
A,
LESS
ONE.
RESULT
IN
ITERATION
PROGRAMMING
COU

-26-
E2.cc
E2CF
E200
E201
E202
E203
E2D4
E2D5
E!06
21
39
ED
B8
EB
7E
34
BE
28
E207 03
E208
E2D8
E2D9
E2DA
35
F9
33
E2DB
E2DB
E20C
t:2DO
E20E
E2DF
01
(;1
F1
EI
C9
t:2EO
E2EO
62EO
E2EO
E2EO
E2EO
1:£2EO
E2EO
E2EO
E2EO
E2EO
E2E3
E2E4
E2E5
1:£2E6
E2E7
c2E8
J£2EB
E2EO
E2FO
E2F3
E2F5
E2Fd
E2F9
E2FA
E2FB
E2FE
E2FF
E300
E3.00
CD
CB
70
28
04
28
CD
3E
CO
CD
FE
CC
28
08
E6
CD
EB
73
CB
09
E2
E5
2E
OE
33
2E
OE
97
00
EI
El
EI
EI
E1
El
4800
4805
4810
4815
4820
4825
4830
4835
4840
4<:345
4850
4855
4860
4865
4d.66 *
4870
4875
4880
4885
4890
4891 *
4900
4905
49
10 *
4915
4920
4925
4930
4935
-4940*
4945
4950
4,955
4960
4965
4910
4975
4980
4985
4990
4995
5000
5005
5007
5010
5015
5020
5025
5035
5u40
LXI
DAD
DB
DB
XCHG
NOV
INR
CMP
DB
DB
*
OCR
SPHL
INX
RETN2
POP
POP
POP
POP
RET
*
ENTER
*
THE
PR
*
2-BYTE
*
WRITESEINTO
*
RETURNS
*
CATED
*
PRESERVES
GSUBV
2-BYTE
INTS
CALL
DB
DB
DB
DB
WITti HL
SPACE,
REGS,
(BY A
DCX
CALL
GSBI/
1
MVI
CALL
CALL
cPt
CZ
DB
DB
XCHG
CALL
XCHG
MOV
THE
*
FOLLOr'f
DB
H,9
SP
LDDR
LDDRt
A,M
M
M
JRZ
RETN2-S-1
M
5P
D
B
PS~
H
POI.iTING
REG
FLAG.
CONTENT.S
GETS
(HL)
WITH
Z-FLAG
LACK
B~,HL.
PSNM
OCBH
70H
JRZ
GSBVI-$-I
H 'YES,
PNM
A,'
.;
PCHR
GCHR
'.'
PCHR
JRZ
GS8112-$-1
GNHL
M.E
ING
TEST
OCBH
'TRANSFER
In)
USER
'IS
(USER
'DID
'YES.
'CHANGE
'CORRECT
IT
CHANGE?
RESTORE
TO
FOR
IOTHERWISE,
TO
MEMORY
OF
(HL) &
SUBSTITUTION
OR
(HL-J)
OF
RESET
'.~)
'PRINT
I
FOR
FF
'BIT 6,B
'2-BYTE
PRINT
'LO
BYTE
'SUBSTITUTION?
'IF
NOT,
'NEA
I
'LOAD
IS
IBIT
TO
FOR
VALUE
DE
MEM
SBSR
6,8
upe
STACK
SP
-
IT.
USER
LDDR
CONTINUE
& B
ALSO
VALUE
FOR
2-BYTE
A
CHANGE
A 2-BYTE
(HL)
REG?
PRINT
THRU
J)
STA~K
UHL,
RAM?
EXTRA
CONTAh-.IN
(HL-I)
INTO
REGS.
IS
REG.
ANOTHER
L
OCR
SYS
F
DE,
IND! .

-27-
E301 10
E302 23
E303
E304
E304
E304
E304
E304
E304
E304
E304
E304
E304
E304
E304
E304
E304
E304
E304
E305
E30 I
E308 28
E309
E30A
E30A
E30D
E30F
E30F
i:30F
E312
E314
E317
E318 F4
E319
E319
E31C
E31F
E320 42
E321
E322
E323
E324
E325
1:.£326
E328 28
E329 07
E32A
E32C
E32F
E33J
E331
C9
78
FE
19
OF
CD
06 00
CD
3E
CD
18
CDIA
21
19
CB
7E
2d
OC
19
FE
FE
C2
06
7E
12
97
EO
07
58
E7
20
27
Be
OE
EI
E2
E1
E2
E3
EO
5045
5050
5052
5055
5060
5061 *
5062
5065
5070
5072
5073
5075
50dO *
=>085
5090
5095
5100
5105
5 I 10
5115
5.111
5120
5125
5130
5135
5140
5145 *
5150
5
1.55
5160
5165
5170
5175
5180 *
5185
5190
5195
5200
5205
5210
5215
5220
5225
5230
52.J5
5240
5245
5250
5265
5.•00
5275
GSBII2
*
*
COMMAND
*
*
SM
<ADDR>
*
*
COMMAND
*
*
SR
<REGISTER
REGISTER
*
*
*
*
*
SUBST
*
SBSM
SBSMI
PRINT
*
PRINT
SBSR
*
SBSRJ
DB
INX
RET
NAMES'
MOV
CPI
MO'II
DB
DB
CALL
MVI
CURRENT
IT
IF
CALL
M'III
CALL
DB
DB
CAll
LXI
DAD
MOV
DB
DB
DB
DB
MOV
CPI
DB
DB
CPI
JNZ
MV!
JAOV
10H'
H
SUBSfITUTE
NAME>
'2-
BYTe
MEW>RY
SUBSTITUTE
P (PC>, S (SP>,
A,
F,
a,
e,
I,
T
(I
FF
>,
A"
,F'"
,B" ,C"
A,B
'R,'+CASE
ILAST
ISR?
CMND
A,e 'DELIMITER
JRZ
SBSR-$-I
GNHL
B,O
VALuE,
IHL
IREG
FLAGS
REQUEST
GETS
GIVEN
GSUBV
18
A,7
CKBND
JR
ENTRIES
SBSM1-$-1
GCMND
IDE
GETS
H.RGTBL
o
B,D
OCBH
7EH
JRZ
IPNTS
,0
'SIT
fA
TO
..
0
7,CHL)
THRU
SBSRI-$-J
Ate
20H
ILAST
'SPACE?
CMND
JRZ
SBSR·t-$·-1
".,,,,
IPRIMED?
ERROR
B,DUAF-DUAF2
A.M
IYES
IDISPLACEMENT
REG?
LOCATION.
USER
D,
E.
x
(I
X
>,
,D'"
.E"
,H'"
CHAR
ADDR
NE~
VALUE
PER
LETTER
REG
L?
DELIMITER
REGISTER
H.
L.
Y(IY) ,
,L".
&
LINE
- 'A"
DISPLACeMENT
A
~rAr,~

-28-
E332
E333
E336E6
E338 80
E339
E33A
E.33B
E33C
E330 El
E33E
E33F52
E340
E340
E340
E340
E343
E344
E345 72
E346
E349 18
E34A
E348
E34B
E34B
E34C
E34E 79
E34F
EJ:b2
E352
87
CA
SF
46
DO
E5
ED
CD
2d
OJ
CO
CE
78
FE
CA
E352
E352
E352
E3.52
EJ52
E355
E355
E356
E359
E35C 23
E35D
E35E
E35F
E360
E363
E366 J8
E367
CD
EB
CD
CD
OB
70
B1
CA
CD
FI
E368
E368
E368
E368
BC
EO
1F
EO
E2
52
E.I
72
fS
EO
64 El
50
EI
E2
EI
OC
EI
56 EI
52]1
5278
5200
52d5
5290
5295
5300
5305
5310
5315
5317
5320
5325
5330
5335
5340
5345
5350
5355
5360
5365
5370
5371
5372
5373
5374
5375
5377
537.9 *
5380 *
PR
*
VALUE,
*
Z-FLAG
*
SBSR3
*
*
OI-SPL
*
COMMAND
5381 *
5390
*
DISPLAY
5395 *
5400
5405 *
5410
5415
5420
5425
54JO
5435
5440
5445
5450
5455
5460
54.65
OS
PM
OSPMI
DSPM2
*
5470 *
5475 *•••
5500
*
ORA
JZ
ANI
ADD
MOV
MOV
DB
PUSH
POP
DB
DB
INT
CURRENT
IF
ANY,
RESET
CALL
DB
DB
MOV
CALL
DB
DB
MOV
CPI
MOV
JZ
MEMORY.
CALL
XCHG
CALL
CALL
INX
OCX
MOV
ORA
JZ
CALL
DB
DB
SUBDM007E
A
ERROR
IFH
B
;IF
;ADJUST
E,A
B,M
IX
H
H
OEOH
52H
;sac
,PNTS
VALUE,
&
(HL)
IFF
CHANGE
GSUBV
JRZ
SBSR3-$-1
M,D
SPACE
JR
SBSR-$-l
A,B
'R-'+CASE
A,C
'LAST
,CMND
DSPR
L2NCR
;N1
;DELIMITER
PADRI
;PRINT
PSNM
H
B
A,B
C
;DONE?
CRLF
CKI6B
JR
DSPM2-$-J
5 585
0,
ILLEGAL
I
5TRI
P
FLAGS
FOR
'DE
GETS
'SAVE
;PUSH
;STACK
ORIG
IX
FRAME
HL,DE
TO
USER
DE
GETS
OR
SUBSTI
(HL-I)
FORA2-BYTE
;NO.
HI
CMND
;DR?
DELIMITER
TO
DE,
'NI
TO
HL
ADDR,
;PRINT
'CHECK
BY
CONTENTS
FOR
5
100
OFF
PRIMES
OISPL
ENTRY
REG
GETS
BYTE
CHAR
INCRM
TO
A
-'.-'
16
DBE.++
CMND
<0=0)
rUTlON
E.
REG.)
BC,
TO
OF
COUNT
MEM

-29-
E368
E368
E368
E368
E368
E36B
E36E
EJ6F
E370
E371
E372
E373
E314
E375
E376
E376
E316
E376
E376
8376
E379
E37B
E37D
E3.7E
E37F
E380 03
E382
E383
E384 18
E385
E386
E387
E38d
E3d9
E389
E389
E389
E..i89
E389
E38C
E38D
E390
E390
E391
E393
E394
E394
E394
E395
CD
CD
t2
13
OB
78
81
20
F6
C9
CD
DB
E6
28
FA
IA
13
OB
Bl
20
FI
C9
CD
EB
CD
4D
ED
C9
00
00
..5505
5507
55JO
.5512
64
El
EI 5516
41
EI 5542
64
00
80 5546
01
97 Et
EI
97
59
5514
5518
5520
5522
552~
5526
5528
5530
.55.32
5534
5536'
5531
5538
5540 *
554-4
5548
5550
5552
5554
5556
.5558
.5560
5562
5564
5566
5568
5570
5572
5574
5576
557d
5580
5582
55d4
55d5
5586
5588
5590
5591
5592
5593
5595
*
*
COMMAND
*
READ
*
READB
ROBI
*
*
COMMAND
*
WRITE
*
wRITB
WRTBt
*
*
*
COMMAND
*
*
OUTP
*
*
*
HEAD
<DATA-BYTE>
OUT
BINARY
CALL
CALL
STAX
INX
DCX
MOV
.oR-A
DB
DB
RET
BINARY
CALL
IN
ANI
DB
DB
LDAX
OUT
INX
DCX
MOV
ORA
DB
DB
RET
CALL
XCHG
CALL
MOV
Dn
RET
DB
DB
INPUT
L2NCR
OBYTE
0
0
B
A,B
C
JRNZ
RDBI-$-I
OUTPUT
L2NCR
STAT
TBE
FROM
'COUNT
-
,Be
.,GET
JRZ
WRTB
1-$-1
0
DATA
0
B
A,B
C
JRNZ
WRTBJ-$-I
<PORT
GNHL
GNHL
e,l
59EDH
CR
CR
,
'OUT
DATA
JGET
JGET
'TO
IE
'GET
MEM
INPUT
MEM
=
01
TO
DATA
MEM
NNUMBER>
GETS
PORT
TIl
C
(Cl,E
PORT
ADDRS
PORT
ADDRS
DATA
NUMBER

-30-
E396
43
52
45
4D
20 40
31
2E
43
2E
4F
40 5600
43
4F
4F
4E
30 20
31
39
31 36
E3AC
E3AO
E3AO
E3AO
E3Ar
E3BO
E3BO
E3BI
E3B2
E3B3
E3B3
E3B3
E.;B4
E3B5
E3B5
E3BS
E3B7
E3B.9
E3BB
E3BD
E3BF
E3CI
E3C3
E3C5
E3C1
E3C9
E3CB
E3CD
E3CF
E3DI
E3D3
E3D5
E307
E309
E3DB
E3DD
E30F
63EI
E3E3
E3E5
E3E7
E3E7
E.Jc7 5851 *
E3E7
00 5605
5610 *
5630 *
20
07
3F
5635
5640
5645 *
OA
1F
00
5650
5655
5660
5665 *
5690 *
3A
00
5695
5100
5105 *
5706
BC
Be
Be
48
Be
BI,,;
63
BC
Be
Be
Be
Be
4B
Be
89
C9
Be
68
04
,Be
Be
2F
76
BC
BC
EO
EO
EO
E3
Ell
EO
E2
EO
EO
EO
EO
EO
E2
EO
E3
EO
EO
E3
E3
EO
EO
E2
E3
EO
EO
5710
5715
5720
5125
5J30
5735
5740
5745
5750
5755
5166
5165
5170
5775
57dO
5185
57ge
5795
5800
5805
5810
5815
5820
5825
5830
5840
51:;50
84
5852
sas
LFNN
PRMPT
THE
*
THE
*
*
ROTSl
ASC
DB
ASC
DB
DB
DB
DB
DB
DB
COMMAND
PROMPT
OW
OW
OW
OW
Oft
OW
DR
OW
OW
OW
OW
OW
O~
DI1
D~
OW
0"
On
D~
OW
D~
D~
OW
D~
Ott
DB
·CROMEMCO
0
.at
BELL
LF
1FH
0
""
6
TBl
MESSAGE
ERROR
ERROR
ERROR
OISPL
ERROR
ERROR
GO
E.RROR
ERROR
ERROR
ERROR
ERROR
MOVE
ERROR
OUTP
PROG
ERROR
READS
SUBST
ERROR
ERROR
VERIF
WRIT8
ERROR
ERROR
-OUAF+PF
1,11
MON
'NULL
MuST
IMMEDIATELY
;A
'BANK
,C
'DISPLAY
'ENTER
;FIlE
;H
,
INPUT
'J
'K
'lIST
'NUMBER
'OUTPUT
;
PROGRAM
,0
,Rt:AO
,SUBSTITUTE
,rRAP
;UNEQUAL
'VERIFY
'WRITE
,x
IY
IA
1.0
C.
BINARY
BINARY
M
1916
FOLLOW
OR
ASCI
OR
I
ASCII

-31-
E3E8
E3E9 87
E3EA 88
e3EB
t::3EC
t::3ED
E3EE
t:.3EF
E3FO
E3F
E3F2 88
E3F3 00
E3F4
E3F5 00
E3F6 40
E3F7
E3F8
E3F9 42
E3FA 00
JE3FB
E3FC
E3FD
E3FE
E3FF 50
86
89
85
,00
8A
OC
00 5861
I
00
00
00
00
00
00
00
4E
.
5853
5854
5855
5856
5857
5858
5859
5d60
5862
5863
5864
5d65
5866
5d67
5868
5869
5870
5871
5872
5873
587-4
5875
5876
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
-DUBC+PF
-DUBC+l+PF
-DUDE+PF
-OUDE+J+PF
-DUAF+ J+PF
0
-DUHL+PF
-DUIT
0
0
-DUHL+J+PF
0
0
II
0
-DUPC+R2F
0
0
-DUSP+R2F
-OUIT+l
0
0
0
-DUIX+R2F
-DUI
IT
Y+R2t=
IB
Ie
10
'E
'F
IH
'L
,PC
'SP
(INTERRUPT
(IX)
IX
(IY)
,v
ENABLE)