そのため、配列の必要なバイト/ワードオフセットを計算する次のコードを思いつきました。
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 の値は正しいですが、スタブ行は単に何もしていません。
私のデバッグでは、実行されているコマンドは
4007 STAB $101d
アキュムレータ B は値 4 を含み、メモリ位置 101d は完全にフリーで書き込み可能です。
どんな助けでも大歓迎です、
ありがとう