繁体   English   中英

修改过的C64 PRG BASIC标题?

[英]Modified C64 PRG BASIC header?

我最近买了一台c64 mini,并试图使用Turbo Macro Pro v1.2编写一些装配。

在处理hello world程序时,我发现了一个使用自动运行BASIC标头的教程。

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

最初的BASIC标题是:

*=$0801
.byte $0c, $08, $0a, $00, $9e, $20
.byte $34, $30, $39, $36, $00, $00
.byte $00

我把它修改为:

*=$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时,我得到了,

10 PRINT CHR$(147)
20 SYS 4096

但是当RUN我在第10行得到OUT OF MEMORY ERROR。

难道我做错了什么? 或者这个指令真的没有记忆吗?

TMP仍然在后台加载到内存中。 我目前正在VICE中运行它。

我猜想TMP会为查找表,中间代码等分配所有内存。它最不想要的是BASIC搞砸了,所以它会将BASIC内存的顶部指向安全的地方。 可分配的BASIC存储器可以在43-44和55-56的指针中找到,表示BASIC存储器的开始/结束。 通常情况下,他们是$ 0801到$ A000,但我猜测TMP设置不然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM