【从哪里获得?】
我们做任何其他事情之前,最好展示怎么使用内存用于我们自己的数据。这个数据可能是任何东西,例如你需要存储的数字或主角的X/Y坐标值。我们将使用自由内存:位于CPU $0000。
【怎样使用?】
代码段0用ORG伪指令定位到$0000,为一些内存贴上标签,然后ORG定位到$8000开始我们的代码。
创建一个带标签的内存(也就是创建一个变量),可使用汇编操作.db,就像这样:
.bank 0
.org $0000
label1: .db 0
byte1: .db $A5 ; .db后面的值不需要加#
.org $8000
Start: ; 正常写代码
由于label1和byte1实际上都是标签,它们不需要缩进。
【载入变量值】
lda label1 ; label1处变量的值赋给A
ldx label1 ; label1处变量的值赋给X
ldy label1 ; 你懂得
lda byte1 ; 你懂得
【保存到变量】
sta label1 ; 将A的值保存至label1处的变量
stx label1 ; 将X的值保存至label1处的变量
sty label1 ; 你懂得
stx byte1 ; 你懂得
【一些重要的现实】
我想提的主要内容是,我们除了字节,还可以定义字,但由于NES的CPU只能工作在8bit,所以字不能一次读取或写入。
我还没试,你可以这样:
inc label1; 增1
dec label1; 减1
【今日回顾】
我不知道明天讲什么,因为我需要完成GBA教程的第13天。我希望你有愉快的一天。为什么你不试试用手柄控制主角移动呢???