我有一个包含两个数据表和一个结果表的程序
ORG $B000
TABLE1 FCB 222, 37, ...
TABLE2 FCB 37, 100, ...
ORG $B010
RESULT RMB 8
我的程序循环遍历每个表中的值,并将它们传递给找到它们最大公分母的函数。返回值通过堆栈传递,需要存储在 Result 表中。这是我到目前为止所拥有的
ORG $C000
LDX #TABLE1
LDY #TABLE2
WHILE LDAA 0,X WHILE (*TABLE1 != -1)
CMPA #$FF
BEQ ENDWHILE
LDAA 0,X PASS VARIABLES TO
LDAB 0,Y SUBROUTINE IN REGISTER
INX TABLE1++
INY TABLE2++
JSR SUB
PULA
STAA RESULT GET RETURN VALUE FROM STACK
上面的代码和我的子程序一样工作正常。我不知道如何增加我的 RESULT 变量。我尝试使用循环计数器作为偏移量,但由于某种原因,下面的代码存储在位置 $B019 而不是 $B010
STAA COUNTER,RESULT
INC COUNTER
如果有任何不清楚或您认为问题不好,请发表评论,我会解决它。