简易ZAP程序

🏠 首页 《无线电》杂志 1989年 🔗 第9期 🔗 第30页 分类:无线电技术自学经验交流 🔗 张剑波 🔗

(张剑波)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