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

📄 hal_assert.lst

📁 用IAR开发的ZIGBEE网络路由例子
💻 LST
📖 第 1 页 / 共 3 页
字号:
    208                  }
    209                  else
    210                  {
    211                    HAL_TURN_OFF_LED4();
   \                     ??halAssertHazardLights_15:
   \   0000EF   D290         SETB    0x90.0
    212                  }
    213          
    214                  /* wait for debounced key release */
    215                  HAL_DEBOUNCE(!HAL_PUSH_BUTTON1());
   \                     ??halAssertHazardLights_16:
   \   0000F1   7800         MOV     R0,#0x0
   \   0000F3   7900         MOV     R1,#0x0
   \                     ??halAssertHazardLights_17:
   \   0000F5   A281         MOV     C,0x80.1
   \   0000F7   4004         JC      ??halAssertHazardLights_18
   \   0000F9   7800         MOV     R0,#0x0
   \   0000FB   7900         MOV     R1,#0x0
   \                     ??halAssertHazardLights_18:
   \   0000FD   12....       LCALL   ?Subroutine0 & 0xFFFF
   \                     ??CrossCallReturnLabel_1:
   \   000100   40F3         JC      ??halAssertHazardLights_17
    216          
    217                  /* turn off all LEDs */
    218                  HAL_TURN_OFF_LED1();
   \   000102   D290         SETB    0x90.0
    219                  HAL_TURN_OFF_LED2();
   \   000104   D291         SETB    0x90.1
    220                  HAL_TURN_OFF_LED3();
   \   000106   D291         SETB    0x90.1
    221                  HAL_TURN_OFF_LED4();
   \   000108   D290         SETB    0x90.0
    222          
    223                  /* output value of data bit to LED1 */
    224                  if (debugData[iByte] & (1 << (7 - iBit)))
   \   00010A   75..01       MOV     ?V0 + 0,#0x1
   \   00010D   75..00       MOV     ?V0 + 1,#0x0
   \   000110   7407         MOV     A,#0x7
   \   000112   C3           CLR     C
   \   000113   9C           SUBB    A,R4
   \   000114   78..         MOV     R0,#?V0 + 0
   \   000116   12....       LCALL   ?S_SHL
   \   000119   C0..         PUSH    ?V0 + 0
   \   00011B   8B..         MOV     ?V0 + 0,R3
   \   00011D   85..82       MOV     DPL,?XSP + 0
   \   000120   85..83       MOV     DPH,?XSP + 1
   \   000123   E582         MOV     A,DPL
   \   000125   25..         ADD     A,?V0 + 0
   \   000127   F582         MOV     DPL,A
   \   000129   E583         MOV     A,DPH
   \   00012B   3400         ADDC    A,#0x0
   \   00012D   F583         MOV     DPH,A
   \   00012F   D0E0         POP     A
   \   000131   FA           MOV     R2,A
   \   000132   E0           MOVX    A,@DPTR
   \   000133   5A           ANL     A,R2
   \   000134   6004         JZ      ??halAssertHazardLights_19
    225                  {
    226                    HAL_TURN_ON_LED1();
   \   000136   C290         CLR     0x90.0
   \   000138   8002         SJMP    ??halAssertHazardLights_20
    227                  }
    228                  else
    229                  {
    230                    HAL_TURN_OFF_LED1();
   \                     ??halAssertHazardLights_19:
   \   00013A   D290         SETB    0x90.0
    231                  }
    232          
    233                  /* advance to next bit */
    234                  iBit++;
   \                     ??halAssertHazardLights_20:
   \   00013C   0C           INC     R4
    235                  if (iBit == 8)
   \   00013D   7408         MOV     A,#0x8
   \   00013F   6C           XRL     A,R4
   \   000140   709C         JNZ     ??halAssertHazardLights_14
    236                  {
    237                    iBit = 0;
   \   000142   7C00         MOV     R4,#0x0
    238                    iByte++;
   \   000144   0B           INC     R3
    239                  }
    240                }
   \   000145   EB           MOV     A,R3
   \   000146   C3           CLR     C
   \   000147   9405         SUBB    A,#0x5
   \   000149   4093         JC      ??halAssertHazardLights_14
    241              }
    242          
    243              /*
    244               *  About to enter "hazard lights" loop again.  Turn off LED1 in case the last bit
    245               *  displayed happened to be one.  This guarantees all LEDs are off at the start of
    246               *  the flashing loop which uses a toggle operation to change LED states.
    247               */
    248              HAL_TURN_OFF_LED1();
   \                     ??halAssertHazardLights_0:
   \   00014B   D290         SETB    0x90.0
   \   00014D   02....       LJMP    ??halAssertHazardLights_11 & 0xFFFF
    249            }
    250          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   E8           MOV     A,R0
   \   000001   2401         ADD     A,#0x1
   \   000003   08           INC     R0
   \   000004   E9           MOV     A,R1
   \   000005   3400         ADDC    A,#0x0
   \   000007   F9           MOV     R1,A
   \   000008   C3           CLR     C
   \   000009   E8           MOV     A,R0
   \   00000A   94F4         SUBB    A,#-0xc
   \   00000C   E9           MOV     A,R1
   \   00000D   9401         SUBB    A,#0x1
   \   00000F   A2D2         MOV     C,0xD0 /* PSW */.2
   \   000011   65D0         XRL     A,PSW
   \   000013   33           RLC     A
   \   000014   22           RET

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
   \                     ??escape:
   \   000000                DS 1

   \                                 In segment XDATA_I, align 1, keep-with-next
   \                     __Constant_0:
   \   000000                DS 4
   \   000004                REQUIRE `?<Initializer for __Constant_0>`
   \   000004                REQUIRE __INIT_XDATA_I

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for __Constant_0>`:
   \   000000   00000000     DD 0

   \                                 In segment XDATA_I, align 1, keep-with-next
   \                     __Constant_1:
   \   000000                DS 4
   \   000004                REQUIRE `?<Initializer for __Constant_1>`
   \   000004                REQUIRE __INIT_XDATA_I

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for __Constant_1>`:
   \   000000   01000000     DD 1

   \                                 In segment XDATA_I, align 1, keep-with-next
   \                     __Constant_5800:
   \   000000                DS 4
   \   000004                REQUIRE `?<Initializer for __Constant_5800>`
   \   000004                REQUIRE __INIT_XDATA_I

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for __Constant_5800>`:
   \   000000   00580000     DD 22528

   \                                 In segment SFR_AN, at 0x80
   \   union <unnamed> volatile __sfr _A_P0
   \                     _A_P0:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0x90
   \   union <unnamed> volatile __sfr _A_P1
   \                     _A_P1:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xa8
   \   union <unnamed> volatile __sfr _A_IEN0
   \                     _A_IEN0:
   \   000000                DS 1
    251          
    252          
    253          /* ------------------------------------------------------------------------------------------------
    254           *                                    Compile Time Assertions
    255           * ------------------------------------------------------------------------------------------------
    256           */
    257          
    258          /* integrity check of type sizes */
    259          HAL_ASSERT_SIZE(  int8, 1);
    260          HAL_ASSERT_SIZE( uint8, 1);
    261          HAL_ASSERT_SIZE( int16, 2);
    262          HAL_ASSERT_SIZE(uint16, 2);
    263          HAL_ASSERT_SIZE( int32, 4);
    264          HAL_ASSERT_SIZE(uint32, 4);
    265          
    266          
    267          /**************************************************************************************************
    268          */

   Maximum stack usage in bytes:

     Function                   ISTACK PSTACK XSTACK
     --------                   ------ ------ ------
     halAssertHandler               2      0      0
       -> halAssertHazardLights     4      0      0
     halAssertHazardLights          4      0     21


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     RFIM                              1
     P2INP                             1
     P1DIR                             1
     halAssertHandler                 19
     halAssertHazardLights           336
     ?Subroutine0                     21
     escape                            1
     __Constant_0                      4
     ?<Initializer for __Constant_0>
                                       4
     __Constant_1                      4
     ?<Initializer for __Constant_1>
                                       4
     __Constant_5800                   4
     ?<Initializer for __Constant_5800>
                                       4
     _A_P0                             1
     _A_P1                             1
     _A_IEN0                           1

 
 376 bytes in segment BANKED_CODE
   6 bytes in segment SFR_AN
  12 bytes in segment XDATA_I
  12 bytes in segment XDATA_ID
   1 byte  in segment XDATA_Z
 
 376 bytes of CODE  memory (+ 12 bytes shared)
   0 bytes of DATA  memory (+  6 bytes shared)
   1 byte  of XDATA memory (+ 12 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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