在关于汇编程序的系列中,用于开发8位计算机的ROM的Commodore,本文介绍了在C128上运行的1987“HCD65”汇编程序。
为了为其8位计算机构建ROM,Commodore最初使用了一个汇集在自己的PET机器上(系列的第2部分)。从1984年开始,他们使用了在VAX / VM上运行的“波士顿系统办公室”(BSO)交叉汇编程序(第3部分)。
1986年,Commodore开始在BSO交叉装配者的克隆中,该克隆应该在C128上运行。原始C128源存档状态中的内部文档(C65.doc):
HCD65xx是一个强大的宏汇编程序,与汇编程序同义,用于在VMS下的VAX-8600上运行的C128源代码进行统计。该工具能够在C128上组装相同的源文件。
在房屋中开发的包装包括宏汇编程序和程序编辑器,可以利用C128硬件。 [...]该对象是为了使基于VAX的交叉装配商可以做的所有事情,并且允许真正的大装配。编辑器类似于DEC EDT键盘编辑模式。
很快就知道此软件包是否可用,但我相信它将在各种网络上公布......
我们有一个开发人员包,包含一个新的宏汇编程序和编辑器,我们希望在年末提供。汇编器与BSO 6502汇编程序兼容,该汇编已被Commodore用于软件开发。
新的汇编程序,名为“HCD65”(在手册中)或“软件中的HCD65xx”(在软件中),于1987年发布于1987年作为Commodore 128开发人员包的一部分(内部,内部,内部(65CE02)发布版本))。
汇编程序由两个组件组成:用于查询来自用户的参数的基本程序,以及非交互式汇编程序二进制程序。基本前端显示以下菜单:
(c)1986年Commodore Electronics,Ltd。 版权所有v3.5 输入source = kernal.src的文件名 选择一个配置 0)没有列表:源,obj 8 1)列出屏幕:源,OBJ为8 2)列出单位4:源,OBJ为8 3)仅误差:8次源 4)列表/ XREF到第4单元:源,OBJ为8 5)没有列表:源,OBJ为9 6)列出屏幕:源,OBJ为9 7)印刷品列表4:Source,OBJ为9 8)仅限错误:9的来源 9)列表/ XREF到第4单元:源,OBJ为9
它允许输入文件名(自动添加扩展名为.src)和配置选项,控制是否隐藏/显示/打印LST,是否生成交叉引用以及从中读取源的驱动器。按MENU中的返回将允许用户手动配置所有选项。
然后它要求日期字符串,因为C128没有实时时钟,并询问用户验证设置:
(c)1986年Commodore Electronics,Ltd。 版权所有v3.5 汇编Kernal.src. 单元9上的源文件 清单输出=打印机 没有交叉参考 日期字符串=" 2021-05-08" 错误输出=屏幕 对象输出= kernal.obj在单元9上 打印机设备号= 4 列表和错误文件宽度= 80列 运行此配置? (y / n)
HCD65旨在与BSO相似,但有几个差异:
HCD65接受ASCII和PETSCII源文件。使用现有BSO源文件时,重要的是源文件使用CR线条断裂,并且由.include引用的文件名有正确的案例。
对此版本知之甚少。 C128 DevPack附带的LST文件是用此版本构建的。
1989年,成功开始为即将到来的C64DX / C65写下ROM。机器的CPU是4510,实现了扩展的65CE02指令集,因此为了使用额外的CPU功能,它们需要支持它们的汇编器。
他们已经使用的BSO / VAX交叉汇编程序当时使用的所有开发是由第三方和商品写的没有它的来源,所以Fred Bowen向C128 HCD65增加了支持。
版本0.2是将八个/地图Opcode更改为4510语义,并为BBR / BBS Mnemos添加替代语法。
V3.5和65CE02 0.1和0.2版本的来源可作为Commodore Source Collection的一部分提供:
它们不太可能开发HCD65主要用于商业释放。市场上有大量的汇编者,BSO兼容性不是用户正在寻找的。
另一个假设是他们希望更换BSO交叉装配机以供入住。
1986年,他们在12.5 MHz VAX-8600上使用BSO。原始PDP-10版本的BSO工具是在手写的机器代码中实现的,但稍后的PDP-11 / VAX / Ultrix版本可能以高级语言编写。在2 MHz C128的经过良好优化的机器代码中,可能存在一个新的汇编程序可以匹配BSO汇编器的速度,但C128的I / O系统(甚至使用新的快速串行总线)将具有当然毁了这一点。
因此,他们不会更换BSO以获得速度效益或增加方便。已保留的原始LST文件显示,在1990年(C64GS)之前,Commodore使用BSO,而不是HCD65,而不是HCD65。
开发HCD65的一种现实原因是保险单:拥有BSO的内部替代方案,因此他们不会依赖第三方。内部解决方案也可以改变和扩展,特别是在即将到来的4510 / 65CE02 CPU的上下文中。 65CE02项目,重新设计CMOS的6502,于1985年底开始重新设计6502。实际上,1989年的HCD65加入了4510 / 65CE02的支持。
外部承包商Walrus Software Inc.的图形扩展为基本10使用HCD65 65CE02开发,虽然C65 DOS ROM也是如此,但在1990年的所有开发转换为“Commodore 6502ASM”交叉汇编程序之前,C65 DOS ROM是一段时间。