2013-02-22 84 views
0

我试图在CP/M上使用悠久的M80和L80工具来构建ROM映像。 (这是为CP/M模拟器,因此我为什么使用CP/M工具。)在CP/M上构建ROM映像

不幸的是L80似乎真的很粗糙--- AFAICT它只是加载每个目标文件的绝对地址,修复它,然后将从0x0100开始的所有内容转储到磁盘。这意味着基于其自己工作空间之外的地址的对象文件看起来根本不起作用(仅产生错误消息)。我的ROM有一个0xd000的基地址,这远远超出了这个范围。

有谁知道是否可以使用M80和L80来做到这一点,如果是这样,如何?或者任何人都可以推荐(并指出我!)一个CP/M汇编器/链接器套件,它会吗?

(请注意,我想避免交叉编译,如果可能的话)。

回答

1

如果你只是组装一个文件,那么你可以使用M80的。相指令有了汇编定位输出。

.phase 0D000h 

如果你想建立几个源文件,并在年底将它们链接,那么你仍然可以使用M80但你需要DRI的连接LINK.COM,可以在http://www.cpm.z80.de/download/pli80_13.zip找到。使用LINK命令行是

LINK result=module1,module2,module3[LD000 

(在L80相当于最近会,我想,是

L80 /P:D000,module1,module2,module3,result/N/E 

但你必须删除0xCF00从生成的文件的开头字节)。

+0

是的,这工作正常。谢谢! (我也发现Digital Research的ASM.COM和MAC.COM直接发送.HEX文件,而不是.REL目标文件,可以很好地应对ORG地址。但是,当然,这对于我想将结果链接在一起;而他们理解的汇编语法却微妙不同......) – 2013-02-23 20:00:51