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

📄 stm32f10x_nvic.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 2 页
字号:
///////////////////////////////////////////////////////////////////////////////
//                                                                            /
//                                                      30/Jul/2008  14:37:39 /
// IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                   /
// Copyright 1999-2007 IAR Systems. All rights reserved.                      /
//                                                                            /
//    Cpu mode     =  thumb                                                   /
//    Endian       =  little                                                  /
//    Source file  =  E:\library\src\stm32f10x_nvic.c                         /
//    Command line =  E:\library\src\stm32f10x_nvic.c -D EMB_FLASH -lCN       /
//                    E:\ELE\yten\pro\Debug\List\ -lb                         /
//                    E:\ELE\yten\pro\Debug\List\ -o                          /
//                    E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll         /
//                    --no_inline --no_code_motion --no_tbaa --no_clustering  /
//                    --no_scheduling --debug --endian little --cpu           /
//                    Cortex-M3 -e --fpu None --dlib_config "C:\Program       /
//                    Files\IAR Systems\Embedded Workbench 5.0                /
//                    Evaluation\ARM\INC\DLib_Config_Normal.h" -I             /
//                    E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I  /
//                    "C:\Program Files\IAR Systems\Embedded Workbench 5.0    /
//                    Evaluation\ARM\INC\" --section .text=.XML -On           /
//    List file    =  E:\ELE\yten\pro\Debug\List\stm32f10x_nvic.s             /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_nvic

        EXTERN __BASEPRICONFIG
        EXTERN __GetBASEPRI
        EXTERN __RESETFAULTMASK
        EXTERN __RESETPRIMASK
        EXTERN __SETFAULTMASK
        EXTERN __SETPRIMASK

        PUBLIC NVIC_BASEPRICONFIG
        PUBLIC NVIC_ClearIRQChannelPendingBit
        PUBLIC NVIC_ClearSystemHandlerPendingBit
        PUBLIC NVIC_DeInit
        PUBLIC NVIC_GenerateCoreReset
        PUBLIC NVIC_GenerateSystemReset
        PUBLIC NVIC_GetBASEPRI
        PUBLIC NVIC_GetCPUID
        PUBLIC NVIC_GetCurrentActiveHandler
        PUBLIC NVIC_GetCurrentPendingIRQChannel
        PUBLIC NVIC_GetFaultAddress
        PUBLIC NVIC_GetFaultHandlerSources
        PUBLIC NVIC_GetIRQChannelActiveBitStatus
        PUBLIC NVIC_GetIRQChannelPendingBitStatus
        PUBLIC NVIC_GetSystemHandlerActiveBitStatus
        PUBLIC NVIC_GetSystemHandlerPendingBitStatus
        PUBLIC NVIC_Init
        PUBLIC NVIC_PriorityGroupConfig
        PUBLIC NVIC_RESETFAULTMASK
        PUBLIC NVIC_RESETPRIMASK
        PUBLIC NVIC_SCBDeInit
        PUBLIC NVIC_SETFAULTMASK
        PUBLIC NVIC_SETPRIMASK
        PUBLIC NVIC_SetIRQChannelPendingBit
        PUBLIC NVIC_SetSystemHandlerPendingBit
        PUBLIC NVIC_SetVectorTable
        PUBLIC NVIC_StructInit
        PUBLIC NVIC_SystemHandlerConfig
        PUBLIC NVIC_SystemHandlerPriorityConfig
        PUBLIC NVIC_SystemLPConfig


        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_DeInit:
        MOVS     R1,#+0
        MOVS     R0,R1
        LDR.N    R1,??DataTable18  ;; 0xe000e180
        MOVS     R2,#-1
        STR      R2,[R1, #+0]
        LDR.N    R1,??NVIC_DeInit_0  ;; 0xe000e184
        LDR.N    R2,??NVIC_DeInit_0+0x4  ;; 0x7ff
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable20  ;; 0xe000e280
        MOVS     R2,#-1
        STR      R2,[R1, #+0]
        LDR.N    R1,??NVIC_DeInit_0+0x8  ;; 0xe000e284
        LDR.N    R2,??NVIC_DeInit_0+0x4  ;; 0x7ff
        STR      R2,[R1, #+0]
        MOVS     R1,#+0
        MOVS     R0,R1
??NVIC_DeInit_1:
        CMP      R0,#+11
        BCS.N    ??NVIC_DeInit_2
        MOVS     R1,#+4
        MULS     R1,R0,R1
        LDR.N    R2,??DataTable17  ;; 0xe000e400
        MOVS     R3,#+0
        STR      R3,[R2, R1]
        ADDS     R0,R0,#+1
        B.N      ??NVIC_DeInit_1
??NVIC_DeInit_2:
        BX       LR               ;; return
        DATA
??NVIC_DeInit_0:
        DC32     0xe000e184
        DC32     0x7ff
        DC32     0xe000e284

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_SCBDeInit:
        MOVS     R1,#+0
        MOVS     R0,R1
        LDR.N    R1,??DataTable21  ;; 0xe000ed04
        MOVS     R2,#+167772160
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable22  ;; 0xe000ed08
        MOVS     R2,#+0
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable24  ;; 0xe000ed0c
        LDR.N    R2,??DataTable13  ;; 0x5fa0000
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable28  ;; 0xe000ed10
        MOVS     R2,#+0
        STR      R2,[R1, #+0]
        LDR.N    R1,??NVIC_SCBDeInit_0  ;; 0xe000ed14
        MOVS     R2,#+0
        STR      R2,[R1, #+0]
        MOVS     R1,#+0
        MOVS     R0,R1
??NVIC_SCBDeInit_1:
        CMP      R0,#+3
        BCS.N    ??NVIC_SCBDeInit_2
        MOVS     R1,#+4
        MULS     R1,R0,R1
        LDR.N    R2,??DataTable8  ;; 0xe000ed18
        MOVS     R3,#+0
        STR      R3,[R2, R1]
        ADDS     R0,R0,#+1
        B.N      ??NVIC_SCBDeInit_1
??NVIC_SCBDeInit_2:
        LDR.N    R1,??DataTable32  ;; 0xe000ed24
        MOVS     R2,#+0
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable10  ;; 0xe000ed28
        MOVS     R2,#-1
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable11  ;; 0xe000ed2c
        MOVS     R2,#-1
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable12  ;; 0xe000ed30
        MOVS     R2,#-1
        STR      R2,[R1, #+0]
        BX       LR               ;; return
        Nop      
        DATA
??NVIC_SCBDeInit_0:
        DC32     0xe000ed14

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable8:
        DC32     0xe000ed18

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable10:
        DC32     0xe000ed28

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable11:
        DC32     0xe000ed2c

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable12:
        DC32     0xe000ed30

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_PriorityGroupConfig:
        LDR.N    R1,??DataTable13  ;; 0x5fa0000
        ORRS     R1,R1,R0
        LDR.N    R2,??DataTable24  ;; 0xe000ed0c
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable13:
        DC32     0x5fa0000

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_Init:
        PUSH     {R0,R1,R4-R7}
        MOVS     R1,R0
        MOVS     R0,#+0
        MOVS     R4,R0
        MOVS     R0,#+0
        MOVS     R5,R0
        MOVS     R0,#+0
        MOVS     R2,R0
        MOVS     R0,#+0
        STR      R0,[SP, #+0]
        MOVS     R0,#+15
        MOVS     R3,R0
        LDRB     R0,[R1, #+3]
        CMP      R0,#+0
        BEQ.N    ??NVIC_Init_0
        LDR.N    R0,??DataTable24  ;; 0xe000ed0c
        LDR      R0,[R0, #+0]
        ANDS     R0,R0,#0x700
        RSBS     R0,R0,#+1792
        LSRS     R4,R0,#+8
        MOVS     R0,#+4
        SUBS     R0,R0,R4
        STR      R0,[SP, #+0]
        LSRS     R3,R3,R4
        LDRB     R0,[R1, #+1]
        LDR      R6,[SP, #+0]
        LSLS     R0,R0,R6
        MOVS     R4,R0
        MOVS     R0,R4
        LDRB     R4,[R1, #+2]
        ANDS     R4,R4,R3
        ORRS     R4,R4,R0
        LSLS     R4,R4,#+4
        LDRB     R0,[R1, #+0]
        LSLS     R0,R0,#+30       ;; ZeroExtS R0,R0,#+30,#+30
        LSRS     R0,R0,#+30
        MOVS     R6,#+8
        MULS     R0,R6,R0
        LSLS     R4,R4,R0
        LDRB     R0,[R1, #+0]
        ASRS     R0,R0,#+2
        MOVS     R6,#+4
        MULS     R0,R6,R0
        LDR.N    R6,??DataTable17  ;; 0xe000e400
        LDR      R0,[R6, R0]
        MOVS     R5,R0
        MOVS     R0,#+255
        LDRB     R6,[R1, #+0]
        LSLS     R6,R6,#+30       ;; ZeroExtS R6,R6,#+30,#+30
        LSRS     R6,R6,#+30
        MOVS     R7,#+8
        MULS     R6,R7,R6
        LSLS     R0,R0,R6
        MOVS     R2,R0
        BICS     R5,R5,R2
        ANDS     R4,R4,R2
        ORRS     R5,R5,R4
        LDRB     R0,[R1, #+0]
        ASRS     R0,R0,#+2
        MOVS     R6,#+4
        MULS     R0,R6,R0
        LDR.N    R6,??DataTable17  ;; 0xe000e400
        STR      R5,[R6, R0]
        LDRB     R0,[R1, #+0]
        ASRS     R6,R0,#+5
        MOVS     R0,#+4
        MULS     R6,R0,R6
        LDR.N    R7,??NVIC_Init_1  ;; 0xe000e100
        MOV      R12,R6
        MOVS     R0,#+1
        LDRB     R6,[R1, #+0]
        LSLS     R6,R6,#+27       ;; ZeroExtS R6,R6,#+27,#+27
        LSRS     R6,R6,#+27
        LSLS     R0,R0,R6
        MOV      R6,R12
        STR      R0,[R7, R6]
        B.N      ??NVIC_Init_2
??NVIC_Init_0:
        LDRB     R0,[R1, #+0]
        ASRS     R6,R0,#+5
        MOVS     R0,#+4
        MULS     R6,R0,R6
        LDR.N    R7,??DataTable18  ;; 0xe000e180
        MOV      R12,R6
        MOVS     R0,#+1
        LDRB     R6,[R1, #+0]
        LSLS     R6,R6,#+27       ;; ZeroExtS R6,R6,#+27,#+27
        LSRS     R6,R6,#+27
        LSLS     R0,R0,R6
        MOV      R6,R12
        STR      R0,[R7, R6]
??NVIC_Init_2:
        ADD      SP,SP,#+8
        POP      {R4-R7}
        BX       LR               ;; return
        Nop      
        DATA
??NVIC_Init_1:
        DC32     0xe000e100

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable17:
        DC32     0xe000e400

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable18:
        DC32     0xe000e180

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_StructInit:
        MOVS     R1,#+0
        STRB     R1,[R0, #+0]
        MOVS     R1,#+0
        STRB     R1,[R0, #+1]
        MOVS     R1,#+0
        STRB     R1,[R0, #+2]
        MOVS     R1,#+0
        STRB     R1,[R0, #+3]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_SETPRIMASK:
        PUSH     {R0,LR}
        BL       __SETPRIMASK
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_RESETPRIMASK:
        PUSH     {R0,LR}
        BL       __RESETPRIMASK
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_SETFAULTMASK:
        PUSH     {R0,LR}
        BL       __SETFAULTMASK
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_RESETFAULTMASK:
        PUSH     {R0,LR}
        BL       __RESETFAULTMASK
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_BASEPRICONFIG:
        PUSH     {R4,LR}
        MOVS     R4,R0
        LSLS     R0,R4,#+4
        BL       __BASEPRICONFIG
        POP      {R4,PC}          ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_GetBASEPRI:
        PUSH     {R0,LR}
        BL       __GetBASEPRI
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_GetCurrentPendingIRQChannel:
        LDR.N    R0,??DataTable21  ;; 0xe000ed04
        LDR      R0,[R0, #+0]
        LDR.N    R1,??NVIC_GetCurrentPendingIRQChannel_0  ;; 0x3ff000
        ANDS     R1,R1,R0
        LSRS     R0,R1,#+12
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        BX       LR               ;; return
        Nop      
        DATA
??NVIC_GetCurrentPendingIRQChannel_0:
        DC32     0x3ff000

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_GetIRQChannelPendingBitStatus:
        PUSH     {R0,R4}
        MOVS     R1,R0
        MOVS     R3,#+0
        MOVS     R0,R3
        MOVS     R3,#+0
        MOVS     R2,R3
        MOVS     R3,#+1
        LSLS     R4,R1,#+27       ;; ZeroExtS R4,R1,#+27,#+27
        LSRS     R4,R4,#+27
        LSLS     R3,R3,R4
        MOVS     R2,R3
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        ASRS     R3,R1,#+5
        MOVS     R4,#+4
        MULS     R3,R4,R3
        LDR.N    R4,??NVIC_GetIRQChannelPendingBitStatus_0  ;; 0xe000e200
        LDR      R3,[R4, R3]
        ANDS     R3,R3,R2
        CMP      R3,R2
        BNE.N    ??NVIC_GetIRQChannelPendingBitStatus_1
        MOVS     R3,#+1
        MOVS     R0,R3
        B.N      ??NVIC_GetIRQChannelPendingBitStatus_2
??NVIC_GetIRQChannelPendingBitStatus_1:
        MOVS     R3,#+0
        MOVS     R0,R3
??NVIC_GetIRQChannelPendingBitStatus_2:
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ADD      SP,SP,#+4
        POP      {R4}
        BX       LR               ;; return
        Nop      
        DATA
??NVIC_GetIRQChannelPendingBitStatus_0:
        DC32     0xe000e200

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_SetIRQChannelPendingBit:
        LDR.N    R1,??NVIC_SetIRQChannelPendingBit_0  ;; 0xe000ef00
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        STR      R0,[R1, #+0]
        BX       LR               ;; return
        DATA
??NVIC_SetIRQChannelPendingBit_0:
        DC32     0xe000ef00

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_ClearIRQChannelPendingBit:
        PUSH     {R0,R4}
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ASRS     R1,R0,#+5
        MOVS     R2,#+4
        MULS     R1,R2,R1
        LDR.N    R2,??DataTable20  ;; 0xe000e280
        MOVS     R3,#+1
        LSLS     R4,R0,#+27       ;; ZeroExtS R4,R0,#+27,#+27
        LSRS     R4,R4,#+27
        LSLS     R3,R3,R4
        STR      R3,[R2, R1]
        ADD      SP,SP,#+4
        POP      {R4}
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable20:
        DC32     0xe000e280

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
NVIC_GetCurrentActiveHandler:
        LDR.N    R0,??DataTable21  ;; 0xe000ed04
        LDR      R0,[R0, #+0]
        LSLS     R0,R0,#+22       ;; ZeroExtS R0,R0,#+22,#+22
        LSRS     R0,R0,#+22
        BX       LR               ;; return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -