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

📄 sampleapp.lst

📁 用IAR开发的ZIGBEE网络路由例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00002B   F8           MOV     R0,A
   \   00002C   A3           INC     DPTR
   \   00002D   E0           MOVX    A,@DPTR
   \   00002E   F9           MOV     R1,A
   \   00002F                ; Setup parameters for call to function HalLedBlink
   \   00002F   8882         MOV     DPL,R0
   \   000031   8983         MOV     DPH,R1
   \   000033   A3           INC     DPTR
   \   000034   E0           MOVX    A,@DPTR
   \   000035   FA           MOV     R2,A
   \   000036   8882         MOV     DPL,R0
   \   000038   8983         MOV     DPH,R1
   \   00003A   A3           INC     DPTR
   \   00003B   A3           INC     DPTR
   \   00003C   E0           MOVX    A,@DPTR
   \   00003D   F9           MOV     R1,A
   \   00003E   E4           CLR     A
   \   00003F   2A           ADD     A,R2
   \   000040   F5..         MOV     ?V0 + 0,A
   \   000042   E9           MOV     A,R1
   \   000043   3400         ADDC    A,#0x0
   \   000045   F5..         MOV     ?V0 + 1,A
   \   000047   7402         MOV     A,#0x2
   \   000049   78..         MOV     R0,#?V0 + 0
   \   00004B   12....       LCALL   ?US_SHR
   \   00004E   AC..         MOV     R4,?V0 + 0
   \   000050   AD..         MOV     R5,?V0 + 1
   \   000052   7B32         MOV     R3,#0x32
   \   000054   7A04         MOV     R2,#0x4
   \   000056   7908         MOV     R1,#0x8
   \   000058   90....       MOV     DPTR,#(HalLedBlink & 0xffff)
   \   00005B   74..         MOV     A,#((HalLedBlink >> 16) & 0xff)
   \   00005D   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    398                break;
    399            }
    400          }
   \                     ??SampleApp_MessageMSGCB_0:
   \   000060   80..         SJMP    ??Subroutine0_0
    401          
    402          /*********************************************************************
    403           * @fn      SampleApp_SendPeriodicMessage
    404           *
    405           * @brief   Send the periodic message.
    406           *
    407           * @param   none
    408           *
    409           * @return  none
    410           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    411          void SampleApp_SendPeriodicMessage( void )
   \                     SampleApp_SendPeriodicMessage:
    412          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 0
    413            if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,
    414                                 SAMPLEAPP_PERIODIC_CLUSTERID,
    415                                 1,
    416                                 (uint8*)&SampleAppPeriodicCounter,
    417                                 &SampleApp_TransID,
    418                                 AF_DISCV_ROUTE,
    419                                 AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
   \   000005                ; Setup parameters for call to function AF_DataRequest
   \   000005   75..0A       MOV     ?V0 + 0,#0xa
   \   000008   78..         MOV     R0,#?V0 + 0
   \   00000A   12....       LCALL   ?PUSH_XSTACK_I_ONE
   \   00000D   75....       MOV     ?V0 + 0,#(SampleApp_TransID & 0xff)
   \   000010   75....       MOV     ?V0 + 1,#((SampleApp_TransID >> 8) & 0xff)
   \   000013   78..         MOV     R0,#?V0 + 0
   \   000015   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000018   75....       MOV     ?V0 + 0,#(SampleAppPeriodicCounter & 0xff)
   \   00001B   75....       MOV     ?V0 + 1,#((SampleAppPeriodicCounter >> 8) & 0xff)
   \   00001E   78..         MOV     R0,#?V0 + 0
   \   000020   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000023   75..01       MOV     ?V0 + 0,#0x1
   \   000026   75..00       MOV     ?V0 + 1,#0x0
   \   000029   78..         MOV     R0,#?V0 + 0
   \   00002B   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00002E   78..         MOV     R0,#?V0 + 0
   \   000030   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000033   7920         MOV     R1,#0x20
   \   000035   7C..         MOV     R4,#(SampleApp_epDesc & 0xff)
   \   000037   7D..         MOV     R5,#((SampleApp_epDesc >> 8) & 0xff)
   \   000039   7A..         MOV     R2,#(SampleApp_Periodic_DstAddr & 0xff)
   \   00003B   7B..         MOV     R3,#((SampleApp_Periodic_DstAddr >> 8) & 0xff)
   \   00003D   90....       MOV     DPTR,#(AF_DataRequest & 0xffff)
   \   000040   74..         MOV     A,#((AF_DataRequest >> 16) & 0xff)
   \   000042   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000045   7409         MOV     A,#0x9
   \   000047   02....       LJMP    ?Subroutine0 & 0xFFFF
    420            {
    421            }
    422            else
    423            {
    424              // Error occurred in request to send.
    425            }
    426          }
    427          
    428          /*********************************************************************
    429           * @fn      SampleApp_SendFlashMessage
    430           *
    431           * @brief   Send the flash message to group 1.
    432           *
    433           * @param   flashTime - in milliseconds
    434           *
    435           * @return  none
    436           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    437          void SampleApp_SendFlashMessage( uint16 flashTime )
   \                     SampleApp_SendFlashMessage:
    438          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 3
   \   000005   74FD         MOV     A,#-0x3
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    439            uint8 buffer[3];
    440            buffer[0] = (uint8)(SampleAppFlashCounter++);
   \   00000A   90....       MOV     DPTR,#SampleAppFlashCounter
   \   00000D   E0           MOVX    A,@DPTR
   \   00000E   85..82       MOV     DPL,?XSP + 0
   \   000011   85..83       MOV     DPH,?XSP + 1
   \   000014   F0           MOVX    @DPTR,A
   \   000015   90....       MOV     DPTR,#SampleAppFlashCounter
   \   000018   E0           MOVX    A,@DPTR
   \   000019   04           INC     A
   \   00001A   F0           MOVX    @DPTR,A
    441            buffer[1] = LO_UINT16( flashTime );
   \   00001B   7401         MOV     A,#0x1
   \   00001D   12....       LCALL   ?XSTACK_DISP0_8
   \   000020   EA           MOV     A,R2
   \   000021   F0           MOVX    @DPTR,A
    442            buffer[2] = HI_UINT16( flashTime );
   \   000022   7402         MOV     A,#0x2
   \   000024   12....       LCALL   ?XSTACK_DISP0_8
   \   000027   EB           MOV     A,R3
   \   000028   F0           MOVX    @DPTR,A
    443          
    444            if ( AF_DataRequest( &SampleApp_Flash_DstAddr, &SampleApp_epDesc,
    445                                 SAMPLEAPP_FLASH_CLUSTERID,
    446                                 3,
    447                                 buffer,
    448                                 &SampleApp_TransID,
    449                                 AF_DISCV_ROUTE,
    450                                 AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
   \   000029                ; Setup parameters for call to function AF_DataRequest
   \   000029   75..0A       MOV     ?V0 + 0,#0xa
   \   00002C   78..         MOV     R0,#?V0 + 0
   \   00002E   12....       LCALL   ?PUSH_XSTACK_I_ONE
   \   000031   75....       MOV     ?V0 + 0,#(SampleApp_TransID & 0xff)
   \   000034   75....       MOV     ?V0 + 1,#((SampleApp_TransID >> 8) & 0xff)
   \   000037   78..         MOV     R0,#?V0 + 0
   \   000039   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00003C   7403         MOV     A,#0x3
   \   00003E   12....       LCALL   ?XSTACK_DISP0_8
   \   000041   8582..       MOV     ?V0 + 0,DPL
   \   000044   8583..       MOV     ?V0 + 1,DPH
   \   000047   78..         MOV     R0,#?V0 + 0
   \   000049   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00004C   75..03       MOV     ?V0 + 0,#0x3
   \   00004F   75..00       MOV     ?V0 + 1,#0x0
   \   000052   78..         MOV     R0,#?V0 + 0
   \   000054   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000057   75..02       MOV     ?V0 + 0,#0x2
   \   00005A   78..         MOV     R0,#?V0 + 0
   \   00005C   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00005F   7920         MOV     R1,#0x20
   \   000061   7C..         MOV     R4,#(SampleApp_epDesc & 0xff)
   \   000063   7D..         MOV     R5,#((SampleApp_epDesc >> 8) & 0xff)
   \   000065   7A..         MOV     R2,#(SampleApp_Flash_DstAddr & 0xff)
   \   000067   7B..         MOV     R3,#((SampleApp_Flash_DstAddr >> 8) & 0xff)
   \   000069   90....       MOV     DPTR,#(AF_DataRequest & 0xffff)
   \   00006C   74..         MOV     A,#((AF_DataRequest >> 16) & 0xff)
   \   00006E   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000071   7409         MOV     A,#0x9
   \   000073   12....       LCALL   ?DEALLOC_XSTACK8
    451            {
    452            }
    453            else
    454            {
    455              // Error occurred in request to send.
    456            }
    457          }
   \   000076   7403         MOV     A,#0x3
   \   000078   02....       LJMP    ?Subroutine0 & 0xFFFF

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for <Constant "Group 1">>`:
   \   000000   47726F75     DB "Group 1"
   \            70203100

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for SampleApp_ClusterList>`:
   \   000000   01000200     DW 1, 2

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for SampleApp_SimpleDesc>`:
   \   000000   14           DB 20
   \   000001   080F0100     DW 3848, 1
   \   000005   0002         DB 0, 2
   \   000007   ....         DW SampleApp_ClusterList
   \   000009   02           DB 2
   \   00000A   ....         DW SampleApp_ClusterList

   \                                 In segment XDATA_I, align 1, keep-with-next
   \                     `?<Constant "Group 1">`:
   \   000000                DS 8
   \   000008                REQUIRE `?<Initializer for <Constant "Group 1">>`
   \   000008                REQUIRE __INIT_XDATA_I

   \                                 In segment SFR_AN, at 0x90
   \   union <unnamed> volatile __sfr _A_P1
   \                     _A_P1:
   \   000000                DS 1
    458          
    459          /*********************************************************************
    460          *********************************************************************/

   Maximum stack usage in bytes:

     Function                       ISTACK PSTACK XSTACK
     --------                       ------ ------ ------
     SampleApp_HandleKeys               0      0     22
       -> SampleApp_SendFlashMessage
                                        0      0     20
       -> aps_FindGroup                 0      0     20
       -> aps_RemoveGroup               0      0     20
       -> aps_AddGroup                  0      0     20
     SampleApp_Init                     0      0     14
       -> afRegister                    0      0     22
       -> RegisterForKeys               0      0     22
       -> osal_memcpy                   0      0     28
       -> aps_AddGroup                  0      0     22
     SampleApp_MessageMSGCB 

⌨️ 快捷键说明

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