智能车制作

标题: 调用子程序无法返回,求解!! [打印本页]

作者: thhaoer    时间: 2011-4-21 15:27
标题: 调用子程序无法返回,求解!!
;流水灯程序,发现调用子程序后无法返回,求解

  XDEF  Entry
  ABSENTRY  Entry
  
  INCLUDE 'mc9s12dg128.inc'
          ORG   $4000      
MAIN:     
Entry:   
          LDS   #$1D00       ;定义SP
          LDAA    #$FF           ;设置B口输出
          STAA    DDRB
          CLC                          ;清C位,为循环做准备
          LDAA    #$01         ;初值,让一个灯亮
SHIFT:   
          STAA    PORTB         ;送输出
          BSR     DELAY          ;调用延时子程序
          ROLA                    ;循环移位
          BRA     SHIFT            ;再送输出
        
DELAY:   PSHA                    ;延时子程序
         PSHB
             PSHX
             LDX   #$0005
LOOP1:   LDY   #$0002
LOOP2:   DEY
              BNE   LOOP2
             DEX
            BNE   LOOP1
            PULX
            PULB
            PULA
            RTS

;RTS后,发现X,Y,A,B都变成5A5A了....我用的是CODEWARRIOR5.1
作者: thhaoer    时间: 2011-4-21 15:29
之所以延时X,Y只设一点是为了方便单步
作者: chengqing    时间: 2011-4-22 16:59
怎么是汇编哦…………
作者: 诗雨依然    时间: 2011-4-23 16:42
汇编啊 ,,不懂




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2