我正在CA65中工作一个6502项目,并且我无法理解某些指令。CA65段存储器映射问题
我想要做的就是定义一个段,就好像它在另一部分内存中一样,这样所有代码的寻址就好像它在编译期间已经在那段内存中一样,但它会加载主程序并且需要在加载后移动到位...这是这些旧机器的一个非常基本的模型,但是我无法使segment命令中的DEFINE指令正常工作。
所以我叫CFG文件创建为外部的位置MYMEM一个MEMORY定义在程序实际负载,说是这样的:
MEMORY{
.
.
MYMEM start = $1000, size =$0200
.
}
,并在随后创建了一个名为MYMEMSEG
段SEGMENTS{
.
.
MYMEMSEG: load=MYMEM, type =rw, define=yes;
.
.
}
然后我试图访问_ _MYMEMSEG_LOAD__或_ _MYMEMSEG_RUN__或_ _MYMEMSEG_SIZE__它称创造价值,但他们是在他们MYMEM或MYMEMSEG所有未定义的...生成的地图文件不包含任何东西。 ..那是什么我不理解这里?
,你可能会有声明它创造外部,就像他们在单独的程序源代码文件中定义的符号。 –
我不是很遵循这里...这里没有代码告诉.export,以后担心导入/包括... _SIZE__ _LOAD__和_RUN__应该由define = yes创建,那么如何我去解决这个问题? – user282172
http://www.cc65.org/doc/ld65-5.html 特别是分段信息5.2 – user282172