📄 zdobject.lst
字号:
300 if ( startMode == MODE_HARD )
\ 000013 7402 MOV A,#0x2
\ 000015 6A XRL A,R2
\ 000016 7033 JNZ ??ZDO_StartDevice_1
301 {
302 devState = DEV_COORD_STARTING;
\ 000018 7408 MOV A,#0x8
\ 00001A 90.... MOV DPTR,#devState
\ 00001D F0 MOVX @DPTR,A
303 ret = NLME_NetworkFormationRequest( zgConfigPANID, zgDefaultChannelList,
304 zgDefaultStartingScanDuration, beaconOrder,
305 superframeOrder, false );
\ 00001E ; Setup parameters for call to function NLME_NetworkFormationRequest
\ 00001E 75..00 MOV ?V0 + 0,#0x0
\ 000021 78.. MOV R0,#?V0 + 0
\ 000023 12.... LCALL ?PUSH_XSTACK_I_ONE
\ 000026 90.... MOV DPTR,#zgDefaultChannelList
\ 000029 12.... LCALL ?PUSH_XSTACK8_X_FOUR
\ 00002C EC MOV A,R4
\ 00002D FD MOV R5,A
\ 00002E E9 MOV A,R1
\ 00002F FC MOV R4,A
\ 000030 90.... MOV DPTR,#zgDefaultStartingScanDuration
\ 000033 E0 MOVX A,@DPTR
\ 000034 F9 MOV R1,A
\ 000035 90.... MOV DPTR,#zgConfigPANID
\ 000038 12.... LCALL ??Subroutine54_0 & 0xFFFF
\ ??CrossCallReturnLabel_161:
\ 00003B 90.... MOV DPTR,#(NLME_NetworkFormationRequest & 0xffff)
\ 00003E 74.. MOV A,#((NLME_NetworkFormationRequest >> 16) & 0xff)
\ 000040 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000043 7405 MOV A,#0x5
\ 000045 12.... LCALL ?DEALLOC_XSTACK8
\ 000048 02.... LJMP ??ZDO_StartDevice_2 & 0xFFFF
306 }
307 else if ( startMode == MODE_RESUME )
\ ??ZDO_StartDevice_1:
\ 00004B 7401 MOV A,#0x1
\ 00004D 6A XRL A,R2
\ 00004E 6003 JZ $+5
\ 000050 02.... LJMP ??ZDO_StartDevice_3 & 0xFFFF
308 {
309 // Just start the coordinator
310 devState = DEV_COORD_STARTING;
\ 000053 7408 MOV A,#0x8
\ 000055 90.... MOV DPTR,#devState
\ 000058 F0 MOVX @DPTR,A
311 ret = NLME_StartRouterRequest( beaconOrder, beaconOrder, false );
\ 000059 ; Setup parameters for call to function NLME_StartRouterRequest
\ 000059 7B00 MOV R3,#0x0
\ 00005B E9 MOV A,R1
\ 00005C FA MOV R2,A
\ 00005D 90.... MOV DPTR,#(NLME_StartRouterRequest & 0xffff)
\ 000060 74.. MOV A,#((NLME_StartRouterRequest >> 16) & 0xff)
\ 000062 02.... LJMP ??ZDO_StartDevice_4 & 0xFFFF
312 }
313 else
314 {
315 #if defined( LCD_SUPPORTED )
316 HalLcdWriteScreen( "StartDevice ERR", "MODE unknown" );
317 #endif
318 }
319 }
320 #endif // !ZDO_COORDINATOR
321
322 #if !defined ( ZDO_COORDINATOR ) || defined( SOFT_START )
323 if ( logicalType == NODETYPE_ROUTER || logicalType == NODETYPE_DEVICE )
\ ??ZDO_StartDevice_0:
\ 000065 7401 MOV A,#0x1
\ 000067 6D XRL A,R5
\ 000068 6008 JZ ??ZDO_StartDevice_5
\ 00006A 7402 MOV A,#0x2
\ 00006C 6D XRL A,R5
\ 00006D 6003 JZ $+5
\ 00006F 02.... LJMP ??ZDO_StartDevice_3 & 0xFFFF
324 {
325 if ( (startMode == MODE_JOIN) || (startMode == MODE_REJOIN) )
\ ??ZDO_StartDevice_5:
\ 000072 EA MOV A,R2
\ 000073 6005 JZ ??ZDO_StartDevice_6
\ 000075 7403 MOV A,#0x3
\ 000077 6A XRL A,R2
\ 000078 7017 JNZ ??ZDO_StartDevice_7
326 {
327 devState = DEV_NWK_DISC;
\ ??ZDO_StartDevice_6:
\ 00007A 7402 MOV A,#0x2
\ 00007C 12.... LCALL ?Subroutine8 & 0xFFFF
328
329 #if defined( MANAGED_SCAN )
330 ZDOManagedScan_Next();
331 ret = NLME_NetworkDiscoveryRequest( managedScanChannelMask, BEACON_ORDER_15_MSEC );
332 #else
333 ret = NLME_NetworkDiscoveryRequest( zgDefaultChannelList, zgDefaultStartingScanDuration );
\ ??CrossCallReturnLabel_20:
\ 00007F 12.... LCALL ?L_MOV_X
\ 000082 AA.. MOV R2,?V0 + 0
\ 000084 AB.. MOV R3,?V0 + 1
\ 000086 AC.. MOV R4,?V0 + 2
\ 000088 AD.. MOV R5,?V0 + 3
\ 00008A 90.... MOV DPTR,#(NLME_NetworkDiscoveryRequest & 0xffff)
\ 00008D 74.. MOV A,#((NLME_NetworkDiscoveryRequest >> 16) & 0xff)
\ 00008F 8063 SJMP ??ZDO_StartDevice_4
334 #endif
335 }
336 else if ( startMode == MODE_RESUME )
\ ??ZDO_StartDevice_7:
\ 000091 7401 MOV A,#0x1
\ 000093 6A XRL A,R2
\ 000094 7063 JNZ ??ZDO_StartDevice_3
337 {
338 if ( logicalType == NODETYPE_ROUTER )
\ 000096 7401 MOV A,#0x1
\ 000098 6D XRL A,R5
\ 000099 7044 JNZ ??ZDO_StartDevice_8
339 {
340 ZMacScanCnf_t scanCnf;
341 devState = DEV_NWK_ORPHAN;
\ 00009B 740A MOV A,#0xa
\ 00009D 90.... MOV DPTR,#devState
\ 0000A0 F0 MOVX @DPTR,A
342
343 /* if router and nvram is available, fake successful orphan scan */
344 scanCnf.hdr.Status = ZSUCCESS;
\ 0000A1 7401 MOV A,#0x1
\ 0000A3 12.... LCALL ?XSTACK_DISP0_8
\ 0000A6 E4 CLR A
\ 0000A7 F0 MOVX @DPTR,A
345 scanCnf.ScanType = ZMAC_ORPHAN_SCAN;
\ 0000A8 7402 MOV A,#0x2
\ 0000AA 12.... LCALL ?XSTACK_DISP0_8
\ 0000AD 7403 MOV A,#0x3
\ 0000AF F0 MOVX @DPTR,A
346 scanCnf.UnscannedChannels = 0;
\ 0000B0 90.... MOV DPTR,#__Constant_0
\ 0000B3 78.. MOV R0,#?V0 + 0
\ 0000B5 12.... LCALL ?L_MOV_X
\ 0000B8 7404 MOV A,#0x4
\ 0000BA 12.... LCALL ?XSTACK_DISP0_8
\ 0000BD 78.. MOV R0,#?V0 + 0
\ 0000BF 12.... LCALL ?L_MOV_TO_X
347 scanCnf.ResultListSize = 0;
\ 0000C2 7408 MOV A,#0x8
\ 0000C4 12.... LCALL ?XSTACK_DISP0_8
\ 0000C7 E4 CLR A
\ 0000C8 F0 MOVX @DPTR,A
348 nwk_ScanJoiningOrphan(&scanCnf);
\ 0000C9 ; Setup parameters for call to function nwk_ScanJoiningOrphan
\ 0000C9 85..82 MOV DPL,?XSP + 0
\ 0000CC 85..83 MOV DPH,?XSP + 1
\ 0000CF AA82 MOV R2,DPL
\ 0000D1 AB83 MOV R3,DPH
\ 0000D3 90.... MOV DPTR,#(nwk_ScanJoiningOrphan & 0xffff)
\ 0000D6 74.. MOV A,#((nwk_ScanJoiningOrphan >> 16) & 0xff)
\ 0000D8 12.... LCALL ?BCALL ; Banked call to: DPTR()
349
350 ret = ZSuccess;
\ 0000DB 7E00 MOV R6,#0x0
\ 0000DD 801A SJMP ??ZDO_StartDevice_3
351 }
352 else
353 {
354 devState = DEV_NWK_ORPHAN;
\ ??ZDO_StartDevice_8:
\ 0000DF 740A MOV A,#0xa
\ 0000E1 12.... LCALL ?Subroutine8 & 0xFFFF
355 ret = NLME_OrphanJoinRequest( zgDefaultChannelList,
356 zgDefaultStartingScanDuration );
\ ??CrossCallReturnLabel_21:
\ 0000E4 12.... LCALL ?L_MOV_X
\ 0000E7 AA.. MOV R2,?V0 + 0
\ 0000E9 AB.. MOV R3,?V0 + 1
\ 0000EB AC.. MOV R4,?V0 + 2
\ 0000ED AD.. MOV R5,?V0 + 3
\ 0000EF 90.... MOV DPTR,#(NLME_OrphanJoinRequest & 0xffff)
\ 0000F2 74.. MOV A,#((NLME_OrphanJoinRequest >> 16) & 0xff)
\ ??ZDO_StartDevice_4:
\ 0000F4 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ ??ZDO_StartDevice_2:
\ 0000F7 E9 MOV A,R1
\ 0000F8 FE MOV R6,A
357 }
358 }
359 else
360 {
361 #if defined( LCD_SUPPORTED )
362 HalLcdWriteScreen( "StartDevice ERR", "MODE unknown" );
363 #endif
364 }
365 }
366 #endif //!ZDO COORDINATOR || SOFT_START
367
368 // configure the Security Manager for type of device
369 ZDSecMgrConfig();
\ ??ZDO_StartDevice_3:
\ 0000F9 ; Setup parameters for call to function ZDSecMgrConfig
\ 0000F9 90.... MOV DPTR,#(ZDSecMgrConfig & 0xffff)
\ 0000FC 74.. MOV A,#((ZDSecMgrConfig >> 16) & 0xff)
\ 0000FE 12.... LCALL ?BCALL ; Banked call to: DPTR()
370
371 if ( ret != ZSuccess )
\ 000101 EE MOV A,R6
\ 000102 6010 JZ ??ZDO_StartDevice_9
372 osal_start_timer( ZDO_NETWORK_INIT, NWK_RETRY_DELAY );
\ 000104 ; Setup parameters for call to function osal_start_timer
\ 000104 7CE8 MOV R4,#-0x18
\ 000106 7D03 MOV R5,#0x3
\ 000108 7A01 MOV R2,#0x1
\ 00010A 7B00 MOV R3,#0x0
\ 00010C 90.... MOV DPTR,#(osal_start_timer & 0xffff)
\ 00010F 74.. MOV A,#((osal_start_timer >> 16) & 0xff)
\ 000111 12.... LCALL ?BCALL ; Banked call to: DPTR()
373 }
\ ??ZDO_StartDevice_9:
\ 000114 740B MOV A,#0xb
\ 000116 02.... LJMP ?Subroutine96 & 0xFFFF
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine8:
\ 000000 90.... MOV DPTR,#devState
\ 000003 F0 MOVX @DPTR,A
\ 000004 ; Setup parameters for call to function NLME_NetworkDiscoveryRequest
\ 000004 ; Setup parameters for call to function NLME_OrphanJoinRequest
\ 000004 90.... MOV DPTR,#zgDefaultStartingScanDuration
\ 000007 E0 MOVX A,@DPTR
\ 000008 F9 MOV R1,A
\ 000009 90.... MOV DPTR,#zgDefaultChannelList
\ 00000C 78.. MOV R0,#?V0 + 0
\ 00000E 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine96:
\ 000000 12.... LCALL ?DEALLOC_XSTACK8
\ ??Subroutine96_0:
\ 000003 7F04 MOV R7,#0x4
\ 000005 02.... LJMP ?BANKED_LEAVE_XDATA
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine54:
\ 000000 12.... LCALL ??Subroutine88_0 & 0xFFFF
\ ??Subroutine54_0:
\ 000003 12.... LCALL ?Subroutine79 & 0xFFFF
\ ??CrossCallReturnLabel_324:
\ 000006 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine79:
\ 000000 E0 MOVX A,@DPTR
\ 000001 REQUIRE ?Subroutine100
\ 000001 ; // Fall through to label ?Subroutine100
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine100:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -