hal_led.lst

来自「TI的基于ZIGBEE2006的协议栈」· LST 代码 · 共 1,209 行 · 第 1/5 页

LST
1,209
字号
   \   00015A   8E..         MOV     ?V0 + 0,R6
   \   00015C   8F..         MOV     ?V0 + 1,R7
   \   00015E   75..00       MOV     ?V0 + 2,#0x0
   \   000161   75..00       MOV     ?V0 + 3,#0x0
   \   000164   78..         MOV     R0,#?V0 + 0
   \   000166   12....       LCALL   ?L_ADD_X
   \   000169   7401         MOV     A,#0x1
   \   00016B   12....       LCALL   ?XSTACK_DISP0_8
   \   00016E   12....       LCALL   ?Subroutine2 & 0xFFFF
   \                     ??CrossCallReturnLabel_1:
   \   000171   12....       LCALL   ?L_MOV_TO_X
   \   000174   804F         SJMP    ??HalLedUpdate_8
    294                      }
    295                      else
    296                      {
    297                        /* no more blink, no more wait */
    298                        wait = 0;
   \                     ??HalLedUpdate_7:
   \   000176   7E00         MOV     R6,#0x0
   \   000178   7F00         MOV     R7,#0x0
    299                        /* After blinking, set the LED back to the state before it blinks */
    300                        HalLedSet (led, ((preBlinkState & led)!=0)?HAL_LED_MODE_ON:HAL_LED_MODE_OFF);
   \   00017A   85..82       MOV     DPL,?XSP + 0
   \   00017D   85..83       MOV     DPH,?XSP + 1
   \   000180   E0           MOVX    A,@DPTR
   \   000181   90....       MOV     DPTR,#??preBlinkState
   \   000184   FA           MOV     R2,A
   \   000185   E0           MOVX    A,@DPTR
   \   000186   5A           ANL     A,R2
   \   000187   6004         JZ      ??HalLedUpdate_9
   \   000189   7A01         MOV     R2,#0x1
   \   00018B   8002         SJMP    ??HalLedUpdate_10
   \                     ??HalLedUpdate_9:
   \   00018D   7A00         MOV     R2,#0x0
   \                     ??HalLedUpdate_10:
   \   00018F                ; Setup parameters for call to function HalLedSet
   \   00018F   85..82       MOV     DPL,?XSP + 0
   \   000192   85..83       MOV     DPH,?XSP + 1
   \   000195   E0           MOVX    A,@DPTR
   \   000196   F9           MOV     R1,A
   \   000197   90....       MOV     DPTR,#(HalLedSet & 0xffff)
   \   00019A   74..         MOV     A,#((HalLedSet >> 16) & 0xff)
   \   00019C   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    301                        /* Clear the saved bit */
    302                        preBlinkState &= ~led;
   \   00019F   85..82       MOV     DPL,?XSP + 0
   \   0001A2   85..83       MOV     DPH,?XSP + 1
   \   0001A5   E0           MOVX    A,@DPTR
   \   0001A6   F4           CPL     A
   \   0001A7   FA           MOV     R2,A
   \   0001A8   90....       MOV     DPTR,#??preBlinkState
   \   0001AB   E0           MOVX    A,@DPTR
   \   0001AC   5A           ANL     A,R2
   \   0001AD   F0           MOVX    @DPTR,A
   \   0001AE   8015         SJMP    ??HalLedUpdate_8
    303                      }
    304                    }
    305                    else
    306                    {
    307                      wait = sts->next - time;  /* Time left */
   \                     ??HalLedUpdate_4:
   \   0001B0   7406         MOV     A,#0x6
   \   0001B2   12....       LCALL   ?XSTACK_DISP0_8
   \   0001B5   78..         MOV     R0,#?V0 + 4
   \   0001B7   12....       LCALL   ?L_MOV_X
   \   0001BA   E5..         MOV     A,?V0 + 0
   \   0001BC   C3           CLR     C
   \   0001BD   95..         SUBB    A,?V0 + 4
   \   0001BF   FE           MOV     R6,A
   \   0001C0   E5..         MOV     A,?V0 + 1
   \   0001C2   95..         SUBB    A,?V0 + 5
   \   0001C4   FF           MOV     R7,A
    308                    }
    309          
    310                    if (!next || ( wait && (wait < next) ))
   \                     ??HalLedUpdate_8:
   \   0001C5   7404         MOV     A,#0x4
   \   0001C7   12....       LCALL   ?XSTACK_DISP0_8
   \   0001CA   E0           MOVX    A,@DPTR
   \   0001CB   7002         JNZ     ??HalLedUpdate_11
   \   0001CD   A3           INC     DPTR
   \   0001CE   E0           MOVX    A,@DPTR
   \                     ??HalLedUpdate_11:
   \   0001CF   6017         JZ      ??HalLedUpdate_12
   \   0001D1   EE           MOV     A,R6
   \   0001D2   7001         JNZ     ??HalLedUpdate_13
   \   0001D4   EF           MOV     A,R7
   \                     ??HalLedUpdate_13:
   \   0001D5   601B         JZ      ??HalLedUpdate_3
   \   0001D7   7404         MOV     A,#0x4
   \   0001D9   12....       LCALL   ?XSTACK_DISP0_8
   \   0001DC   E0           MOVX    A,@DPTR
   \   0001DD   F8           MOV     R0,A
   \   0001DE   A3           INC     DPTR
   \   0001DF   E0           MOVX    A,@DPTR
   \   0001E0   F9           MOV     R1,A
   \   0001E1   C3           CLR     C
   \   0001E2   EE           MOV     A,R6
   \   0001E3   98           SUBB    A,R0
   \   0001E4   EF           MOV     A,R7
   \   0001E5   99           SUBB    A,R1
   \   0001E6   500A         JNC     ??HalLedUpdate_3
    311                    {
    312                      next = wait;
   \                     ??HalLedUpdate_12:
   \   0001E8   7404         MOV     A,#0x4
   \   0001EA   12....       LCALL   ?XSTACK_DISP0_8
   \   0001ED   EE           MOV     A,R6
   \   0001EE   F0           MOVX    @DPTR,A
   \   0001EF   A3           INC     DPTR
   \   0001F0   EF           MOV     A,R7
   \   0001F1   F0           MOVX    @DPTR,A
    313                    }
    314                  }
    315                  leds ^= led;
   \                     ??HalLedUpdate_3:
   \   0001F2   85..82       MOV     DPL,?XSP + 0
   \   0001F5   85..83       MOV     DPH,?XSP + 1
   \   0001F8   E0           MOVX    A,@DPTR
   \   0001F9   FA           MOV     R2,A
   \   0001FA   7403         MOV     A,#0x3
   \   0001FC   12....       LCALL   ?XSTACK_DISP0_8
   \   0001FF   E0           MOVX    A,@DPTR
   \   000200   6A           XRL     A,R2
   \   000201   F0           MOVX    @DPTR,A
    316                }
    317                led <<= 1;
   \                     ??HalLedUpdate_2:
   \   000202   85..82       MOV     DPL,?XSP + 0
   \   000205   85..83       MOV     DPH,?XSP + 1
   \   000208   E0           MOVX    A,@DPTR
   \   000209   C3           CLR     C
   \   00020A   33           RLC     A
   \   00020B   F0           MOVX    @DPTR,A
    318                sts++;
   \   00020C   7401         MOV     A,#0x1
   \   00020E   12....       LCALL   ?XSTACK_DISP0_8
   \   000211   E0           MOVX    A,@DPTR
   \   000212   2409         ADD     A,#0x9
   \   000214   F8           MOV     R0,A
   \   000215   A3           INC     DPTR
   \   000216   E0           MOVX    A,@DPTR
   \   000217   3400         ADDC    A,#0x0
   \   000219   F9           MOV     R1,A
   \   00021A   7401         MOV     A,#0x1
   \   00021C   12....       LCALL   ?XSTACK_DISP0_8
   \   00021F   E8           MOV     A,R0
   \   000220   F0           MOVX    @DPTR,A
   \   000221   A3           INC     DPTR
   \   000222   E9           MOV     A,R1
   \   000223   F0           MOVX    @DPTR,A
    319              }
   \   000224   7403         MOV     A,#0x3
   \   000226   12....       LCALL   ?XSTACK_DISP0_8
   \   000229   E0           MOVX    A,@DPTR
   \   00022A   6003         JZ      $+5
   \   00022C   02....       LJMP    ??HalLedUpdate_1 & 0xFFFF
    320          
    321              if (next)
   \   00022F   7404         MOV     A,#0x4
   \   000231   12....       LCALL   ?XSTACK_DISP0_8
   \   000234   E0           MOVX    A,@DPTR
   \   000235   7002         JNZ     ??HalLedUpdate_14
   \   000237   A3           INC     DPTR
   \   000238   E0           MOVX    A,@DPTR
   \                     ??HalLedUpdate_14:
   \   000239   6016         JZ      ??HalLedUpdate_0
    322              {
    323                osal_start_timer (HAL_LED_BLINK_EVENT, next);   /* Schedule event */
   \   00023B                ; Setup parameters for call to function osal_start_timer
   \   00023B   7404         MOV     A,#0x4
   \   00023D   12....       LCALL   ?XSTACK_DISP0_8
   \   000240   E0           MOVX    A,@DPTR
   \   000241   FC           MOV     R4,A
   \   000242   A3           INC     DPTR
   \   000243   E0           MOVX    A,@DPTR
   \   000244   FD           MOV     R5,A
   \   000245   7A02         MOV     R2,#0x2
   \   000247   7B00         MOV     R3,#0x0
   \   000249   90....       MOV     DPTR,#(osal_start_timer & 0xffff)
   \   00024C   74..         MOV     A,#((osal_start_timer >> 16) & 0xff)
   \   00024E   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    324              }
    325            }
    326          }
   \                     ??HalLedUpdate_0:
   \   000251   740A         MOV     A,#0xa
   \   000253   02....       LJMP    ?Subroutine11 & 0xFFFF

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine7:
   \   000000   A3           INC     DPTR
   \   000001   E0           MOVX    A,@DPTR
   \   000002   F583         MOV     DPH,A
   \   000004   8882         MOV     DPL,R0
   \   000006   A3           INC     DPTR
   \   000007   A3           INC     DPTR
   \   000008   E0           MOVX    A,@DPTR
   \   000009   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine5:
   \   000000   12....       LCALL   ?Subroutine8 & 0xFFFF
   \                     ??CrossCallReturnLabel_17:
   \   000003   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine8:
   \   000000   E0           MOVX    A,@DPTR
   \   000001   F8           MOV     R0,A
   \                     ??Subroutine8_0:
   \   000002   A3           INC     DPTR
   \   000003   E0           MOVX    A,@DPTR
   \   000004   F583         MOV     DPH,A
   \   000006   8882         MOV     DPL,R0
   \   000008   E0           MOVX    A,@DPTR
   \   000009   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine4:
   \   000000   12....       LCALL   ?Subroutine8 & 0xFFFF
   \                     ??CrossCallReturnLabel_16:
   \   000003   A2E1         MOV     C,0xE0 /* A   */.1
   \   000005   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine3:
   \   000000   85..82       MOV     DPL,?XSP + 0
   \   000003   85..83       MOV     DPH,?XSP + 1
   \                     ??Subroutine3_0:
   \   000006   E0           MOVX    A,@DPTR
   \   000007   F9           MOV     R1,A
   \   000008   90....       MOV     DPTR,#(HalLedOnOff & 0xffff)
   \   00000B   74..         MOV     A,#((HalLedOnOff >> 16) & 0xff)
   \   00000D   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine2:
   \   000000   E0           MOVX    A,@DPTR
   \   000001   F8           MOV     R0,A
   \ 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?