首先使用INT$9309读取目录下文件信息
然后对其进行一些简单处理后使用INT$C315中断
中断内容如下
INT$9309 读文件信息中断
入参:$120D,$120E 文件信息读到的位置
$1218 文件序号(比如目录下只有一个文件,那么那个文件的文件序号就是0,然后多一个文件文件序号就多1,通过使文件序号开始从0一直自增1然后判断标志位C就可以读出这个目录下所有的文件信息)
出参:标志位C=0表示有此文件 C=1表示无文件
所读出的内容其实就是目录下存放的文件名等信息,而我们要用到的只是文件名。所以要对其进行一些处理。具体你可以自己试试。
INT$C315 自由定制列表中断
入参:$C8,$C9 指定列表内容位置 列表项内容,每个之间用$00隔开,共5个。我们要将上面用INT$9303读取到的文件名放到$C8,$C9指定的地方。
$CA,$CB 指定参数表1位置 此参数表内容分别对应选择5个项时的执行地址共10字节
寄存器X,Y 指定参数表2位置 参数表2内容以$80开始然后分别是按下求助时的执行地址 在第5项时按下下和右时的执行地址 在第1项时按下上和左的时候的执行地址 按下下翻页的执行地址 按下上翻页的执行地址
用这两个中断就可以模拟文件选择了。适用于NC1020/N。如果不是很明白推荐下载兰色天使的绘图器反汇编研究一下。有了我的中断资料应该不难了。
执行自由定制列表中断后,比如选择第一项,那么读取屏幕第一行的信息(就是一个文件名),然后调用打开文件中断就可以了鸟~~~~~
[此贴子已经被作者于2005-6-20 17:45:49编辑过]
|