(张剑波)ZAP程序用来读当前所指定的磁道、扇区内容,并且显示。本ZAP程序为中华学习机编制,可在APPLE Ⅱ及其兼容机上运行。
键入所附ZAP程序后,先存盘或存至磁带;然后调试并运行,屏幕显示:TRACA#:及SECTOR#:;请分别键入磁道和扇区的十进制数,拨出ZAP程序磁盘,插入被读磁片并回车运行,则屏幕显示指定磁道和扇区的内容,其中左边为位址内容,右边显示位址内容的ASCⅡ码或控制码(以“·”表示)。
本程序只读取磁盘内容,所以不损坏当前磁盘资料;读取速度快也是本程序的长处。
1 REM*****************
2 REM* ZAP 1989 J*
3 REM******************
10 DIM A$(20),H$(24)
11 DATA 0,1,2,3,4,5,6,7,8,9,A, B,C,D,E,F
12 FOR I=0 TO 15:READ A$(I):NEXT I
13 DATA 1,96,1,0,6,0,32,03,0,32,0,0,1, 0, 0, 96, 1, 0, 1, 255, 216, 169,03, 160,10,32,217,3,96
14 FOR I=0 TO 16:READ IOB: POKE 778+I,IOB: NEXT I
15 FOR I=0 TO 3:READ DC: POKE 800+I,DC:NEXT I
16 FOR I=0 TO 7:READ INS:POKE 768+I,INS: NEXT I
17 REM DEFINE NAMES:
18 RWTS=768:TRK=782:SEC=783
19 TEXT:HOME
20 VTAB 1: HTAB 1
50 INVERSE:INPUT“TRACK #:”; T
60 IF(T<0) OR(T>34) THEN 20
70 INPUT “SECTOR #:”; S
80 IF(S<0) OR(S>15)THEN 20
85 NORMAL
90 POKE TRK, T:POKE SEC,S
100 CALL RWTS
110 FOR I=0 TO 21
120 FOR J=0 TO 11
130 N=PEEK<(8192+I*12+J)
140 GOSUB 500:REM DEC→HEX
150 H$(J)=H$
160 IF N>I27 THEN N=N-28
170 IF N<32 THEN H$(J+13)=“·”
180 IF N>31 THEN H$(J+13)=CHR$(N)
190 NEXT J
200 H$(12)=“·”
300 N=I*12
310 GOSUB 500:REM DEC→HEX
320 PRINT H$“·”;
330 FOR J=0 TO 24
340 PRINT H$(J);
350 NEXT J:NEXT I
370 GOTO 20
500 REM DEC TO HEX ROUTINE
510 N2=INT(N/16)
520 NI=N-N 2*16
530 H$=A$(N2)+A$(N1)
540 RETURN