(HCS12微控制器:汇编语言)哪个分支适合此循环?

时间:2016-03-16 07:41:59

标签: loops assembly branch

我真正坚持的是我应该如何正确地完成这个循环我尝试为每个分支做每个组合,但它要么永远不会停止,要么停在错误的循环数(假设在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

0 个答案:

没有答案