📄 genericapp.lst
字号:
\ 000017 74.. MOV A,#((ZDApp_SendEndDeviceBindReq >> 16) & 0xff)
\ 000019 12.... LCALL ?BCALL ; Banked call to: DPTR()
343 }
344
345 if ( keys & HAL_KEY_SW_3 )
346 {
347 }
348
349 if ( keys & HAL_KEY_SW_4 )
\ ??GenericApp_HandleKeys_1:
\ 00001C EE MOV A,R6
\ 00001D A2E3 MOV C,0xE0 /* A */.3
\ 00001F 5011 JNC ??GenericApp_HandleKeys_0
350 {
351 // Initiate a Match Description Request (Service Discovery)
352 // for the mandatory endpoint
353 ZDApp_AutoFindDestination( GenericApp_epDesc.endPoint );
\ 000021 ; Setup parameters for call to function ZDApp_AutoFindDestinationEx
\ 000021 7A00 MOV R2,#0x0
\ 000023 7B00 MOV R3,#0x0
\ 000025 90.... MOV DPTR,#GenericApp_epDesc
\ 000028 E0 MOVX A,@DPTR
\ 000029 F9 MOV R1,A
\ 00002A 90.... MOV DPTR,#(ZDApp_AutoFindDestinationEx & 0xffff)
\ 00002D 74.. MOV A,#((ZDApp_AutoFindDestinationEx >> 16) & 0xff)
\ 00002F 12.... LCALL ?BCALL ; Banked call to: DPTR()
354 }
355 }
356 }
\ ??GenericApp_HandleKeys_0:
\ 000032 7F01 MOV R7,#0x1
\ 000034 02.... LJMP ?BANKED_LEAVE_XDATA
357
358 /*********************************************************************
359 * LOCAL FUNCTIONS
360 */
361
362 /*********************************************************************
363 * @fn GenericApp_MessageMSGCB
364 *
365 * @brief Data message processor callback. This function processes
366 * any incoming data - probably from other devices. So, based
367 * on cluster ID, perform the intended action.
368 *
369 * @param none
370 *
371 * @return none
372 */
\ In segment BANKED_CODE, align 1, keep-with-next
373 void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
\ GenericApp_MessageMSGCB:
374 {
\ 000000 ; Saved register size: 0
\ 000000 ; Auto size: 0
375 switch ( pkt->clusterId )
376 {
377 case GENERICAPP_CLUSTERID:
378 // "the" message
379 #if defined( LCD_SUPPORTED )
380 HalLcdWriteScreen( (char*)pkt->cmd.Data, "rcvd" );
381 #elif defined( WIN32 )
382 WPRINTSTR( pkt->cmd.Data );
383 #endif
384 break;
385 }
386 }
\ 000000 02.... LJMP ?BRET
387
388 /*********************************************************************
389 * @fn GenericApp_SendTheMessage
390 *
391 * @brief Send "the" message.
392 *
393 * @param none
394 *
395 * @return none
396 */
\ In segment BANKED_CODE, align 1, keep-with-next
397 void GenericApp_SendTheMessage( void )
\ GenericApp_SendTheMessage:
398 {
\ 000000 74F6 MOV A,#-0xa
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 10
\ 000005 ; Auto size: 12
\ 000005 74F4 MOV A,#-0xc
\ 000007 12.... LCALL ?ALLOC_XSTACK8
399 char theMessageData[] = "Hello World";
\ 00000A 85..82 MOV DPL,?XSP + 0
\ 00000D 85..83 MOV DPH,?XSP + 1
\ 000010 AC82 MOV R4,DPL
\ 000012 AD83 MOV R5,DPH
\ 000014 7583.. MOV DPH,#((`?<Constant "Hello World">` >> 8) & 0xff)
\ 000017 7582.. MOV DPL,#(`?<Constant "Hello World">` & 0xff)
\ 00001A 740C MOV A,#0xc
\ 00001C 12.... LCALL ?MOVE_LONG8_XDATA_XDATA
400
401 if ( AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc,
402 GENERICAPP_CLUSTERID,
403 (byte)osal_strlen( theMessageData ) + 1,
404 (byte *)&theMessageData,
405 &GenericApp_TransID,
406 AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
\ 00001F ; Setup parameters for call to function AF_DataRequest
\ 00001F 75..0A MOV ?V0 + 0,#0xa
\ 000022 78.. MOV R0,#?V0 + 0
\ 000024 12.... LCALL ?PUSH_XSTACK_I_ONE
\ 000027 75.... MOV ?V0 + 0,#(GenericApp_TransID & 0xff)
\ 00002A 75.... MOV ?V0 + 1,#((GenericApp_TransID >> 8) & 0xff)
\ 00002D 78.. MOV R0,#?V0 + 0
\ 00002F 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000032 7403 MOV A,#0x3
\ 000034 12.... LCALL ?XSTACK_DISP0_8
\ 000037 8582.. MOV ?V0 + 0,DPL
\ 00003A 8583.. MOV ?V0 + 1,DPH
\ 00003D 78.. MOV R0,#?V0 + 0
\ 00003F 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000042 ; Setup parameters for call to function osal_strlen
\ 000042 7405 MOV A,#0x5
\ 000044 12.... LCALL ?XSTACK_DISP0_8
\ 000047 AA82 MOV R2,DPL
\ 000049 AB83 MOV R3,DPH
\ 00004B 90.... MOV DPTR,#(osal_strlen & 0xffff)
\ 00004E 74.. MOV A,#((osal_strlen >> 16) & 0xff)
\ 000050 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000053 EA MOV A,R2
\ 000054 F8 MOV R0,A
\ 000055 7401 MOV A,#0x1
\ 000057 28 ADD A,R0
\ 000058 F5.. MOV ?V0 + 0,A
\ 00005A E4 CLR A
\ 00005B 3400 ADDC A,#0x0
\ 00005D F5.. MOV ?V0 + 1,A
\ 00005F 78.. MOV R0,#?V0 + 0
\ 000061 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000064 75..01 MOV ?V0 + 0,#0x1
\ 000067 75..00 MOV ?V0 + 1,#0x0
\ 00006A 78.. MOV R0,#?V0 + 0
\ 00006C 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00006F 7920 MOV R1,#0x20
\ 000071 7C.. MOV R4,#(GenericApp_epDesc & 0xff)
\ 000073 7D.. MOV R5,#((GenericApp_epDesc >> 8) & 0xff)
\ 000075 7A.. MOV R2,#(GenericApp_DstAddr & 0xff)
\ 000077 7B.. MOV R3,#((GenericApp_DstAddr >> 8) & 0xff)
\ 000079 90.... MOV DPTR,#(AF_DataRequest & 0xffff)
\ 00007C 74.. MOV A,#((AF_DataRequest >> 16) & 0xff)
\ 00007E 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000081 7409 MOV A,#0x9
\ 000083 12.... LCALL ?DEALLOC_XSTACK8
407 {
408 // Successfully requested to be sent.
409 }
410 else
411 {
412 // Error occurred in request to send.
413 }
414 }
\ 000086 740C MOV A,#0xc
\ 000088 12.... LCALL ?DEALLOC_XSTACK8
\ 00008B 7F02 MOV R7,#0x2
\ 00008D 02.... LJMP ?BANKED_LEAVE_XDATA
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for <Constant "Hello World">>`:
\ 000000 48656C6C DB "Hello World"
\ 6F20576F
\ 726C6400
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for GenericApp_ClusterList>`:
\ 000000 0100 DW 1
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for GenericApp_SimpleDesc>`:
\ 000000 0A DB 10
\ 000001 040F0100 DW 3844, 1
\ 000005 0001 DB 0, 1
\ 000007 .... DW GenericApp_ClusterList
\ 000009 01 DB 1
\ 00000A .... DW GenericApp_ClusterList
\ In segment XDATA_I, align 1, keep-with-next
\ `?<Constant "Hello World">`:
\ 000000 DS 12
\ 00000C REQUIRE `?<Initializer for <Constant "Hello World">>`
\ 00000C REQUIRE __INIT_XDATA_I
415
416 /*********************************************************************
417 *********************************************************************/
Maximum stack usage in bytes:
Function ISTACK PSTACK XSTACK
-------- ------ ------ ------
GenericApp_HandleKeys 0 0 21
-> ZDApp_SendEndDeviceBindReq
0 0 18
-> ZDApp_AutoFindDestinationEx
0 0 18
GenericApp_Init 2 0 0
-> afRegister 4 0 0
-> RegisterForKeys 4 0 0
GenericApp_MessageMSGCB 0 0 0
GenericApp_ProcessEvent 0 0 12
-> osal_msg_receive 0 0 24
-> osal_start_timer 0 0 24
-> osal_msg_deallocate 0 0 24
-> osal_msg_receive 0 0 24
-> GenericApp_HandleKeys 0 0 24
-> GenericApp_SendTheMessage 0 0 24
-> osal_start_timer 0 0 24
GenericApp_SendTheMessage 2 0 43
-> osal_strlen 0 0 54
-> AF_DataRequest 0 0 62
Segment part sizes:
Function/Label Bytes
-------------- -----
GenericApp_ClusterList 2
GenericApp_SimpleDesc 12
GenericApp_epDesc 6
GenericApp_TaskID 1
GenericApp_NwkState 1
GenericApp_TransID 1
GenericApp_DstAddr 4
GenericApp_Init 97
GenericApp_ProcessEvent 269
GenericApp_HandleKeys 55
GenericApp_MessageMSGCB 3
GenericApp_SendTheMessage 144
?<Initializer for <Constant "Hello World">>
12
?<Initializer for GenericApp_ClusterList>
2
?<Initializer for GenericApp_SimpleDesc>
12
?<Constant "Hello World"> 12
568 bytes in segment BANKED_CODE
26 bytes in segment XDATA_I
26 bytes in segment XDATA_ID
13 bytes in segment XDATA_Z
594 bytes of CODE memory
39 bytes of XDATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -