📄 zglobals.lst
字号:
\ 00007B F583 MOV DPH,A
\ 00007D E4 CLR A
\ 00007E 93 MOVC A,@A+DPTR
\ 00007F F8 MOV R0,A
\ 000080 7401 MOV A,#0x1
\ 000082 93 MOVC A,@A+DPTR
\ 000083 F9 MOV R1,A
\ 000084 E8 MOV A,R0
\ 000085 7001 JNZ ??zgInit_5
\ 000087 E9 MOV A,R1
\ ??zgInit_5:
\ 000088 7003 JNZ $+5
\ 00008A 02.... LJMP ??zgInit_6 & 0xFFFF
\ 00008D E5.. MOV A,?V0 + 3
\ 00008F 75F006 MOV B,#0x6
\ 000092 A4 MUL AB
\ 000093 F8 MOV R0,A
\ 000094 EA MOV A,R2
\ 000095 F9 MOV R1,A
\ 000096 E8 MOV A,R0
\ 000097 24.. ADD A,#(??zgItemTable & 0xff)
\ 000099 F8 MOV R0,A
\ 00009A E9 MOV A,R1
\ 00009B 34.. ADDC A,#((??zgItemTable >> 8) & 0xff)
\ 00009D F9 MOV R1,A
\ 00009E A3 INC DPTR
\ 00009F A3 INC DPTR
\ 0000A0 A3 INC DPTR
\ 0000A1 A3 INC DPTR
\ 0000A2 E4 CLR A
\ 0000A3 93 MOVC A,@A+DPTR
\ 0000A4 F5.. MOV ?V0 + 4,A
\ 0000A6 7401 MOV A,#0x1
\ 0000A8 93 MOVC A,@A+DPTR
\ 0000A9 F5.. MOV ?V0 + 5,A
\ 0000AB 8882 MOV DPL,R0
\ 0000AD 8983 MOV DPH,R1
\ 0000AF A3 INC DPTR
\ 0000B0 A3 INC DPTR
\ 0000B1 E4 CLR A
\ 0000B2 93 MOVC A,@A+DPTR
\ 0000B3 C0E0 PUSH A
\ 0000B5 7401 MOV A,#0x1
\ 0000B7 93 MOVC A,@A+DPTR
\ 0000B8 F583 MOV DPH,A
\ 0000BA D082 POP DPL
\ 0000BC 8582.. MOV ?V0 + 0,DPL
\ 0000BF 8583.. MOV ?V0 + 1,DPH
\ 0000C2 8882 MOV DPL,R0
\ 0000C4 8983 MOV DPH,R1
\ 0000C6 E4 CLR A
\ 0000C7 93 MOVC A,@A+DPTR
\ 0000C8 C0E0 PUSH A
\ 0000CA 7401 MOV A,#0x1
\ 0000CC 93 MOVC A,@A+DPTR
\ 0000CD F583 MOV DPH,A
\ 0000CF D082 POP DPL
\ 0000D1 AE82 MOV R6,DPL
\ 0000D3 AF83 MOV R7,DPH
\ 0000D5 ; Setup parameters for call to function osal_nv_item_init
\ 0000D5 78.. MOV R0,#?V0 + 4
\ 0000D7 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 0000DA AC.. MOV R4,?V0 + 0
\ 0000DC AD.. MOV R5,?V0 + 1
\ 0000DE EE MOV A,R6
\ 0000DF FA MOV R2,A
\ 0000E0 EF MOV A,R7
\ 0000E1 FB MOV R3,A
\ 0000E2 90.... MOV DPTR,#(osal_nv_item_init & 0xffff)
\ 0000E5 74.. MOV A,#((osal_nv_item_init >> 16) & 0xff)
\ 0000E7 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0000EA 7402 MOV A,#0x2
\ 0000EC 12.... LCALL ?DEALLOC_XSTACK8
\ 0000EF E9 MOV A,R1
\ 0000F0 6003 JZ $+5
\ 0000F2 02.... LJMP ??zgInit_4 & 0xFFFF
\ 0000F5 E5.. MOV A,?V0 + 2
\ 0000F7 78.. MOV R0,#?V0 + 4
\ 0000F9 7003 JNZ $+5
\ 0000FB 02.... LJMP ??zgInit_2 & 0xFFFF
\ 0000FE ; Setup parameters for call to function osal_nv_write
\ 0000FE 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000101 78.. MOV R0,#?V0 + 0
\ 000103 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000106 7C00 MOV R4,#0x0
\ 000108 7D00 MOV R5,#0x0
\ 00010A EE MOV A,R6
\ 00010B FA MOV R2,A
\ 00010C EF MOV A,R7
\ 00010D FB MOV R3,A
\ 00010E 90.... MOV DPTR,#(osal_nv_write & 0xffff)
\ 000111 74.. MOV A,#((osal_nv_write >> 16) & 0xff)
\ 000113 02.... LJMP ??zgInit_3 & 0xFFFF
387 }
388
389 // Clear the Config State default
390 if ( setDefault )
\ ??zgInit_6:
\ 000116 E5.. MOV A,?V0 + 2
\ 000118 600C JZ ??zgInit_7
391 {
392 zgWriteStartupOptions( ZG_STARTUP_CLEAR, ZCD_STARTOPT_DEFAULT_CONFIG_STATE );
\ 00011A ; Setup parameters for call to function zgWriteStartupOptions
\ 00011A 7A01 MOV R2,#0x1
\ 00011C 7900 MOV R1,#0x0
\ 00011E 90.... MOV DPTR,#(zgWriteStartupOptions & 0xffff)
\ 000121 74.. MOV A,#((zgWriteStartupOptions >> 16) & 0xff)
\ 000123 12.... LCALL ?BCALL ; Banked call to: DPTR()
393 }
394
395 return ( ZSUCCESS );
\ ??zgInit_7:
\ 000126 7900 MOV R1,#0x0
\ 000128 7F07 MOV R7,#0x7
\ 00012A 02.... LJMP ?BANKED_LEAVE_XDATA
396 }
397
398 /*********************************************************************
399 * @fn zgReadStartupOptions
400 *
401 * @brief Reads the ZCD_NV_STARTUP_OPTION NV Item.
402 *
403 * @param none
404 *
405 * @return the ZCD_NV_STARTUP_OPTION NV item
406 */
\ In segment BANKED_CODE, align 1, keep-with-next
407 uint8 zgReadStartupOptions( void )
\ zgReadStartupOptions:
408 {
\ 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
409 // Default to Use Config State and Use Network State
410 uint8 startupOption = 0;
\ 00000A 12.... LCALL ?Subroutine0 & 0xFFFF
411
412 // This should have been done in ZMain.c, but just in case.
413 if ( osal_nv_item_init( ZCD_NV_STARTUP_OPTION,
414 sizeof(startupOption),
415 &startupOption ) == ZSUCCESS )
\ ??CrossCallReturnLabel_0:
\ 00000D 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000010 7C01 MOV R4,#0x1
\ 000012 7D00 MOV R5,#0x0
\ 000014 7A03 MOV R2,#0x3
\ 000016 7B00 MOV R3,#0x0
\ 000018 90.... MOV DPTR,#(osal_nv_item_init & 0xffff)
\ 00001B 74.. MOV A,#((osal_nv_item_init >> 16) & 0xff)
\ 00001D 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000020 7402 MOV A,#0x2
\ 000022 12.... LCALL ?DEALLOC_XSTACK8
\ 000025 E9 MOV A,R1
\ 000026 7025 JNZ ??zgReadStartupOptions_0
416 {
417 // Read saved startup control
418 osal_nv_read( ZCD_NV_STARTUP_OPTION,
419 0,
420 sizeof( startupOption ),
421 &startupOption);
\ 000028 ; Setup parameters for call to function osal_nv_read
\ 000028 78.. MOV R0,#?V0 + 0
\ 00002A 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00002D 75..01 MOV ?V0 + 0,#0x1
\ 000030 75..00 MOV ?V0 + 1,#0x0
\ 000033 78.. MOV R0,#?V0 + 0
\ 000035 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000038 7C00 MOV R4,#0x0
\ 00003A 7D00 MOV R5,#0x0
\ 00003C 7A03 MOV R2,#0x3
\ 00003E 7B00 MOV R3,#0x0
\ 000040 90.... MOV DPTR,#(osal_nv_read & 0xffff)
\ 000043 74.. MOV A,#((osal_nv_read >> 16) & 0xff)
\ 000045 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000048 7404 MOV A,#0x4
\ 00004A 12.... LCALL ?DEALLOC_XSTACK8
422 }
423 return ( startupOption );
\ ??zgReadStartupOptions_0:
\ 00004D 85..82 MOV DPL,?XSP + 0
\ 000050 85..83 MOV DPH,?XSP + 1
\ 000053 E0 MOVX A,@DPTR
\ 000054 F9 MOV R1,A
\ 000055 REQUIRE ?Subroutine1
\ 000055 ; // Fall through to label ?Subroutine1
424 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine1:
\ 000000 7401 MOV A,#0x1
\ 000002 12.... LCALL ?DEALLOC_XSTACK8
\ 000005 7F02 MOV R7,#0x2
\ 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -