所以我想出了以下代码来计算数组所需的字节/字偏移量。
org $1000
NROWS db 3
NCOLS db 3
D2ARR_1 db 0, 0, 0, 0, 0, 0, 0, 0, 0
D2ARR_2 dw 0, 0, 0, 0, 0, 0, 0, 0, 0
byteOffset rmb 1
wordOffset rmb 1
row db 2
column db 2
org $4000
Main:
ldaa row
ldab column
MUL
stab byteOffset
ldaa row
ldab column
MUL
ldaa #2
MUL
stab wordOffset
但是由于某种原因,存储累加器 b 无法正常工作,我正在模拟器中进行调试,并且 byteOffset 和 wordOffset 的内存位置永远不会改变。它们是使用保留内存字节定义的,与保留存储相反,我认为这是正确的(我都尝试过)但似乎无法弄清楚为什么它不存储的问题是什么。b 中的值是正确的,但 stab 线根本什么都不做。
在我的调试中,正在执行的命令是
4007 STAB $101d
累加器 B 包含值 4 和内存位置 101d 是完全自由和可写的。
任何帮助,将不胜感激,
谢谢