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

📄 stm32f10x_dma.s

📁 完成数据的采集
💻 S
字号:
///////////////////////////////////////////////////////////////////////////////
//                                                                            /
//                                                      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_dma.c                          /
//    Command line =  E:\library\src\stm32f10x_dma.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_dma.s              /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_dma

        PUBLIC DMA_ClearFlag
        PUBLIC DMA_ClearITPendingBit
        PUBLIC DMA_Cmd
        PUBLIC DMA_DeInit
        PUBLIC DMA_GetCurrDataCounter
        PUBLIC DMA_GetFlagStatus
        PUBLIC DMA_GetITStatus
        PUBLIC DMA_ITConfig
        PUBLIC DMA_Init
        PUBLIC DMA_StructInit


        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_DeInit:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R1,#+0
        MOVS     R0,R4
        BL       DMA_Cmd
        MOVS     R0,#+0
        STR      R0,[R4, #+0]
        MOVS     R0,#+0
        STR      R0,[R4, #+4]
        MOVS     R0,#+0
        STR      R0,[R4, #+8]
        MOVS     R0,#+0
        STR      R0,[R4, #+12]
        MOVS     R0,R4
        LDR.N    R1,??DMA_DeInit_0  ;; 0x40020008
        SUBS     R0,R0,R1
        BEQ.N    ??DMA_DeInit_1
        SUBS     R0,R0,#+20
        BEQ.N    ??DMA_DeInit_2
        SUBS     R0,R0,#+20
        BEQ.N    ??DMA_DeInit_3
        SUBS     R0,R0,#+20
        BEQ.N    ??DMA_DeInit_4
        SUBS     R0,R0,#+20
        BEQ.N    ??DMA_DeInit_5
        SUBS     R0,R0,#+20
        BEQ.N    ??DMA_DeInit_6
        SUBS     R0,R0,#+20
        BEQ.N    ??DMA_DeInit_7
        B.N      ??DMA_DeInit_8
??DMA_DeInit_1:
        LDR.N    R0,??DataTable17  ;; 0x40020004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0xF
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        B.N      ??DMA_DeInit_8
??DMA_DeInit_2:
        LDR.N    R0,??DataTable17  ;; 0x40020004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0xF0
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        B.N      ??DMA_DeInit_8
??DMA_DeInit_3:
        LDR.N    R0,??DataTable17  ;; 0x40020004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0xF00
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        B.N      ??DMA_DeInit_8
??DMA_DeInit_4:
        LDR.N    R0,??DataTable17  ;; 0x40020004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0xF000
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        B.N      ??DMA_DeInit_8
??DMA_DeInit_5:
        LDR.N    R0,??DataTable17  ;; 0x40020004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0xF0000
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        B.N      ??DMA_DeInit_8
??DMA_DeInit_6:
        LDR.N    R0,??DataTable17  ;; 0x40020004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0xF00000
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        B.N      ??DMA_DeInit_8
??DMA_DeInit_7:
        LDR.N    R0,??DataTable17  ;; 0x40020004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0xF000000
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
??DMA_DeInit_8:
        POP      {R4,PC}          ;; return
        DATA
??DMA_DeInit_0:
        DC32     0x40020008

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_Init:
        PUSH     {R4,R5}
        MOVS     R2,#+0
        MOVS     R3,R2
        LDR      R2,[R0, #+0]
        MOVS     R3,R2
        MOVS     R2,R3
        LDR.N    R3,??DMA_Init_0  ;; 0xffff800f
        ANDS     R3,R3,R2
        MOVS     R2,R3
        LDR      R3,[R1, #+8]
        LDR      R4,[R1, #+32]
        ORRS     R4,R4,R3
        LDR      R3,[R1, #+16]
        ORRS     R3,R3,R4
        LDR      R4,[R1, #+20]
        ORRS     R4,R4,R3
        LDR      R3,[R1, #+24]
        ORRS     R3,R3,R4
        LDR      R4,[R1, #+28]
        ORRS     R4,R4,R3
        LDR      R5,[R1, #+36]
        ORRS     R5,R5,R4
        LDR      R3,[R1, #+40]
        ORRS     R3,R3,R5
        ORRS     R3,R3,R2
        STR      R3,[R0, #+0]
        LDR      R2,[R1, #+12]
        STR      R2,[R0, #+4]
        LDR      R2,[R1, #+0]
        STR      R2,[R0, #+8]
        LDR      R2,[R1, #+4]
        STR      R2,[R0, #+12]
        POP      {R4,R5}
        BX       LR               ;; return
        DATA
??DMA_Init_0:
        DC32     0xffff800f

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_StructInit:
        MOVS     R1,#+0
        STR      R1,[R0, #+0]
        MOVS     R1,#+0
        STR      R1,[R0, #+4]
        MOVS     R1,#+0
        STR      R1,[R0, #+8]
        MOVS     R1,#+0
        STR      R1,[R0, #+12]
        MOVS     R1,#+0
        STR      R1,[R0, #+16]
        MOVS     R1,#+0
        STR      R1,[R0, #+20]
        MOVS     R1,#+0
        STR      R1,[R0, #+24]
        MOVS     R1,#+0
        STR      R1,[R0, #+28]
        MOVS     R1,#+0
        STR      R1,[R0, #+32]
        MOVS     R1,#+0
        STR      R1,[R0, #+36]
        MOVS     R1,#+0
        STR      R1,[R0, #+40]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_Cmd:
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+0
        BEQ.N    ??DMA_Cmd_0
        LDR      R2,[R0, #+0]
        ORRS     R2,R2,#0x1
        STR      R2,[R0, #+0]
        B.N      ??DMA_Cmd_1
??DMA_Cmd_0:
        LDR      R2,[R0, #+0]
        MOVS     R3,#+1
        BICS     R2,R2,R3
        STR      R2,[R0, #+0]
??DMA_Cmd_1:
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_ITConfig:
        UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
        CMP      R2,#+0
        BEQ.N    ??DMA_ITConfig_0
        LDR      R3,[R0, #+0]
        ORRS     R3,R3,R1
        STR      R3,[R0, #+0]
        B.N      ??DMA_ITConfig_1
??DMA_ITConfig_0:
        LDR      R3,[R0, #+0]
        BICS     R3,R3,R1
        STR      R3,[R0, #+0]
??DMA_ITConfig_1:
        BX       LR               ;; return

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

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_GetFlagStatus:
        MOVS     R1,R0
        MOVS     R2,#+0
        MOVS     R0,R2
        LDR.N    R2,??DataTable16  ;; 0x40020000
        LDR      R2,[R2, #+0]
        ANDS     R2,R2,R1
        SUBS     R2,R2,#+1
        SBCS     R2,R2,R2
        MVNS     R2,R2
        LSRS     R2,R2,#+31
        MOVS     R0,R2
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_ClearFlag:
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_GetITStatus:
        MOVS     R1,R0
        MOVS     R2,#+0
        MOVS     R0,R2
        LDR.N    R2,??DataTable16  ;; 0x40020000
        LDR      R2,[R2, #+0]
        ANDS     R2,R2,R1
        SUBS     R2,R2,#+1
        SBCS     R2,R2,R2
        MVNS     R2,R2
        LSRS     R2,R2,#+31
        MOVS     R0,R2
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable16:
        DC32     0x40020000

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
DMA_ClearITPendingBit:
        LDR.N    R1,??DataTable17  ;; 0x40020004
        STR      R0,[R1, #+0]
        BX       LR               ;; return

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

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

⌨️ 快捷键说明

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