易码技术论坛

 找回密码
 加入易码
搜索
查看: 214700|回复: 4

关于NC1020的文件操作。。。。。

[复制链接]
发表于 2005-5-3 20:09:00 | 显示全部楼层


文件的操作 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
 楼主| 发表于 2005-5-3 20:59:00 | 显示全部楼层
兄弟
这些我也有啊
但是不够详细啊。。。。。
发表于 2005-5-3 21:10:00 | 显示全部楼层
分析一下这段代码应该就能知道这些文件操作中断的用法了啊~
发表于 2006-2-5 10:21:00 | 显示全部楼层


我看不过来了
 楼主| 发表于 2005-5-3 19:59:08 | 显示全部楼层 |阅读模式
请那为高手写分详细的说明出来

就是关于NC1020的文件操作的

不胜感激~~
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-29 08:45 , Processed in 0.009635 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表