易码技术论坛

 找回密码
 加入易码
搜索
查看: 216114|回复: 6

[求助]NC2600C 如何用[int$050e],删目录??

[复制链接]
发表于 2006-6-9 17:48:00 | 显示全部楼层
filename:

.DB "/LAVA",$00

LDX #$06

LOOPDA filename,X

STA $08D6,X

DEX

BEN LOOP

INT $050E

RTS


[em01][em01]
 楼主| 发表于 2006-6-13 15:07:00 | 显示全部楼层
有区别吗?
发表于 2006-6-13 15:35:00 | 显示全部楼层
2楼的程序写的有问题

自己好好想想,filename的第一字节你能COPY过去吗?

写成这样比较好:

filename:.db "/LAVA",$00

ldx #0

lp1:

lda filename,x

sta $08d6,x

beq lp2

inx

bne lp1

lp2:

brk $050e

rts
发表于 2006-6-13 15:36:00 | 显示全部楼层
哎,汇编界真是人才凋零啊`

这么个简单的复制字符串程序也```
发表于 2006-6-13 15:51:00 | 显示全部楼层
filename:.db "/LAVA",$00
ldx #ff
lp1:
inx
lda filename,x
sta $08d6,x
bne lp1
brk $050e
rts

这样岂不更好.
[em01]
发表于 2006-6-13 17:20:00 | 显示全部楼层
楼上的代码效率上应该是提升2*字符串长度(不含0)-1个时钟周期

比如“/LAVA”就会比我的算法少8个时钟周期,而且二进制长度小2BYTE

但代码可读性有所下降
 楼主| 发表于 2006-6-9 15:50:51 | 显示全部楼层 |阅读模式
好像空目录也不能删??

如把[/BASIC文件]存入$08d6,再调用int$050e,对吗?


[em04][em06]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-4-17 04:30 , Processed in 0.013498 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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