zglobals.lst
来自「CC2430上开关控制灯和温度传感器采集两个例子」· LST 代码 · 共 1,276 行 · 第 1/5 页
LST
1,276 行
375 #ifndef NONWK
376 // Initialize the Pre-Configured Key to the default key
377 osal_memcpy( zgPreConfigKey, defaultKey, SEC_KEY_LEN ); // Do NOT Change!!!
\ 000024 ; Setup parameters for call to function osal_memcpy
\ 000024 75.... MOV ?V0 + 4,#(defaultKey & 0xff)
\ 000027 75.... MOV ?V0 + 5,#((defaultKey >> 8) & 0xff)
\ 00002A 75..80 MOV ?V0 + 6,#-0x80
\ 00002D 78.. MOV R0,#?V0 + 4
\ 00002F 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 000032 7C10 MOV R4,#0x10
\ 000034 7D00 MOV R5,#0x0
\ 000036 7A.. MOV R2,#(zgPreConfigKey & 0xff)
\ 000038 7B.. MOV R3,#((zgPreConfigKey >> 8) & 0xff)
\ 00003A 90.... MOV DPTR,#(osal_memcpy & 0xffff)
\ 00003D 74.. MOV A,#((osal_memcpy >> 16) & 0xff)
\ 00003F 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000042 7403 MOV A,#0x3
\ 000044 12.... LCALL ?DEALLOC_XSTACK8
\ 000047 801F SJMP ??zgInit_1
378 #endif // NONWK
379
380 while ( zgItemTable[i].id != 0x00 )
381 {
\ ??zgInit_2:
\ 000049 ; Setup parameters for call to function osal_nv_read
\ 000049 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00004C 78.. MOV R0,#?V0 + 0
\ 00004E 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000051 7C00 MOV R4,#0x0
\ 000053 7D00 MOV R5,#0x0
\ 000055 EE MOV A,R6
\ 000056 FA MOV R2,A
\ 000057 EF MOV A,R7
\ 000058 FB MOV R3,A
\ 000059 90.... MOV DPTR,#(osal_nv_read & 0xffff)
\ 00005C 74.. MOV A,#((osal_nv_read >> 16) & 0xff)
\ ??zgInit_3:
\ 00005E 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000061 7404 MOV A,#0x4
\ 000063 12.... LCALL ?DEALLOC_XSTACK8
382 // Initialize the item
383 zgItemInit( zgItemTable[i].id, zgItemTable[i].len, zgItemTable[i].buf, setDefault );
384
385 // Move on to the next item
386 i++;
\ ??zgInit_4:
\ 000066 05.. INC ?V0 + 3
\ ??zgInit_1:
\ 000068 E5.. MOV A,?V0 + 3
\ 00006A 75F006 MOV B,#0x6
\ 00006D A4 MUL AB
\ 00006E F8 MOV R0,A
\ 00006F AAF0 MOV R2,B
\ 000071 EA MOV A,R2
\ 000072 F9 MOV R1,A
\ 000073 E8 MOV A,R0
\ 000074 24.. ADD A,#(??zgItemTable & 0xff)
\ 000076 F582 MOV DPL,A
\ 000078 E9 MOV A,R1
\ 000079 34.. ADDC A,#((??zgItemTable >> 8) & 0xff)
\ 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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?