6502装配将2位数字转换为4位数字

时间:2014-10-05 03:22:07

标签: assembly 6502

我有一个随机数(从0到31)x存储在地址$00,另一个随机数(从0到31)y存储在地址$01。我想将这两个数字用作坐标并导出地址$xy。例如,如果x = 2,y = 10,则地址为$020a。我是初学者,所以有人可以分享一种有效的方法吗?

我想在派生地址$020a中存储其他一些值,所以这就是我需要的原因。

2 个答案:

答案 0 :(得分:1)

LDY #$00
LDA #VALUE
STA ($00),Y 

这将根据您的问题中描述的$ 00和$ 01中包含的地址将数据加载到累加器中。

当地址$ 00有10或$ 0a,地址$ 01有2或$ 2时,这会将VALUE写入地址$ 02a。

这使用http://www.dwheeler.com/6502/oneelkruns/asm1step.html

中描述的间接索引寻址

答案 1 :(得分:1)

您需要使用间接寻址。间接寻址采用地址加Y寄存器,因此请确保先清除Y寄存器。

LDY #0
LDA ($0),Y

要存储在该地址:

LDA #$FF ; or whatever you want to store
LDY #0
STA ($0),Y

以下是有关间接寻址的更多信息:http://www.obelisk.demon.co.uk/6502/addressing.html#IDY

我生锈了,但希望这会引导你朝着正确的方向前进。