我正在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