⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hal_assert.lst

📁 用IAR开发的ZIGBEE网络路由例子
💻 LST
📖 第 1 页 / 共 3 页
字号:
     92             */
     93            HAL_BOARD_INIT();
   \   00000C   43FE01       ORL     0xfe,#0x1
   \   00000F   43FE02       ORL     0xfe,#0x2
   \   000012   43F701       ORL     0xf7,#0x1
   \   000015   43FE04       ORL     0xfe,#0x4
   \   000018   C292         CLR     0x90.2
     94          
     95            HAL_TURN_OFF_LED1();
   \   00001A   D290         SETB    0x90.0
     96            HAL_TURN_OFF_LED2();
   \   00001C   D291         SETB    0x90.1
     97            HAL_TURN_OFF_LED3();
   \   00001E   D291         SETB    0x90.1
   \   000020   02....       LJMP    ??halAssertHazardLights_0 & 0xFFFF
     98            HAL_TURN_OFF_LED4();
     99          
    100            /*-------------------------------------------------------------------------------
    101             *  Master infinite loop.
    102             */
    103            for (;;)
    104            {
    105              buttonHeld = 0;
    106          
    107              /*-------------------------------------------------------------------------------
    108               *  "Hazard lights" loop.  A held keypress will exit this loop.
    109               */
    110              do
    111              {
    112                HAL_LED_BLINK_DELAY();
    113          
    114                /* toggle LEDS, the #ifdefs are in case HAL has logically remapped non-existent LEDs */
    115          #if (HAL_NUM_LEDS >= 1)
    116                HAL_TOGGLE_LED1();
    117          #if (HAL_NUM_LEDS >= 2)
    118                HAL_TOGGLE_LED2();
    119          #if (HAL_NUM_LEDS >= 3)
    120                HAL_TOGGLE_LED3();
    121          #if (HAL_NUM_LEDS >= 4)
    122                HAL_TOGGLE_LED4();
    123          #endif
    124          #endif
    125          #endif
    126          #endif
    127          
    128                /* escape hatch to continue execution, set escape to '1' to continue execution */
    129                {
    130                  static uint8 escape = 0;
    131                  if (escape)
    132                  {
    133                    escape = 0;
    134                    return;
    135                  }
    136                }
    137          
    138                /* break out of loop if button is held long enough */
    139                if (HAL_PUSH_BUTTON1())
    140                {
    141                  buttonHeld++;
   \                     ??halAssertHazardLights_1:
   \   000023   0A           INC     R2
    142                }
    143                else
    144                {
    145                  buttonHeld = 0;
    146                }
    147              }
    148              while (buttonHeld != 10);  /* loop until button is held specified number of loops */
   \   000024   740A         MOV     A,#0xa
   \   000026   6A           XRL     A,R2
   \   000027   6070         JZ      ??halAssertHazardLights_2
   \                     ??halAssertHazardLights_3:
   \   000029   90....       MOV     DPTR,#__Constant_0
   \   00002C   78..         MOV     R0,#?V0 + 0
   \   00002E   12....       LCALL   ?L_MOV_X
   \   000031   7405         MOV     A,#0x5
   \   000033   12....       LCALL   ?XSTACK_DISP0_8
   \   000036   78..         MOV     R0,#?V0 + 0
   \   000038   12....       LCALL   ?L_MOV_TO_X
   \   00003B   8012         SJMP    ??halAssertHazardLights_4
   \                     ??halAssertHazardLights_5:
   \   00003D   90....       MOV     DPTR,#__Constant_1
   \   000040   78..         MOV     R0,#?V0 + 0
   \   000042   12....       LCALL   ?L_MOV_X
   \   000045   7405         MOV     A,#0x5
   \   000047   12....       LCALL   ?XSTACK_DISP0_8
   \   00004A   78..         MOV     R0,#?V0 + 0
   \   00004C   12....       LCALL   ?L_ADD_TO_X
   \                     ??halAssertHazardLights_4:
   \   00004F   7405         MOV     A,#0x5
   \   000051   12....       LCALL   ?XSTACK_DISP0_8
   \   000054   C082         PUSH    DPL
   \   000056   C083         PUSH    DPH
   \   000058   90....       MOV     DPTR,#__Constant_5800
   \   00005B   78..         MOV     R0,#?V0 + 0
   \   00005D   12....       LCALL   ?L_MOV_X
   \   000060   D083         POP     DPH
   \   000062   D082         POP     DPL
   \   000064   78..         MOV     R0,#?V0 + 0
   \   000066   12....       LCALL   ?UL_GT_X
   \   000069   40D2         JC      ??halAssertHazardLights_5
   \   00006B   A290         MOV     C,0x90.0
   \   00006D   5004         JNC     ??halAssertHazardLights_6
   \   00006F   C290         CLR     0x90.0
   \   000071   8002         SJMP    ??halAssertHazardLights_7
   \                     ??halAssertHazardLights_6:
   \   000073   D290         SETB    0x90.0
   \                     ??halAssertHazardLights_7:
   \   000075   A291         MOV     C,0x90.1
   \   000077   5004         JNC     ??halAssertHazardLights_8
   \   000079   C291         CLR     0x90.1
   \   00007B   8002         SJMP    ??halAssertHazardLights_9
   \                     ??halAssertHazardLights_8:
   \   00007D   D291         SETB    0x90.1
   \                     ??halAssertHazardLights_9:
   \   00007F   90....       MOV     DPTR,#??escape
   \   000082   E0           MOVX    A,@DPTR
   \   000083   600C         JZ      ??halAssertHazardLights_10
   \   000085   E4           CLR     A
   \   000086   F0           MOVX    @DPTR,A
   \   000087   7409         MOV     A,#0x9
   \   000089   12....       LCALL   ?DEALLOC_XSTACK8
   \   00008C   7F04         MOV     R7,#0x4
   \   00008E   02....       LJMP    ?BANKED_LEAVE_XDATA
   \                     ??halAssertHazardLights_10:
   \   000091   A281         MOV     C,0x80.1
   \   000093   508E         JNC     ??halAssertHazardLights_1
   \                     ??halAssertHazardLights_11:
   \   000095   7A00         MOV     R2,#0x0
   \   000097   8090         SJMP    ??halAssertHazardLights_3
    149          
    150              /*-------------------------------------------------------------------------------
    151               *  Just exited from "hazard lights" loop.
    152               */
    153          
    154              /* turn off all LEDs */
    155              HAL_TURN_OFF_LED1();
   \                     ??halAssertHazardLights_2:
   \   000099   D290         SETB    0x90.0
    156              HAL_TURN_OFF_LED2();
   \   00009B   D291         SETB    0x90.1
    157              HAL_TURN_OFF_LED3();
   \   00009D   D291         SETB    0x90.1
    158              HAL_TURN_OFF_LED4();
   \   00009F   D290         SETB    0x90.0
    159          
    160              /* wait for button release */
    161              HAL_DEBOUNCE(!HAL_PUSH_BUTTON1());
   \   0000A1   7800         MOV     R0,#0x0
   \   0000A3   7900         MOV     R1,#0x0
   \                     ??halAssertHazardLights_12:
   \   0000A5   A281         MOV     C,0x80.1
   \   0000A7   4004         JC      ??halAssertHazardLights_13
   \   0000A9   7800         MOV     R0,#0x0
   \   0000AB   7900         MOV     R1,#0x0
   \                     ??halAssertHazardLights_13:
   \   0000AD   12....       LCALL   ?Subroutine0 & 0xFFFF
   \                     ??CrossCallReturnLabel_0:
   \   0000B0   40F3         JC      ??halAssertHazardLights_12
    162          
    163              /*-------------------------------------------------------------------------------
    164               *  Load debug data into memory.
    165               */
    166          #ifdef HAL_MCU_AVR
    167              {
    168                uint8 * pStack;
    169                pStack = (uint8 *) SP;
    170                pStack++; /* point to return address on stack */
    171                debugData[DEBUG_DATA_RSTACK_HIGH_OFS] = *pStack;
    172                pStack++;
    173                debugData[DEBUG_DATA_RSTACK_LOW_OFS] = *pStack;
    174              }
    175              debugData[DEBUG_DATA_INT_MASK_OFS] = EIMSK;
    176          #endif
    177          
    178          #ifdef HAL_MCU_CC2430
    179              debugData[DEBUG_DATA_INT_MASK_OFS] = RFIM;
   \   0000B2   E591         MOV     A,0x91
   \   0000B4   C0E0         PUSH    A
   \   0000B6   7404         MOV     A,#0x4
   \   0000B8   12....       LCALL   ?XSTACK_DISP0_8
   \   0000BB   D0E0         POP     A
   \   0000BD   F0           MOVX    @DPTR,A
    180          #endif
    181          
    182              debugData[DEBUG_DATA_TX_ACTIVE_OFS] = macTxActive;
   \   0000BE   90....       MOV     DPTR,#macTxActive
   \   0000C1   E0           MOVX    A,@DPTR
   \   0000C2   C0E0         PUSH    A
   \   0000C4   7402         MOV     A,#0x2
   \   0000C6   12....       LCALL   ?XSTACK_DISP0_8
   \   0000C9   D0E0         POP     A
   \   0000CB   F0           MOVX    @DPTR,A
    183              debugData[DEBUG_DATA_RX_ACTIVE_OFS] = macRxActive;
   \   0000CC   90....       MOV     DPTR,#macRxActive
   \   0000CF   E0           MOVX    A,@DPTR
   \   0000D0   C0E0         PUSH    A
   \   0000D2   7403         MOV     A,#0x3
   \   0000D4   12....       LCALL   ?XSTACK_DISP0_8
   \   0000D7   D0E0         POP     A
   \   0000D9   F0           MOVX    @DPTR,A
    184          
    185             /* initialize for data dump loop */
    186              {
    187                uint8 iBit;
    188                uint8 iByte;
    189          
    190                iBit  = 0;
   \   0000DA   7C00         MOV     R4,#0x0
    191                iByte = 0;
   \   0000DC   7B00         MOV     R3,#0x0
    192          
    193                /*-------------------------------------------------------------------------------
    194                 *  Data dump loop.  A button press cycles data bits to an LED.
    195                 */
    196                while (iByte < DEBUG_DATA_SIZE)
    197                {
    198                  /* wait for key press */
    199                  while(!HAL_PUSH_BUTTON1());
   \                     ??halAssertHazardLights_14:
   \   0000DE   A281         MOV     C,0x80.1
   \   0000E0   40FC         JC      ??halAssertHazardLights_14
    200          
    201                  /* turn on all LEDs for first bit of byte, turn on three LEDs if not first bit */
    202                  HAL_TURN_ON_LED1();
   \   0000E2   C290         CLR     0x90.0
    203                  HAL_TURN_ON_LED2();
   \   0000E4   C291         CLR     0x90.1
    204                  HAL_TURN_ON_LED3();
   \   0000E6   C291         CLR     0x90.1
    205                  if (iBit == 0)
   \   0000E8   EC           MOV     A,R4
   \   0000E9   7004         JNZ     ??halAssertHazardLights_15
    206                  {
    207                    HAL_TURN_ON_LED4();
   \   0000EB   C290         CLR     0x90.0
   \   0000ED   8002         SJMP    ??halAssertHazardLights_16

⌨️ 快捷键说明

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