文件的操作 for nc1020
作者:yiz
.保存文件
INT$932D//以下为进入目录的代码
loop4: LDX#$10
loop1: LDA$xxxx,X//xxxx为目录名存放地址-1,目录名长度一定要为#$10字节,不足部分
用空格补,如:$:2090:文本文件 则xxxx为208F
STA$121B,X//实际就是把目录名送到$120c开始的地方
DEX
BNE$loop1
INT$9308
BCC$loop2//目录存在就跳转loop2
LDA$1215//不存在就建立新目录。以下是建立新目录代码
STA#$03
BNE$loop3
LDA#$F0
STA$121A
LDA#$FF
STA$121B
LDA#$02
STA$1219
LDA#$FF
STA$122F
STA$1230
STA$1231
INT$9301
BCC$loop4
loop3: LDA#$00
STA$05C8
INT$0201
LDA#$80
STA$1218
LDA$00
STA$120D
LDA#$10
STA$120E
INT$9309
LDA$1218
BEQ$loop3
loop2: LDX#$00//以下是把要保存的文件的文件名送到$121C开始的地址,文件名长度也要为#$10字节。
loop5: LDA$yyyy,X//yyyy为文件名所在首地址
STA$121C,X
INX
CPX#$10
BNE$loop5
LDA#$01
STA$1214
INT$9302
BCC$loop6//如果有同名文件存在,跳转loop6,否则建立新文件
LDA$1215
CMP#$03
BNE$loop7//不能建立则跳转loop7
LDA#$F9<或F8> STA$121A
LDA#$FF//或FB,F7,DF。FB则文件为隐藏,F7则不可删除,FF或DF为正常
STA$121B
LDA#$61
STA$1219
LDA#$FF
STA$122F
STA$1230
STA$1231
INT$9301
BCS$loop7//建立新文件失败则跳转loop7
loop8: LDA#$mm//以下是把内容写入文件的代码
STA$120D
LDA#$nn
STA$120E//$nnmm为要保存的文件内容开始地址
LDA#$oo
STA$120F
LDA#$pp
STA$1210//ppoo为保存文件的长度
INT$9305/开始保存
INT$9307/关闭文件
loop7: RTS
loop6: LDA#$rr
STA$1211
LDA#$ss
STA$1212//从文件的ssrr处开始写入
INT$9303
JMP$loop8
5.读取文件
要读取文件,就要先进入相应的目录。进入目录的方法同上述保存文件时的一样。之后把要读取的文件名放到
$121C开始的地址(长度也要为#$10字节,注意有的文件名有后缀,后缀包含在#$10字节内),再运行以下代码:
LDA#$00
STA$1214
INT$9302
BCS$loop1//如文件不存在,则跳转loop1
LDA#$aa
STA$120D
LDA#$bb//$bbaa就是读取出的文件内容存放地址
STA$120E
LDA#$cc
STA$120F0
LDA#$dd//ddcc是每次读取的内容长度,如dd为06,cc为01,则每次读取0610个字节,并存放在$bbaa
STA$1210
INT$9304//读取文件的中断服务地址
INT$9307//读完后用此中断关闭文件
loop1: RTS
兄弟
这些我也有啊
但是不够详细啊。。。。。
分析一下这段代码应该就能知道这些文件操作中断的用法了啊~ 啊
我看不过来了
关于NC1020的文件操作。。。。。
请那为高手写分详细的说明出来就是关于NC1020的文件操作的
不胜感激~~
页:
[1]