Следующая программа позволяет просмотреть память в шестнадцатиричном
виде:
10 ORG 40000
20 BEG LD HL,(ADDR)
30 LD DE,16384
40 LD B,8
50 LK PUSH DE
60 LD C,8
70 LOOP LD A,(HL)
80 PUSH HL
90 PUSH BC
100 CALL PRINT
110 POP BC
120 POP HL
130 INC HL
140 INC DE
150 DEC C
160 JR NZ,LOOP
170 POP DE
180 LD A,E
190 ADD A,32
200 LD E,A
210 DJNZ LK
220 LD (ADDR),HL
230 RET
240 PRINT PUSH AF
250 SRL A
260 SRL A
270 SRL A
280 SRL A
290 CALL PR
300 POP AF
310 AND 15
320 PR PUSH DE
330 ADD A,A
340 ADD A,A
350 ADD A,A
360 LD L,ADRL
370 ADD A,L
380 LD L,A
390 LD H,ADRH
400 LD B,8
410 LOK LD A,(HL)
420 LD (DE),A
430 INC D
440 INC HL
450 DJNZ LOK
460 POP DE
470 INC DE
480 RET
490 ADRL EQU 0
500 ADRH EQU 135
510 ADDR DEFW 40000
Действие этой процедуры можно продемонстрировать следующей программой:
10 RANDOMIZE USR 40000: PAUSE 0: GO TO 10
Сначала надо сделать символьный набор, которым будет распечатываться
дамп. Это делается следующей программой:
100 LET S=135*256: FOR A=15744 TO 15823: POKE S,PEEK A: LET S=S+1: NEXT A
110 FOR A=15880 TO 15928: POKE S,PEEK A: LET S=S+1: NEXT A
В этом случае в строках 490 и 500 останутся те числа, которые уже стоят там.
9C40: 2A 87 9C 11 00 40 06 08 :88
9C48: D5 0E 08 7E E5 C5 CD 63 :27
9C50: 9C C1 E1 23 13 0D 20 F3 :80
9C58: D1 7B C6 20 5F 10 E9 22 :A0
9C60: 87 9C C9 F5 CB 3F CB 3F :F1
9C68: CB 3F CB 3F CD 72 9C F1 :E4
9C70: E6 0F D5 87 87 87 2E 00 :99
9C78: 85 6F 26 87 06 08 7E 12 :53
9C80: 14 23 10 FA D1 13 C9 40 :4A
9C88: 9C 00 00 00 00 00 00 00 :C0