zglobals.lst
来自「CC2430上开关控制灯和温度传感器采集两个例子」· LST 代码 · 共 1,276 行 · 第 1/5 页
LST
1,276 行
\ 000007 02.... LJMP ?BANKED_LEAVE_XDATA
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine0:
\ 000000 E4 CLR A
\ 000001 85..82 MOV DPL,?XSP + 0
\ 000004 85..83 MOV DPH,?XSP + 1
\ ??Subroutine0_0:
\ 000007 F0 MOVX @DPTR,A
\ 000008 ; Setup parameters for call to function osal_nv_item_init
\ 000008 ; Setup parameters for call to function osal_nv_read
\ 000008 ; Setup parameters for call to function osal_nv_write
\ 000008 8582.. MOV ?V0 + 0,DPL
\ 00000B 8583.. MOV ?V0 + 1,DPH
\ 00000E 78.. MOV R0,#?V0 + 0
\ 000010 22 RET
425
426 /*********************************************************************
427 * @fn zgWriteStartupOptions
428 *
429 * @brief Writes bits into the ZCD_NV_STARTUP_OPTION NV Item.
430 *
431 * @param action - ZG_STARTUP_SET set bit, ZG_STARTUP_CLEAR to
432 * clear bit. The set bit is an OR operation, and the
433 * clear bit is an AND ~(bitOptions) operation.
434 *
435 * @param bitOptions - which bits to perform action on:
436 * ZCD_STARTOPT_DEFAULT_CONFIG_STATE
437 * ZCD_STARTOPT_DEFAULT_NETWORK_STATE
438 *
439 * @return ZSUCCESS if successful
440 */
\ In segment BANKED_CODE, align 1, keep-with-next
441 uint8 zgWriteStartupOptions( uint8 action, uint8 bitOptions )
\ zgWriteStartupOptions:
442 {
\ 000000 74F6 MOV A,#-0xa
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 10
\ 000005 ; Auto size: 1
\ 000005 74FF MOV A,#-0x1
\ 000007 12.... LCALL ?ALLOC_XSTACK8
\ 00000A E9 MOV A,R1
\ 00000B FE MOV R6,A
\ 00000C EA MOV A,R2
\ 00000D FF MOV R7,A
443 uint8 status;
444 uint8 startupOptions = 0;
\ 00000E 12.... LCALL ?Subroutine0 & 0xFFFF
445
446 status = osal_nv_read( ZCD_NV_STARTUP_OPTION,
447 0,
448 sizeof( startupOptions ),
449 &startupOptions );
\ ??CrossCallReturnLabel_1:
\ 000011 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000014 75..01 MOV ?V0 + 0,#0x1
\ 000017 75..00 MOV ?V0 + 1,#0x0
\ 00001A 78.. MOV R0,#?V0 + 0
\ 00001C 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00001F 7C00 MOV R4,#0x0
\ 000021 7D00 MOV R5,#0x0
\ 000023 7A03 MOV R2,#0x3
\ 000025 7B00 MOV R3,#0x0
\ 000027 90.... MOV DPTR,#(osal_nv_read & 0xffff)
\ 00002A 74.. MOV A,#((osal_nv_read >> 16) & 0xff)
\ 00002C 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00002F 7404 MOV A,#0x4
\ 000031 12.... LCALL ?DEALLOC_XSTACK8
\ 000034 E9 MOV A,R1
450
451 if ( status == ZSUCCESS )
\ 000035 7040 JNZ ??zgWriteStartupOptions_0
452 {
453 if ( action == ZG_STARTUP_SET )
\ 000037 74FF MOV A,#-0x1
\ 000039 6E XRL A,R6
\ 00003A 700A JNZ ??zgWriteStartupOptions_1
454 {
455 // Set bits
456 startupOptions |= bitOptions;
\ 00003C 85..82 MOV DPL,?XSP + 0
\ 00003F 85..83 MOV DPH,?XSP + 1
\ 000042 E0 MOVX A,@DPTR
\ 000043 4F ORL A,R7
\ 000044 800B SJMP ??zgWriteStartupOptions_2
457 }
458 else
459 {
460 // Clear bits
461 startupOptions &= ~(bitOptions);
\ ??zgWriteStartupOptions_1:
\ 000046 EF MOV A,R7
\ 000047 F4 CPL A
\ 000048 FA MOV R2,A
\ 000049 85..82 MOV DPL,?XSP + 0
\ 00004C 85..83 MOV DPH,?XSP + 1
\ 00004F E0 MOVX A,@DPTR
\ 000050 5A ANL A,R2
\ ??zgWriteStartupOptions_2:
\ 000051 12.... LCALL ??Subroutine0_0 & 0xFFFF
462 }
463
464 // Changed?
465 status = osal_nv_write( ZCD_NV_STARTUP_OPTION,
466 0,
467 sizeof( startupOptions ),
468 &startupOptions );
\ ??CrossCallReturnLabel_2:
\ 000054 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000057 75..01 MOV ?V0 + 0,#0x1
\ 00005A 75..00 MOV ?V0 + 1,#0x0
\ 00005D 78.. MOV R0,#?V0 + 0
\ 00005F 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000062 7C00 MOV R4,#0x0
\ 000064 7D00 MOV R5,#0x0
\ 000066 7A03 MOV R2,#0x3
\ 000068 7B00 MOV R3,#0x0
\ 00006A 90.... MOV DPTR,#(osal_nv_write & 0xffff)
\ 00006D 74.. MOV A,#((osal_nv_write >> 16) & 0xff)
\ 00006F 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000072 7404 MOV A,#0x4
\ 000074 12.... LCALL ?DEALLOC_XSTACK8
469 }
470
471 return ( status );
\ ??zgWriteStartupOptions_0:
\ 000077 02.... LJMP ?Subroutine1 & 0xFFFF
472 }
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgPollRate>`:
\ 000000 E803 DW 1000
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgQueuedPollRate>`:
\ 000000 6400 DW 100
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgResponsePollRate>`:
\ 000000 6400 DW 100
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgRejoinPollRate>`:
\ 000000 B801 DW 440
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgMaxDataRetries>`:
\ 000000 02 DB 2
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgMaxPollFailureRetries>`:
\ 000000 02 DB 2
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgDefaultChannelList>`:
\ 000000 00080000 DD 2048
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgDefaultStartingScanDuratio`:
\ 000000 05 DB 5
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgStackProfile>`:
\ 000000 01 DB 1
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgIndirectMsgTimeout>`:
\ 000000 07 DB 7
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgRouteExpiryTime>`:
\ 000000 1E DB 30
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgMaxBcastRetires>`:
\ 000000 02 DB 2
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgPassiveAckTimeout>`:
\ 000000 05 DB 5
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgBcastDeliveryTime>`:
\ 000000 1E DB 30
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgNwkMode>`:
\ 000000 02 DB 2
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgConcentratorRadius>`:
\ 000000 0A DB 10
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgMaxSourceRoute>`:
\ 000000 0C DB 12
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgApscMaxFrameRetries>`:
\ 000000 03 DB 3
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgApscAckWaitDurationPolled>`:
\ 000000 B80B DW 3000
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgApsAckWaitMultiplier>`:
\ 000000 02 DB 2
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgApsDefaultMaxBindingTime>`:
\ 000000 803E DW 16000
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgConfigPANID>`:
\ 000000 FFFF DW 65535
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgDeviceLogicalType>`:
\ 000000 03 DB 3
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgStartDelay>`:
\ 000000 0A DB 10
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for zgSapiEndpoint>`:
\ 000000 E0 DB 224
473
474 /*********************************************************************
475 *********************************************************************/
Maximum stack usage in bytes:
Function ISTACK PSTACK XSTACK
-------- ------ ------ ------
zgInit 0 0 19
-> zgReadStartupOptions 0 0 30
-> ZMacGetReq 0 0 30
-> osal_memcpy 0 0 36
-> osal_nv_read 0 0 38
-> osal_nv_item_init 0 0 34
-> osal_nv_write 0 0 38
-> zgWriteStartupOptions 0 0 30
zgReadStartupOptions 1 0 30
-> osal_nv_item_init 0 0 26
-> osal_nv_read 0 0 30
zgWriteStartupOptions 1 0 30
-> osal_nv_read 0 0 30
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?