私は最初 (助けを求めて)、2 つの n バイト整数を追加する 6502 ペット エミュレーターで BASIC プログラムを作成しました。ただし、私のフィードバックは、2 つの 16 ビット整数を追加するだけであるというものでした (n バイト整数を追加するのではありません)。
私のコードを見てこのフィードバックを理解し、2 つの n バイト整数を追加するプログラムを作成するための正しい方向を教えてくれる人はいますか?
コラボありがとう!
ドキュメント: 絶対インデックス アドレッシングを使用して 2 つの n バイト整数を追加します。加数はメモリ位置 $0600、$0700 から始まり、答えは $0800 にあります。整数のバイト長は $0600 です (¢ —> 256)
Machine Code:
18 a2 00 ac 00 06 bd 00
07 7d 00 08 9d 00 09 e8
00 88 00 d0
オペコード、ドキュメント、変数:
A1 = $0600
B1 = $0700
B2 = $0800
Z1 = $0900
[START] = $0500
CLC 18 // loads x with 0
LDX A2 00 // loads length on Y
LDY A1 AC 00 06 // load first operand
loop: LDA B1, x BD 00 07 // adds second operand
ADC B2, x 7D 00 08 // store result
STA Z1, x 9D 00 09 // go to next byte
INX E8 00 // count how many are left
DEY 88 00 // do more if needed
BNE loop D0