【发布时间】:2019-07-28 14:08:42
【问题描述】:
我开始使用 Rodney Zaks 的书 Programming the 6502 学习 6502 组装。其中有示例代码,我希望能够在我的 macbook 上运行它。我希望代码能够以书中介绍的形式运行,但我不确定。
我已经下载了 ca65 汇编程序,但是遇到了一些麻烦。命令ca65 3_1.as 有效,但随后使用ld65 -o example 3_1.o(我认为这是正确的)导致错误:ld65: Error: Memory configuration missing
文件3_1.as的代码如下。
谁能建议如何解决我的问题?
(作为一个小问题,目前我猜 100 美元和 200 美元实际上不包含任何值,所以即使程序可以运行,也不会进行实际添加,这是正确的吗?)
CLC ; CLEAR CARRY BIT
CLD ; CLEAR DECIMAL BIT
ADR1 = $100 ; WHERE IN MEMORY ARE THESE THINGS
ADR2 = $200
ADR3 = $300
LDA ADR1 ; LOAD CONTENTS OF ADR1 INTO ACCUMULATOR
ADC ADR2 ; ADD CONTENTS OF ADR2 INTO ACCUMULATOR
STA ADR3 ; TRANSFER CONTENT OF ACC TO ADR3
【问题讨论】:
-
这听起来像是一个安装问题。至于添加,一些东西仍然在那些内存位置,即使你不知道输入和输出将是什么,cpu 也会很好地添加它们。
-
我已经尝试卸载,然后再次安装,但我没有运气。通过添加一个包含内存地址的配置文件,我设法使错误消失。但是,我现在收到一个新错误:“exec 格式错误”。作为一种解决方法,我稍微修改了代码,现在使用github.com/skilldrick/6502js 编译并运行它
-
目前我猜 100 美元和 200 美元实际上不包含任何值 - 内存和寄存器 总是 包含一个值。寄存器和内存的开机或程序启动状态可能无法得到任何保证,但从该地址加载会得到一个值。 (即使你的 6502 没有连接那么多 RAM,我认为它会在将地址放在地址总线上后读取一些值。模拟的 6502 可能只会读取零。)