首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改C64程序基本报头?

修改C64程序基本报头?
EN

Stack Overflow用户
提问于 2019-08-25 04:26:14
回答 1查看 281关注 0票数 5

我最近买了一台c64 mini,并尝试用Turbo Macro Pro v1.2编写一些汇编代码。

在开发hello world程序时,我发现了一个教程,其中使用了自动运行BASIC头文件。

我还试图包含一个PRINT CHR$(147)来清除屏幕,但是我得到了一个内存不足的错误。

原始的基本标头是:

代码语言:javascript
复制
*=$0801
.byte $0c, $08, $0a, $00, $9e, $20
.byte $34, $30, $39, $36, $00, $00
.byte $00

我将其修改为:

代码语言:javascript
复制
*=$0801
.byte $0e, $08, $0a, $00, $99, $20
.byte $c7, $28, $31, $34, $37, $29
.byte $00, 
.byte $19, $08, $14, $00, $9e, $20
.byte $34, $30, $39, $36, $00, $00
.byte $00

当我从TMP进行汇编和运行,然后输入LIST时,

代码语言:javascript
复制
10 PRINT CHR$(147)
20 SYS 4096

但是在运行时,我在第10行得到了内存不足错误。

我做错了什么吗?或者这条指令真的内存不足?

TMP仍在后台加载到内存中。我现在正在副警局运行这个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-15 01:35:55

我猜TMP会为查找表、中间代码等分配所有的内存。它最不想做的事情就是把事情搞得一团糟,所以它会把基本内存的顶部指向安全的地方。可分配的基本内存可以在43-44和55-56处的指针中找到,指示基本内存的开始/结束。通常情况下,它们对$A000来说是0801美元,但我猜TMP设置的不是这样的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57641295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档