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

📄 stm32f10x_gpio.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 2 页
字号:
        MOVS     R1,#+2
        STRB     R1,[R0, #+2]
        MOVS     R1,#+4
        STRB     R1,[R0, #+3]
        BX       LR               ;; return
        Nop      
        DATA
??GPIO_StructInit_0:
        DC32     0xffff

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_ReadInputDataBit:
        PUSH     {R0,R4}
        MOVS     R2,R0
        MOVS     R3,#+0
        MOVS     R0,R3
        LDR      R3,[R2, #+8]
        ANDS     R3,R3,R1
        MOVS     R4,R3
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        SUBS     R4,R4,#+1
        SBCS     R4,R4,R4
        MVNS     R4,R4
        LSRS     R4,R4,#+31
        MOVS     R0,R4
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ADD      SP,SP,#+4
        POP      {R4}
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_ReadInputData:
        LDR      R0,[R0, #+8]
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_ReadOutputDataBit:
        PUSH     {R0,R4}
        MOVS     R2,R0
        MOVS     R3,#+0
        MOVS     R0,R3
        LDR      R3,[R2, #+12]
        ANDS     R3,R3,R1
        MOVS     R4,R3
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        SUBS     R4,R4,#+1
        SBCS     R4,R4,R4
        MVNS     R4,R4
        LSRS     R4,R4,#+31
        MOVS     R0,R4
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ADD      SP,SP,#+4
        POP      {R4}
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_ReadOutputData:
        LDR      R0,[R0, #+12]
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_SetBits:
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        STR      R1,[R0, #+16]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_ResetBits:
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        STR      R1,[R0, #+20]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_WriteBit:
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        CMP      R2,#+0
        BEQ.N    ??GPIO_WriteBit_0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        STR      R1,[R0, #+16]
        B.N      ??GPIO_WriteBit_1
??GPIO_WriteBit_0:
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        STR      R1,[R0, #+20]
??GPIO_WriteBit_1:
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_Write:
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        STR      R1,[R0, #+12]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_PinLockConfig:
        MOVS     R3,#+65536
        MOVS     R2,R3
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        ORRS     R2,R2,R1
        STR      R2,[R0, #+24]
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        STR      R1,[R0, #+24]
        STR      R2,[R0, #+24]
        LDR      R3,[R0, #+24]
        MOVS     R2,R3
        LDR      R3,[R0, #+24]
        MOVS     R2,R3
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_EventOutputConfig:
        MOVS     R3,#+0
        MOVS     R2,R3
        LDR.N    R3,??GPIO_EventOutputConfig_0  ;; 0x40010000
        LDR      R3,[R3, #+0]
        MOVS     R2,R3
        MOVS     R3,R2
        LDR.N    R2,??GPIO_EventOutputConfig_0+0x4  ;; 0xff80
        ANDS     R2,R2,R3
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ORRS     R2,R2,R0, LSL #+4
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        ORRS     R2,R2,R1
        LDR.N    R3,??GPIO_EventOutputConfig_0  ;; 0x40010000
        STR      R2,[R3, #+0]
        BX       LR               ;; return
        DATA
??GPIO_EventOutputConfig_0:
        DC32     0x40010000
        DC32     0xff80

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

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_PinRemapConfig:
        PUSH     {R0,R4-R6}
        MOVS     R6,#+0
        MOVS     R2,R6
        MOVS     R6,#+0
        MOVS     R3,R6
        MOVS     R6,#+0
        MOVS     R4,R6
        MOVS     R6,#+0
        MOVS     R5,R6
        LDR.N    R6,??GPIO_PinRemapConfig_0  ;; 0x40010004
        LDR      R6,[R6, #+0]
        MOVS     R4,R6
        ANDS     R6,R0,#0xF0000
        LSRS     R5,R6,#+16
        UXTH     R6,R0            ;; ZeroExtS R6,R0,#+16,#+16
        MOVS     R2,R6
        LSLS     R6,R0,#+10
        BPL.N    ??GPIO_PinRemapConfig_1
        MOVS     R6,R4
        MVNS     R4,#+117440512
        ANDS     R4,R4,R6
        B.N      ??GPIO_PinRemapConfig_2
??GPIO_PinRemapConfig_1:
        LSLS     R6,R0,#+11
        BPL.N    ??GPIO_PinRemapConfig_3
        MOVS     R6,#+3
        LSLS     R6,R6,R5
        MOVS     R3,R6
        BICS     R4,R4,R3
        B.N      ??GPIO_PinRemapConfig_2
??GPIO_PinRemapConfig_3:
        BICS     R4,R4,R2
??GPIO_PinRemapConfig_2:
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+0
        BEQ.N    ??GPIO_PinRemapConfig_4
        LSLS     R6,R0,#+10
        BPL.N    ??GPIO_PinRemapConfig_5
        ORRS     R4,R4,R2, LSL #+16
        B.N      ??GPIO_PinRemapConfig_4
??GPIO_PinRemapConfig_5:
        ORRS     R4,R4,R2
??GPIO_PinRemapConfig_4:
        LDR.N    R6,??GPIO_PinRemapConfig_0  ;; 0x40010004
        STR      R4,[R6, #+0]
        ADD      SP,SP,#+4
        POP      {R4-R6}
        BX       LR               ;; return
        DATA
??GPIO_PinRemapConfig_0:
        DC32     0x40010004

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_EXTILineConfig:
        PUSH     {R4,R5}
        MOVS     R3,#+0
        MOVS     R2,R3
        MOVS     R3,#+15
        LSLS     R4,R1,#+30       ;; ZeroExtS R4,R1,#+30,#+30
        LSRS     R4,R4,#+30
        MOVS     R5,#+4
        MULS     R4,R5,R4
        LSLS     R3,R3,R4
        MOVS     R2,R3
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        ASRS     R3,R1,#+2
        MOVS     R4,#+4
        MULS     R3,R4,R3
        LDR.N    R4,??GPIO_EXTILineConfig_0  ;; 0x40010008
        LDR      R3,[R4, R3]
        BICS     R3,R3,R2
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        ASRS     R4,R1,#+2
        MOVS     R5,#+4
        MULS     R4,R5,R4
        LDR.N    R5,??GPIO_EXTILineConfig_0  ;; 0x40010008
        STR      R3,[R5, R4]
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        ASRS     R3,R1,#+2
        MOVS     R4,#+4
        MULS     R3,R4,R3
        LDR.N    R4,??GPIO_EXTILineConfig_0  ;; 0x40010008
        LDR      R3,[R4, R3]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSLS     R4,R1,#+30       ;; ZeroExtS R4,R1,#+30,#+30
        LSRS     R4,R4,#+30
        MOVS     R5,#+4
        MULS     R4,R5,R4
        LSLS     R4,R0,R4
        ORRS     R4,R4,R3
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        ASRS     R3,R1,#+2
        MOVS     R5,#+4
        MULS     R3,R5,R3
        LDR.N    R5,??GPIO_EXTILineConfig_0  ;; 0x40010008
        STR      R4,[R5, R3]
        POP      {R4,R5}
        BX       LR               ;; return
        Nop      
        DATA
??GPIO_EXTILineConfig_0:
        DC32     0x40010008

        END
// 
// 814 bytes in section .XML
// 
// 814 bytes of CODE memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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