易码技术论坛

 找回密码
 加入易码
搜索
查看: 176574|回复: 3

PC1000系列文件格式!!

[复制链接]
发表于 2004-12-20 09:20:00 | 显示全部楼层
我有兴趣!我有兴趣!支持烧煤!我是new拉
发表于 2005-1-16 14:48:00 | 显示全部楼层
我出挺你!煤!

多多努力呀!
发表于 2005-9-29 22:59:00 | 显示全部楼层
“4018是程序开始地址”

这个地址怎样描述的?

4019-401A是什么?

fcb的0C-0D又是什么?
 楼主| 发表于 2004-9-7 15:20:13 | 显示全部楼层 |阅读模式
bin
4000-4001固定是4000
4002-4011是文件名(BIG5码)
4012-4017是00
4018是程序开始地址
401B-4027是A5AA5500000000000001060000
4028开始就是程序了。


LEE com

$0000:43 4f 4d ("COM")
$0003:?? (COM文件入口地址的高8位,必须是偶数且在1A-3E之间,低8位恒为10)
$0004:?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? (文件名,如用汉字必须使用BIG5码)
$0010:?? ?? ... (文件内容)

com文件的详细规范:


以下数字如无特别说明,都是16进制。
0000:'CO'
0002:01
0003:com_set(bit7为0)
0004-000F:文件名
0010-0FFF:block 0
1000-1FFF:block 1
2000-2FFF:block 2
.....
F000-FFFF:block F
------------------
0000:'CO'
0002:01
0003:com_set(bit7为1)
0004-000F:文件名
0010-1FFF:block 0
2000-3FFF:block 1
.....
E000-FFFF:block 7

com文件在加载时由系统读入前2000字节到$2000,然后跳转到$2010执行。
若要切换2000-FFFF的内容,调用$1F00处的子程序。
入口参数:
x:com_block(块号),y:com_ser_no(服务号)。

com_set:bit7为0时一个block是1000字节,为1时一个block是2000字节。bit7为0时,小于com_set的com_block
放在$2000-$2FFF,大于等于com_set的com_block放在$3000-$3FFF(例外的是com_block0一定在$2000-$2FFF,
com_block1一定在$3000-$3FFF)。
com_block:bit6 为1时读4k数据(从2000-2FFF调用则数据放在3000-3FFFF,从3000-3FFF调用则数据放在2000-2FFFF),为0时调入并执行程序。
com_block:bit7 为1时调用程序但不返回(尽管不返回,仍然要用jsr $1F00,若用jmp $1F00会出错),为0
时调用程序后返回。
com_ser_n服务号。每一个块(4k或8k)内可能有不止一个子程序(服务)。在每个块的头100字节放了80
个双字节地址,分别指向80个服务的入口地址(当然,如果你没有提供全部80个服务,完全可以把剩余的空间
用来放程序)。

注意,$1F00-$1FFF由系统控制,不允许破坏。com文件在执行时不可以破坏堆栈,返回时应使用rts指令。

文件FCB(File Control Block
文件FCB(File Control Block)
每个文件的FCB占$10个字节。
00:F1正常E1该文件已经删除E3传输中断
01-03:固定为303030
04:文件建立次序
05:文件类型
06-07:文件长度(0x00,x为占的页数)
08-09:文件存储地址的Block
0A-0B:当为Bin时为FFFF,其他指向文件名存储的Block
0E-0F:文件建立时间
Block是一种特殊的地址形式。在Xasm用X命令,在WQXHex中用B命令。
00页码的5168或7168是BIN档的目录地址,当00页码的4000是2a时,地址5168是其目录地址,否则7168是其目录地址


(不知道对PC1000编汇有兴趣的人还有多少。。。。。。。。。。。。。)
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-3-29 18:19 , Processed in 0.011158 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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