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

📄 stm32f10x_gpio.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_gpio.c                         /
//    Command line =  E:\library\src\stm32f10x_gpio.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_gpio.s             /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_gpio

        EXTERN RCC_APB2PeriphResetCmd

        PUBLIC GPIO_AFIODeInit
        PUBLIC GPIO_DeInit
        PUBLIC GPIO_EXTILineConfig
        PUBLIC GPIO_EventOutputCmd
        PUBLIC GPIO_EventOutputConfig
        PUBLIC GPIO_Init
        PUBLIC GPIO_PinLockConfig
        PUBLIC GPIO_PinRemapConfig
        PUBLIC GPIO_ReadInputData
        PUBLIC GPIO_ReadInputDataBit
        PUBLIC GPIO_ReadOutputData
        PUBLIC GPIO_ReadOutputDataBit
        PUBLIC GPIO_ResetBits
        PUBLIC GPIO_SetBits
        PUBLIC GPIO_StructInit
        PUBLIC GPIO_Write
        PUBLIC GPIO_WriteBit


        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_DeInit:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,R4
        LDR.N    R1,??GPIO_DeInit_0  ;; 0x40010800
        SUBS     R0,R0,R1
        BEQ.N    ??GPIO_DeInit_1
        MOVS     R1,#+1024
        SUBS     R0,R0,R1
        BEQ.N    ??GPIO_DeInit_2
        MOVS     R1,#+1024
        SUBS     R0,R0,R1
        BEQ.N    ??GPIO_DeInit_3
        MOVS     R1,#+1024
        SUBS     R0,R0,R1
        BEQ.N    ??GPIO_DeInit_4
        MOVS     R1,#+1024
        SUBS     R0,R0,R1
        BEQ.N    ??GPIO_DeInit_5
        B.N      ??GPIO_DeInit_6
??GPIO_DeInit_1:
        MOVS     R1,#+1
        MOVS     R0,#+4
        BL       RCC_APB2PeriphResetCmd
        MOVS     R1,#+0
        MOVS     R0,#+4
        BL       RCC_APB2PeriphResetCmd
        B.N      ??GPIO_DeInit_6
??GPIO_DeInit_2:
        MOVS     R1,#+1
        MOVS     R0,#+8
        BL       RCC_APB2PeriphResetCmd
        MOVS     R1,#+0
        MOVS     R0,#+8
        BL       RCC_APB2PeriphResetCmd
        B.N      ??GPIO_DeInit_6
??GPIO_DeInit_3:
        MOVS     R1,#+1
        MOVS     R0,#+16
        BL       RCC_APB2PeriphResetCmd
        MOVS     R1,#+0
        MOVS     R0,#+16
        BL       RCC_APB2PeriphResetCmd
        B.N      ??GPIO_DeInit_6
??GPIO_DeInit_4:
        MOVS     R1,#+1
        MOVS     R0,#+32
        BL       RCC_APB2PeriphResetCmd
        MOVS     R1,#+0
        MOVS     R0,#+32
        BL       RCC_APB2PeriphResetCmd
        B.N      ??GPIO_DeInit_6
??GPIO_DeInit_5:
        MOVS     R1,#+1
        MOVS     R0,#+64
        BL       RCC_APB2PeriphResetCmd
        MOVS     R1,#+0
        MOVS     R0,#+64
        BL       RCC_APB2PeriphResetCmd
??GPIO_DeInit_6:
        POP      {R4,PC}          ;; return
        DATA
