英文同步贴在这里 [ 在八位机上用BASIC语言的PEEK命令把内存中的数值导出来 – 步步高多媒体学生电脑 – 软驱 1 号]
8位游戏机(学习机)带键盘的都常配有BASIC编程语言.在8位机器上, 内存的访问模式是实模式,也就是说你可以随意的读写任意内存地址.在BASIC语言里, 可以通过 PEEK 来读取内存的数值,可以通过 POKE 来对某一内存进行写操作.
在这里 介绍了用PEEK命令的用法, 步步高软驱1号或者98型学生电脑都能运行 BASIC 语言.
把内存中的数据读出来是很有用的, 经常需要把内存中(只读卡带ROM)的数据读出来,用于模拟器.以下BASIC代码在步步高软驱1号的BASIC 2.1 下可以运行 (98下也是一样) 这是个可以把指定内存区域的数值存成文件的小工具.可以dump任意区段地址的数据!!
而且用BASIC很通用啊 一般来说 有PEEK 还有文件操作 就可以移植到其它的8位学习机或者游戏机上.
10 REM DUMP BIOS ON BBG 11 REM BY HELLOACM.COM 12 PRINT "DUMP MEMORY - HELLOACM.COM" 13 PRINT "MADE BY DR ZHIHUA LAI" 14 PRINT "ENTER MIN MEMORY LOCATION" 20 INPUT MINMEM 21 IF MINMEM<0 THEN PRINT "MINMEM<0": GOTO 14 25 PRINT "ENTER MAX MEMORY LOCATION" 30 INPUT MAXMEM 31 IF MAXMEM<MINMEM THEN PRINT "MIN MEM SHOULD BE SMALLER THAN MAX MEM": GOTO 30 40 PRINT "DUMPING MEM, PLEASE WAIT.." 42 PRINT "MEM FROM ";MINMEM;" TO ";MAXMEM 43 OPEN "O",#1,"DUMP.DAT" 45 FOR I=MINMEM TO MAXMEM 50 VAR$=CHR$(PEEK(I)) 55 PRINT VAR$; 56 PUTC #1,VAR$ 60 NEXT 70 CLOSE #1 75 PRINT "" 80 PRINT "MEM SAVED TO 'DUMP.DAT' OK! BYE BYE!"
最关键的语句是 VAR$=CHR$(PEEK(I)) 一次从内存中读一个字节然后写成文件 dump.dat (文件名可以自己修改).
用RUN运行:
内存中的值写打印到屏幕上边写到文件中:
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK