- 注册时间
- 2008-5-4
- 最后登录
- 1970-1-1
|
ggv和Emax的内存查看器满天乱飞,可这是我能找到的唯一pc1Kc专用的内存查看工具了
这是代码:
10 GRAPHOCATE 3,1RINT " 装载中 ...":CLEAR:GOSUB 120
15 GRAPHOCATE 2,1RINT " Memory Explorer ":K$=INKEY$
20 GRAPHRINT "请输入起始地址:"
30 K=ASC(INKEY$):IF K=27 THEN POKE 199,141:END
35 IF K=13 THEN 200
40 IF K=23 AND H>0 THEN 110
50 RESTORE100
60 FOR T=0 TO 15:READ P:IF P=K THEN 80
70 NEXT : GOTO 30
80 KEP(H)=T:POKE 724+H+(H>1)+(H>3),CH(T):PRINT
90 H=H+1:IF H=8 THEN 200 ELSE 30
100 DATA 48,98,110,109,103,104,106,116,121,117,97,107,99,100,101,102
110 H=H-1:KEP(H)=0:POKE H+724+(H>1)+(H>3),32:PRINT : GOTO 30
120 RESTORE130: FOR T=0 TO 136:READ P:POKE 4868+T,P:NEXT
130 DATA 8,72,138,72,152,72,165,0,72,165,10,72,165,13,72,165,64,72,165,65
140 DATA 72,173,0,19,133,0,173,1,19,133,10,173,2,19,133,64,173,3,19,133
150 DATA 65,160,80,177,64,153,212,2,136,16,248,104,133,65,104,133,64,104,133,13
160 DATA 104,133,10,104,133,0,104,168,104,170,104,40,96,165,0,72,173,0,19,133
161 DATA 0,165,10,72,173,1,19,133,10,160,2,152,10,170,173,2,19,149,142,173
162 DATA 3,19,149,143,136,208,240,32,135,224,165,146,141,2,19,165,147,141,3,19
165 DATA 165,10,141,1,19,104,133,10,165,0,141,0,19,104,133,0,96
170 DIM CH(15): FOR T=0 TO 15
180 IF T<10 THEN CH(T)=T+48 ELSE CH(T)=T+87
190 NEXT :RETURN
200 Z=KEP(0)*16+KEP(1):A=KEP(2)*16+KEP(3)=KEP(4)*4096+KEP(5)*256+KEP(6)*16+KEP(7):TEXT
210 POKE 704,CH(INT(Z/16)):POKE 705,CH(Z-INT(Z/16)*16):POKE 4864,Z
220 POKE 707,CH(INT(A/16)):POKE 708,CH(A-INT(A/16)*16):POKE 4865,A
230 DA=INT(D/256)B=D-DA*256:POKE 4866,DB:POKE 4867,DA
240 POKE 710,CH(INT(DA/16)):POKE 711,CH(DA-INT(DA/16)*16):POKE 4865,A
250 POKE 712,CH(INT(DB/16)):POKE 713,CH(DB-INT(DB/16)*16):POKE 4865,A
260 CALL 4868:PRINT OCATE 1,11
270 K=ASC(INKEY$):IF K<>27 THEN 295
280 LOCATE 2,1:PRINT " 确定退出 Y[N] ";:LOCATE 2,18:K$=INKEY$
290 IF K$="y" THEN POKE 199,141:END ELSE 260
295 IF K=28 THEN 550
296 IF K=31 THEN 530
300 RESTORE320: FOR T=1 TO 13:READ P:IF P=K THEN 330
310 NEXT : GOTO 260
320 DATA 48,46,32,98,110,109,104,103,121,13,116,117,106
330 ON T GOTO 340,350,360,370,380,390,400,410,420,430,440,510,520
340 D=D-1: GOTO 450
350 D=D+20: GOTO 450
360 D=D+1: GOTO 450
370 D=D-80: GOTO 450
380 D=D-20: GOTO 450
390 D=D+80: GOTO 450
400 A=A+1: GOTO 470
410 Z=Z+1: GOTO 490
420 A=A-1: GOTO 470
430 A=A+128: GOTO 470
440 Z=Z-1: GOTO 490
450 IF D>65535 THEN D=D-65536:210
460 IF D<0 THEN D=D+65536:210 ELSE 210
470 IF A>255 THEN A=A-256:210
480 IF A<0 THEN A=A+256:210 ELSE 210
490 IF Z>255 THEN Z=Z-256:210
500 IF Z<0 THEN Z=Z+256:210 ELSE 210
510 D=D-4096: GOTO 450
520 D=D+4096: GOTO 450
530 TEXT :CALL 4941
540 CLS: GOTO 210
550 CLEAR:GOSUB 120: GOTO 20
其中4684是在程序运行时闲置的地址(我想应该是这样),我想问往4868地址后写入的那些数字是什么意思?而且CALL后可以直接把内存(不知道叫什么~~)内容显示出来,比PRINT还快,这是为什么?? |
|