- 注册时间
- 2004-11-14
- 最后登录
- 1970-1-1
|
这个技术好像N多人都懂了,在这里班门弄斧大家不要笑啊。这里说的是NC3K上的,其它机型的中断不同。
流程:文件名->OPEN->SET->SEEK->READ/WRITE->CLOSE
不想切换输入法了,大家E文还好吧。
先是写入文件名,地址是$088D开始的,将文件名的ASCII码写入,注意不要将CHR$(31)也写进去,在这里建议用OPEN XXX FOR RANDOM AS1:FL=LOF(1):CLOSE #1,这个语句。这样可以很方便的得到文件大小,排除不存在的文件,最好之处是不用慢慢地POKE文件名
打开用INT$0515,在打开时,先要指明打开方式,地址是$08c9 , poke 入 $70,$80,$c0,分别是建立,读取,修改,当错误时,$08cc会被置为0.
然后设置文件载入长度和载入RAM的起始地址,设置的地址分别是$08c6--$08c7,$e0---$e1.例如,载入DAT图片到显存($19c0起),载入长度为1600BYTE.则将$E0设为$C0,$E1设为$19 ,并将1600换为16进制分高低位POKE入 $08c6--$08c7.然后调用SEEK中断,是05什么的,反正中断低位的十进制是25.
SEEK就是设置文件载入起点,一个1322BYTE长的文件,可以从它的0-----1321处读起,设置的地址在$08cd-----08d1,将想要的载入起点分高低位POKE入,比如上面说的载入DAT图片,从它的00地方载入,则将$08cd-----08d1都设为0.
然后是读取或写入,中断分别是$0516,$0518。写入的前提是你前面打开时选择了修改的方式,INT后,就会按前面的设置将文件载入一段RAM或将一段RAM的值写入文件相应地方.注,如果文件载入的起点+文件载入长度大于文件原长,则会加长文件.
最后不要忘了关闭文件,INT$0517就OK了.
|
|