📄 zdobject.lst
字号:
\ 000068 02.... LJMP ?Subroutine95 & 0xFFFF
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine55:
\ 000000 E0 MOVX A,@DPTR
\ 000001 FE MOV R6,A
\ 000002 A3 INC DPTR
\ 000003 E0 MOVX A,@DPTR
\ 000004 FF MOV R7,A
\ 000005 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine6:
\ 000000 F0 MOVX @DPTR,A
\ 000001 ; Setup parameters for call to function osal_msg_send
\ 000001 8E82 MOV DPL,R6
\ 000003 8F83 MOV DPH,R7
\ 000005 E0 MOVX A,@DPTR
\ 000006 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine95:
\ 000000 7F04 MOV R7,#0x4
\ 000002 02.... LJMP ?BANKED_LEAVE_XDATA
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine77:
\ 000000 E0 MOVX A,@DPTR
\ ??Subroutine77_0:
\ 000001 F8 MOV R0,A
\ ??Subroutine77_1:
\ 000002 12.... LCALL ??Subroutine90_0 & 0xFFFF
\ ??CrossCallReturnLabel_288:
\ 000005 A3 INC DPTR
\ 000006 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine38:
\ 000000 12.... LCALL ?Subroutine72 & 0xFFFF
\ ??CrossCallReturnLabel_233:
\ 000003 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine72:
\ 000000 12.... LCALL ?Subroutine90 & 0xFFFF
\ ??CrossCallReturnLabel_286:
\ 000003 E0 MOVX A,@DPTR
\ 000004 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine23:
\ 000000 12.... LCALL ??Subroutine77_0 & 0xFFFF
\ ??CrossCallReturnLabel_241:
\ 000003 12.... LCALL ?Subroutine72 & 0xFFFF
\ ??CrossCallReturnLabel_231:
\ 000006 F9 MOV R1,A
\ 000007 90.... MOV DPTR,#(osal_msg_send & 0xffff)
\ 00000A 74.. MOV A,#((osal_msg_send >> 16) & 0xff)
\ 00000C 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine9:
\ 000000 EA MOV A,R2
\ 000001 F0 MOVX @DPTR,A
\ 000002 A3 INC DPTR
\ 000003 EB MOV A,R3
\ 000004 F0 MOVX @DPTR,A
\ 000005 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine90:
\ 000000 E0 MOVX A,@DPTR
\ 000001 F8 MOV R0,A
\ ??Subroutine90_0:
\ 000002 A3 INC DPTR
\ 000003 E0 MOVX A,@DPTR
\ 000004 F583 MOV DPH,A
\ 000006 8882 MOV DPL,R0
\ 000008 22 RET
413
414 #if defined ( REFLECTOR )
415 /*********************************************************************
416 * @fn ZDO_RemoveEndDeviceBind
417 *
418 * @brief Remove the end device bind
419 *
420 * @param none
421 *
422 * @return none
423 */
424 static void ZDO_RemoveEndDeviceBind( void )
425 {
426 if ( ZDO_EDBind )
427 {
428 // Free the RAM
429 if ( ZDO_EDBind->inClusters )
430 osal_mem_free( ZDO_EDBind->inClusters );
431 if ( ZDO_EDBind->outClusters )
432 osal_mem_free( ZDO_EDBind->outClusters );
433 osal_mem_free( ZDO_EDBind );
434 ZDO_EDBind = NULL;
435 }
436 }
437 #endif // REFLECTOR
438
439 #if defined ( REFLECTOR )
440 /*********************************************************************
441 * @fn ZDO_RemoveEndDeviceBind
442 *
443 * @brief Remove the end device bind
444 *
445 * @param none
446 *
447 * @return none
448 */
449 static void ZDO_SendEDBindRsp( byte TransSeq, zAddrType_t *dstAddr, byte Status, byte secUse )
450 {
451 ZDP_EndDeviceBindRsp( TransSeq, dstAddr, Status, secUse );
452
453 #if defined( LCD_SUPPORTED )
454 HalLcdWriteString( "End Device Bind", HAL_LCD_LINE_1 );
455 if ( Status == ZDP_SUCCESS )
456 HalLcdWriteString( "Success Sent", HAL_LCD_LINE_2 );
457 else
458 HalLcdWriteString( "Timeout", HAL_LCD_LINE_2 );
459 #endif
460
461 }
462 #endif // REFLECTOR
463
464 #if defined ( REFLECTOR ) || defined ( ZDO_COORDINATOR )
465 /*********************************************************************
466 * @fn ZDO_CompareClusterLists
467 *
468 * @brief Compare one list to another list
469 *
470 * @param numList1 - number of items in list 1
471 * @param list1 - first list of cluster IDs
472 * @param numList2 - number of items in list 2
473 * @param list2 - second list of cluster IDs
474 * @param pMatches - buffer to put matches
475 *
476 * @return number of matches
477 */
\ In segment BANKED_CODE, align 1, keep-with-next
478 static byte ZDO_CompareClusterLists( byte numList1, uint16 *list1,
\ ??ZDO_CompareClusterLists:
479 byte numList2, uint16 *list2, uint16 *pMatches )
480 {
\ 000000 74F0 MOV A,#-0x10
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 16
\ 000005 ; Auto size: 0
\ 000005 89.. MOV ?V0 + 2,R1
\ 000007 8A.. MOV ?V0 + 6,R2
\ 000009 8B.. MOV ?V0 + 7,R3
\ 00000B 7410 MOV A,#0x10
\ 00000D 12.... LCALL ?XSTACK_DISP0_8
\ 000010 12.... LCALL ??Subroutine53_0 & 0xFFFF
\ ??CrossCallReturnLabel_161:
\ 000013 7412 MOV A,#0x12
\ 000015 12.... LCALL ?XSTACK_DISP0_8
\ 000018 12.... LCALL ?Subroutine55 & 0xFFFF
481 byte x, y;
482 uint16 z;
483 byte numMatches = 0;
\ ??CrossCallReturnLabel_177:
\ 00001B 7D00 MOV R5,#0x0
484
485 // Check the first in against the seconds out
486 for ( x = 0; x < numList1; x++ )
\ 00001D 8D.. MOV ?V0 + 3,R5
\ 00001F 804E SJMP ??ZDO_CompareClusterLists_1
487 {
488 for ( y = 0; y < numList2; y++ )
489 {
490 z = list2[y];
\ ??ZDO_CompareClusterLists_2:
\ 000021 E5.. MOV A,?V0 + 4
\ 000023 C3 CLR C
\ 000024 33 RLC A
\ 000025 F8 MOV R0,A
\ 000026 E4 CLR A
\ 000027 33 RLC A
\ 000028 F9 MOV R1,A
\ 000029 EA MOV A,R2
\ 00002A 28 ADD A,R0
\ 00002B F582 MOV DPL,A
\ 00002D EB MOV A,R3
\ 00002E 12.... LCALL ?Subroutine71 & 0xFFFF
491 if ( list1[x] == z )
\ ??CrossCallReturnLabel_227:
\ 000031 E5.. MOV A,?V0 + 3
\ 000033 C3 CLR C
\ 000034 33 RLC A
\ 000035 F8 MOV R0,A
\ 000036 E4 CLR A
\ 000037 33 RLC A
\ 000038 F9 MOV R1,A
\ 000039 E5.. MOV A,?V0 + 6
\ 00003B 28 ADD A,R0
\ 00003C F582 MOV DPL,A
\ 00003E E5.. MOV A,?V0 + 7
\ 000040 39 ADDC A,R1
\ 000041 F583 MOV DPH,A
\ 000043 E0 MOVX A,@DPTR
\ 000044 65.. XRL A,?V0 + 0
\ 000046 7004 JNZ ??ZDO_CompareClusterLists_3
\ 000048 A3 INC DPTR
\ 000049 E0 MOVX A,@DPTR
\ 00004A 65.. XRL A,?V0 + 1
\ ??ZDO_CompareClusterLists_3:
\ 00004C 7017 JNZ ??ZDO_CompareClusterLists_4
492 pMatches[numMatches++] = z;
\ 00004E ED MOV A,R5
\ 00004F C3 CLR C
\ 000050 33 RLC A
\ 000051 F8 MOV R0,A
\ 000052 E4 CLR A
\ 000053 33 RLC A
\ 000054 F9 MOV R1,A
\ 000055 EE MOV A,R6
\ 000056 28 ADD A,R0
\ 000057 F582 MOV DPL,A
\ 000059 EF MOV A,R7
\ 00005A 39 ADDC A,R1
\ 00005B F583 MOV DPH,A
\ 00005D E5.. MOV A,?V0 + 0
\ 00005F F0 MOVX @DPTR,A
\ 000060 A3 INC DPTR
\ 000061 E5.. MOV A,?V0 + 1
\ 000063 F0 MOVX @DPTR,A
\ 000064 0D INC R5
493 }
\ ??ZDO_CompareClusterLists_4:
\ 000065 05.. INC ?V0 + 4
\ ??ZDO_CompareClusterLists_5:
\ 000067 E5.. MOV A,?V0 + 4
\ 000069 C3 CLR C
\ 00006A 9C SUBB A,R4
\ 00006B 40B4 JC ??ZDO_CompareClusterLists_2
\ 00006D 05.. INC ?V0 + 3
\ ??ZDO_CompareClusterLists_1:
\ 00006F E5.. MOV A,?V0 + 3
\ 000071 C3 CLR C
\ 000072 95.. SUBB A,?V0 + 2
\ 000074 5005 JNC ??ZDO_CompareClusterLists_6
\ 000076 75..00 MOV ?V0 + 4,#0x0
\ 000079 80EC SJMP ??ZDO_CompareClusterLists_5
494 }
495
496 return ( numMatches );
\ ??ZDO_CompareClusterLists_6:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -