⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zglobals.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   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 + -