我真正坚持的是我应该如何正确地完成这个循环我尝试为每个分支做每个组合,但它要么永远不会停止,要么停在错误的循环数(假设在RPN_START中的值之后停止)。我甚至尝试过在之前的实验室中所做的事情,但也没有成功,所以我完全迷失了我应该如何让这个程序循环。我知道RPN_OUT是数组的结束指针,因此我尝试将RPN_START与CPY进行比较以进行比较,但这样做会使其在一个循环后停止。所以我根本不知道我应该使用哪个分支。任何帮助/提示/建议将不胜感激。非常感谢!
ORG DATA
;RPN_IN FCB $06,$03,$2F,$04,$2A,$02,$2B ; 63/4*2+=10
;RPN_IN FCB $05,$01,$02,$2B,$04,$2A,$2B,$03,$2D ; 512+4*+3-
;RPN_IN FCB $02,$03,$2A,$05,$2A,$02,$2F,$01, $2B ; ( ( (2 * 3) * 5) / 2) + 1
RPN_IN FCB $11,$10,$2F,$15,$2A ; ( (11 / 10) ) * 15
RPN_OUT RMB 1
RPN_START FDB RPN_IN ; Pointer to start of RPN array
RPN_END FDB RPN_OUT ; Pointer to end of RPN array
ANSWER RMB 1
TEMP FCB $00
ORG PROG
Entry: ; KEEP THIS LABEL!!
LDS #PROG
LDX #RPN_IN
LOOP:
TFR X,A
LDAA X
...
PSHA
RET:
INX
CPX #RPN_OUT
BNE LOOP
PULA
STAA ANSWER