BDOS EQU 5
WRITESTR EQU 9
READSTR EQU 10
ORG 0100H
JMP PR$LGN
PR$ERR:
LXI D,ERR
MVI C,WRITESTR
CALL BDOS
PR$LGN:
LXI D,LGN
MVI C,WRITESTR
CALL 5
LXI D,BUFFER
MVI C,READSTR
CALL BDOS
MVI C,6
LXI H,BUFFER+2
MVI B,0DFh
UCASE$LOOP:
MOV A,M
ANA B
MOV M,A
INX H
DCR C
JNZ UCASE$LOOP
LDA BUFFER+3
CPI 'O'
JNZ PR$ERR
LDA BUFFER+1
CPI 6
JNZ PR$ERR
MVI C,6
MVI A,0
LXI H,BUFFER+2
CHK$LOOP:
MOV B,M
ADD B
RLC
INX H
DCR C
JNZ CHK$LOOP
CPI 0B7H
JNZ PR$ERR
MVI A,'8'
MOV M,A
INX H
MVI A,'0'
MOV M,A
LXI H,RCC
MVI C,213
MVI D,0
DEC$LOOP:
PUSH H
LXI H,BUFFER+2
MOV A,L
ADD D
MOV L,A
MVI A,0
ADC H
MOV H,A
MOV A,M
POP H
MOV B,M
XRA B
MOV M,A
INR D
MVI A,7
ANA D
MOV D,A
INX H
DCR C
JNZ DEC$LOOP
LXI D,RCC
MVI C,WRITESTR
CALL BDOS
JMP 0 ;DONE
LGN:
DB 00Dh, 00Ah, 04Ch, 06Fh, 067h, 069h, 06Eh, 03Ah
DB 020h, 024h
ERR:
DB 00Dh, 00Ah, 049h, 044h, 045h, 04Eh, 054h, 049h
DB 046h, 049h, 043h, 041h, 054h, 049h, 04Fh, 04Eh
DB 020h, 04Eh, 04Fh, 054h, 020h, 052h, 045h, 043h
DB 04Fh, 047h, 04Eh, 049h, 053h, 045h, 044h, 020h
DB 042h, 059h, 020h, 053h, 059h, 053h, 054h, 045h
DB 04Dh, 00Dh, 00Ah, 02Dh, 02Dh, 043h, 04Fh, 04Eh
DB 04Eh, 045h, 043h, 054h, 049h, 04Fh, 04Eh, 020h
DB 054h, 045h, 052h, 04Dh, 049h, 04Eh, 041h, 054h
DB 045h, 044h, 02Dh, 02Dh, 024h
RCC:
DB 047h, 045h, 014h, 01Ah, 010h, 004h, 06Ch, 079h
DB 004h, 008h, 000h, 068h, 005h, 013h, 077h, 076h
DB 00Fh, 01Ch, 000h, 007h, 007h, 061h, 07Eh, 071h
DB 006h, 004h, 016h, 006h, 07Bh, 04Ch, 032h, 063h
DB 002h, 00Eh, 01Fh, 004h, 075h, 016h, 07Dh, 010h
DB 01Ah, 003h, 012h, 011h, 075h, 000h, 018h, 077h
DB 00Bh, 002h, 016h, 077h, 058h, 04Bh, 061h, 07Fh
DB 01Fh, 01Dh, 073h, 01Ch, 014h, 013h, 07Fh, 075h
DB 01Eh, 06Fh, 01Ah, 01Bh, 075h, 000h, 06Ch, 010h
DB 019h, 07Ch, 060h, 068h, 061h, 073h, 016h, 005h
DB 07Fh, 078h, 073h, 00Dh, 064h, 074h, 008h, 010h
DB 078h, 07Ah, 07Dh, 07Dh, 064h, 078h, 035h, 03Ah
DB 00Fh, 017h, 007h, 01Ah, 014h, 061h, 070h, 079h
DB 004h, 01Bh, 069h, 068h, 004h, 003h, 072h, 071h
DB 06Ah, 016h, 011h, 002h, 075h, 003h, 079h, 010h
DB 002h, 00Ch, 006h, 01Eh, 00Ch, 018h, 018h, 076h
DB 01Ch, 01Eh, 001h, 045h, 05Fh, 015h, 070h, 075h
DB 06Ah, 00Ch, 012h, 00Bh, 01Dh, 004h, 018h, 073h
DB 005h, 001h, 007h, 009h, 01Ch, 00Fh, 06Bh, 010h
DB 00Bh, 06Fh, 010h, 009h, 007h, 005h, 018h, 067h
DB 003h, 01Bh, 01Bh, 068h, 014h, 061h, 068h, 078h
DB 018h, 00Eh, 000h, 00Dh, 058h, 04Bh, 077h, 07Eh
DB 06Ah, 006h, 007h, 068h, 001h, 009h, 079h, 064h
DB 06Ah, 002h, 01Ah, 00Fh, 01Dh, 015h, 018h, 073h
DB 005h, 002h, 016h, 068h, 01Ch, 00Fh, 018h, 078h
DB 00Bh, 001h, 017h, 011h, 075h, 00Dh, 079h, 064h
DB 00Fh, 01Dh, 05Eh, 042h, 071h
BUFFER: DB 255
DB 0
DS 255
END
This can be done 'by hand', or maybe you have a suitable tool
that you put in your attic because you thought you'd never use it
again. In which case you may find some of the cache contents
particularly useful.
If you park at the suggested waypoint you should allow about
1 hour for the round trip. There is no need to leave well-formed
paths.
Make sure you conceal the container just as you found it, and
especially check it is not visible from the northern
approach