??GPIO_DeInit_0:
        DC32     0x40010800

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_AFIODeInit:
        PUSH     {R0,LR}
        MOVS     R1,#+1
        MOVS     R0,#+1
        BL       RCC_APB2PeriphResetCmd
        MOVS     R1,#+0
        MOVS     R0,#+1
        BL       RCC_APB2PeriphResetCmd
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_Init:
        PUSH     {R0,R1,R4-R7}
        MOVS     R6,#+0
        MOVS     R5,R6
        MOVS     R6,#+0
        STR      R6,[SP, #+0]
        MOVS     R6,#+0
        MOVS     R2,R6
        MOVS     R6,#+0
        MOVS     R3,R6
        MOVS     R6,#+0
        MOVS     R4,R6
        MOVS     R6,#+0
        STR      R6,[SP, #+4]
        LDRB     R6,[R1, #+3]
        LSLS     R6,R6,#+28       ;; ZeroExtS R6,R6,#+28,#+28
        LSRS     R6,R6,#+28
        MOVS     R5,R6
        LDRB     R6,[R1, #+3]
        LSLS     R6,R6,#+27
        BPL.N    ??GPIO_Init_0
        MOVS     R6,R5
        LDRB     R5,[R1, #+2]
        ORRS     R5,R5,R6
??GPIO_Init_0:
        LDRH     R6,[R1, #+0]
        LSLS     R6,R6,#+24
        BEQ.N    ??GPIO_Init_1
        LDR      R6,[R0, #+0]
        MOVS     R4,R6
        MOVS     R6,#+0
        MOVS     R2,R6
??GPIO_Init_2:
        CMP      R2,#+8
        BCS.N    ??GPIO_Init_3
        MOVS     R6,#+1
        LSLS     R6,R6,R2
        MOVS     R3,R6
        LDRH     R6,[R1, #+0]
        ANDS     R6,R6,R3
        STR      R6,[SP, #+0]
        LDR      R6,[SP, #+0]
        CMP      R6,R3
        BNE.N    ??GPIO_Init_4
        LSLS     R3,R2,#+2
        MOVS     R6,#+15
        LSLS     R6,R6,R3
        STR      R6,[SP, #+4]
        LDR      R6,[SP, #+4]
        BICS     R4,R4,R6
        MOVS     R6,R4
        MOVS     R4,R5
        LSLS     R4,R4,R3
        ORRS     R4,R4,R6
        LDRB     R6,[R1, #+3]
        CMP      R6,#+40
        BNE.N    ??GPIO_Init_5
        MOVS     R6,#+1
        LSLS     R6,R6,R2
        STR      R6,[R0, #+20]
??GPIO_Init_5:
        LDRB     R6,[R1, #+3]
        CMP      R6,#+72
        BNE.N    ??GPIO_Init_4
        MOVS     R6,#+1
        LSLS     R6,R6,R2
        STR      R6,[R0, #+16]
??GPIO_Init_4:
        ADDS     R2,R2,#+1
        B.N      ??GPIO_Init_2
??GPIO_Init_3:
        STR      R4,[R0, #+0]
        MOVS     R6,#+0
        MOVS     R4,R6
??GPIO_Init_1:
        LDRH     R6,[R1, #+0]
        MOVS     R7,#+256
        CMP      R6,R7
        BCC.N    ??GPIO_Init_6
        LDR      R6,[R0, #+4]
        MOVS     R4,R6
        MOVS     R6,#+0
        MOVS     R2,R6
??GPIO_Init_7:
        CMP      R2,#+8
        BCS.N    ??GPIO_Init_8
        MOVS     R6,#+1
        MOVS     R7,R2
        ADDS     R7,R7,#+8
        LSLS     R6,R6,R7
        MOVS     R3,R6
        LDRH     R6,[R1, #+0]
        ANDS     R6,R6,R3
        STR      R6,[SP, #+0]
        LDR      R6,[SP, #+0]
        CMP      R6,R3
        BNE.N    ??GPIO_Init_9
        LSLS     R3,R2,#+2
        MOVS     R6,#+15
        LSLS     R6,R6,R3
        STR      R6,[SP, #+4]
        LDR      R6,[SP, #+4]
        BICS     R4,R4,R6
        MOVS     R6,R4
        MOVS     R4,R5
        LSLS     R4,R4,R3
        ORRS     R4,R4,R6
        LDRB     R6,[R1, #+3]
        CMP      R6,#+40
        BNE.N    ??GPIO_Init_10
        MOVS     R6,#+1
        MOVS     R7,R2
        ADDS     R7,R7,#+8
        LSLS     R6,R6,R7
        STR      R6,[R0, #+20]
??GPIO_Init_10:
        LDRB     R6,[R1, #+3]
        CMP      R6,#+72
        BNE.N    ??GPIO_Init_9
        MOVS     R6,#+1
        MOVS     R7,R2
        ADDS     R7,R7,#+8
        LSLS     R6,R6,R7
        STR      R6,[R0, #+16]
??GPIO_Init_9:
        ADDS     R2,R2,#+1
        B.N      ??GPIO_Init_7
??GPIO_Init_8:
        STR      R4,[R0, #+4]
??GPIO_Init_6:
        ADD      SP,SP,#+8
        POP      {R4-R7}
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_StructInit:
        LDR.N    R1,??GPIO_StructInit_0  ;; 0xffff
        STRH     R1,[R0, #+0]

⌨️ 快捷键说明

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