我目前正在开发 NES(6502) 组装游戏,但我不明白如何使精灵移动。我认为它应该是这样工作的:
(loop)
LDA $200 ;will load into the A register the content of address $200,wich contain the Y position of my sprite
INA ;Increment the A register which would increment the content of A which is the Y position of my sprite..?
然而,您似乎无法递增 A 寄存器累加器,因为在尝试使用 INA 指令进行汇编时出现错误。所以我有点迷失了。我应该使用 STA 而不是 LDA 吗?但我想使用地址 $200 的内容,而不是在其中放置我选择的值。我不知道如何让我的精灵移动。
确实没有INA
可用于 NES 中使用的 6502 变体。您可以增加A
1 使用以下指令对:
CLC ; Clear carry
ADC #1 ; A = A + 1 + carry = A + 1
或者,如果任一索引寄存器空闲,您可以使用:
LDX $200 ; or LDY
INX ; or INY
但请记住,其他算术运算如ADC
, SBC
, LSR
等,无法执行X
or Y
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)