|
POKE PEEK是两个basic指令,前者用于写地址区域,后者用于读地址区域。
POKE PEEK可以说是BASIC语言中最有用最有趣的命令了,因为只有这两命令才能操作计算机的底层硬件。不管你是什么八位计算机,是VCI-20,C64或是PC-1500,ZX81,POKE PEEK都是必学的命令。不过由于这两个指令比较难理解,需要对计算机结构有一定的理解,很多basic教学都不介绍这两个指令。
对于PC-1500,我们可以使用以下三行代码,利用POKE指令,向内存中写数据
- 5 A = &2000
- 10 FOR I= 0TO &2000
- 20 POKE A+I, 55
- 30 NEXT I
复制代码
这个程序有什么效果呢?当插入16K内存卡时,将第一行A的值改为0,程序运行不久便会报错,此时按MODE CL ↑ 三个按键检查程序,发现程序全部乱码,这说明内存中的basic语言被覆盖了;将A改为 &2000 &4000 后,程序无明显错误,改为 &6000后,可以看见显示屏上出现横条,说明此时数据写到显存里了;将A改为 &8000后,程序不久出错,按键功能紊乱,按MODE键,显示屏上出现F0:,按OFF键,显示屏出现字符J。此时PC-1500的basic解释程序已经错误了,计算器完全不能使用。即便扣掉电池,由于PC-1500的内存漏电很慢,计算器仍然无法正常工作,此时只能用圆珠笔按压计算器背后的复位按钮,同时按住ON键 ,才能让计算器恢复正常。
需要说明的是,PC1500插入不同内存卡时,内存分配不一样,因此程序运行效果也不同。
POKE还可以往内存中写入汇编代码,写入后,用户可以用CALL指令执行汇编代码,然后用PEEK指令,直接从内存里读取结果,具体代码如下(选自pc1500系统分析扩展技术及其应用集锦)
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|