6502 HEX MONITOR LISTING (continued)
FF75
FF77
FF79
FF7A
FF70
FF7D
FF7F
FF81
FF83
FF85
FF87
FFS9
FF85
FF8D
FF8F
FF91
FF94
FF97
FF99
FF9B
FF9D
FF9F
FFA1
FFAZ
FFA4
FFA6
FFA8
FFAB
FFAD
FFB0
FFBZ
FFB5
FFB7
FFBA
FFBC
FFBF
FFC1
FFC4
FFC7
FFC8
FFCA
FFCC
FFCE
FFD0
FFD2
FFD4
FFD6
FFD8
FFDA
FFDC
FFDD
FEDE
FFDF
FFE0
FFEL
FFE4
FFE5
FFF7
FFE9
26 28
26 29
CA
D0 F8
C8
D0 E0
C4 ZA
FO 97
24 2B
50 10
A5 28
81 26
E6 26
D0 BS
E6 27
4c 44 FF
6C 24 00
30 2B
A2 02
B5 27
95 25
95 23
CA
DO F7
DO 14
A9 SD
20 EF FF
AS 25
20 DC FF
AS 24
20 DC FF
A9 BA
20 EF FF
A9 A0
20 EF FF
Al 24
20 DC FF
86 25
AS 24
C5 28
AS 25
ES 29
B0 C1
E6 24
DO 02
E6 25
AS 24
29 07
10 G8
48
4A
4A
4A
4A
20 E5 FF
68
29 OF
09 BO
C9 BA






NOTHEX








TONEXTITEM
RUN
NOTSTOR

SETADR




NXTPRNT








PRDATA



XAMNEXT








MOD8CHK


PRBYT£






PRHEX
ROL L
ROL H
DEX
BNE HEXSHIFT
INY
BNE NEXTHEX
GPY YSAY
BEQ ESCAPE
BIT MCDE
BVC NOTSTOR
LDA L
STA (STL, X)
INC STL
BNE NEXTITEM
INC STH
IMP NEXTITEM
IMP (XAML)
BMI XAMNEXT
LDX #$02
LDA L-1, X
STA STL-1, X
STA XAML-1,X
DEX
BNE SETADR
BNE PRDATA
LDA #$8D
ISR ECHO
LDA XAMH
JSR PREYTE
LDA XAML
ISR PRBYTE
LDA #$BA
ISR ECHO
LDA #$AO
JSR ECHO
LDA (XAML, X)
JSR ERBYTE
STX MODE
LDA XAML
CMP L
LDA XAMH
SBC H
ECS TONEXTITEM
INC XAML
BNE MOD8CHK
INC XAMH
LDA XAML
AND #$07
BPL NXTPRNT
PHA
LSR
LSR
LSR
LSR
JSR PRELEX
PLA
AND #$OF
ORA #$BO
CMF #$BA
Rotate into LSD.
Rotate into MSD's.
Done 4 shifts?
No, loop.
Advence text index.
Always taken. Check next character for hex.
Check if L, H empty (no hex digits).
Yes, generate ESC sequence.
Test MODE byte.
B6:0 for STOR, 1 for XAM and BLOCK XAM
LSD's of hex data
Store at current "STORE index".
Incrernent store index.
Get next item. (no carry).
Acid carry to 'store index' high order.
Get next command item
Run at current XAM index.
B7= 0 for XAM, I for BLOCK XAM.
Byte count.
Copy hex data to
"store index".
And to "XAM index'.
Next of 2 bytes.
Loop unless X = 0.
NE means no address to print.
CR.
Output it.
'Examine index' high-order byte.
Output it in hex format.
Low-order "examine index" byte.
Output it in hex format.

Output it.
Blank.
Output it.
Get data byte at 'examine index".
Output it in hex format.
0-> MODE (XAM mode).

Compare 'examine index" to hex data.


Not less, so no more data to output.

Increment 'exarnine index".

Check low-order exainine index' byte
For MOD 8=0
Always taken.
Save A for LSD.


MSD to LSD position.

Output hex digit.
Restore A.
Mask LSD for hex print.
Add "0".
Digit?


- 6 -