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

📄 stm32f10x_dma.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 2 页
字号:
        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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
DMA_Cmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??DMA_Cmd_0
        CMP      R5,#+1
        BEQ.N    ??DMA_Cmd_0
        MOVS     R1,#+235
        LDR.N    R0,??DataTable28  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??DMA_Cmd_0:
        CMP      R5,#+0
        BEQ.N    ??DMA_Cmd_1
        LDR      R0,[R4, #+0]
        ORRS     R0,R0,#0x1
        STR      R0,[R4, #+0]
        B.N      ??DMA_Cmd_2
??DMA_Cmd_1:
        LDR      R0,[R4, #+0]
        MOVS     R1,#+1
        BICS     R0,R0,R1
        STR      R0,[R4, #+0]
??DMA_Cmd_2:
        POP      {R4,R5,PC}       ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
DMA_ITConfig:
        PUSH     {R4-R6,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        MOVS     R0,R5
        MOVS     R1,#+14
        BICS     R0,R0,R1
        CMP      R0,#+0
        BNE.N    ??DMA_ITConfig_0
        CMP      R5,#+0
        BNE.N    ??DMA_ITConfig_1
??DMA_ITConfig_0:
        MOVS     R1,#+266
        LDR.N    R0,??DataTable28  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??DMA_ITConfig_1:
        CMP      R6,#+0
        BEQ.N    ??DMA_ITConfig_2
        CMP      R6,#+1
        BEQ.N    ??DMA_ITConfig_2
        LDR.N    R1,??DMA_ITConfig_3  ;; 0x10b
        LDR.N    R0,??DataTable28  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??DMA_ITConfig_2:
        CMP      R6,#+0
        BEQ.N    ??DMA_ITConfig_4
        LDR      R0,[R4, #+0]
        ORRS     R5,R5,R0
        STR      R5,[R4, #+0]
        B.N      ??DMA_ITConfig_5
??DMA_ITConfig_4:
        LDR      R0,[R4, #+0]
        BICS     R0,R0,R5
        STR      R0,[R4, #+0]
??DMA_ITConfig_5:
        POP      {R4-R6,PC}       ;; return
        DATA
??DMA_ITConfig_3:
        DC32     0x10b

        RSEG CODE:CODE:NOROOT(2)
        THUMB
DMA_GetCurrDataCounter:
        LDR      R0,[R0, #+4]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
DMA_GetFlagStatus:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+1
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+2
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+4
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+8
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+16
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+32
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+64
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+128
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+256
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+512
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+1024
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+2048
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+4096
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+8192
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+16384
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+32768
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+65536
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+131072
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+262144
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+524288
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+1048576
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+2097152
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+4194304
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+8388608
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+16777216
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+33554432
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+67108864
        BEQ.N    ??DMA_GetFlagStatus_0
        CMP      R4,#+134217728
        BEQ.N    ??DMA_GetFlagStatus_0
        MOVS     R1,#+338
        LDR.N    R0,??DataTable28  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??DMA_GetFlagStatus_0:
        LDR.N    R0,??DataTable33  ;; DMA
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+0]
        ANDS     R4,R4,R0
        CMP      R4,#+0
        BEQ.N    ??DMA_GetFlagStatus_1
        MOVS     R0,#+1
        B.N      ??DMA_GetFlagStatus_2
??DMA_GetFlagStatus_1:
        MOVS     R0,#+0
??DMA_GetFlagStatus_2:
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
DMA_ClearFlag:
        PUSH     {R4,LR}
        MOVS     R4,R0
        LSRS     R0,R4,#+28
        LSLS     R0,R0,#+28
        CMP      R0,#+0
        BNE.N    ??DMA_ClearFlag_0
        CMP      R4,#+0
        BNE.N    ??DMA_ClearFlag_1
??DMA_ClearFlag_0:
        MOVS     R1,#+394
        LDR.N    R0,??DataTable28  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??DMA_ClearFlag_1:
        LDR.N    R0,??DataTable33  ;; DMA
        LDR      R0,[R0, #+0]
        STR      R4,[R0, #+4]
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable28:
        DC32     `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`

        RSEG CODE:CODE:NOROOT(2)
        THUMB
DMA_GetITStatus:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+1
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+2
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+4
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+8
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+16
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+32
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+64
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+128
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+256
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+512
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+1024
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+2048
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+4096
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+8192
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+16384
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+32768
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+65536
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+131072
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+262144
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+524288
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+1048576
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+2097152
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+4194304
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+8388608
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+16777216
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+33554432
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+67108864
        BEQ.N    ??DMA_GetITStatus_0
        CMP      R4,#+134217728
        BEQ.N    ??DMA_GetITStatus_0
        MOVS     R1,#+442
        LDR.N    R0,??DataTable32  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??DMA_GetITStatus_0:
        LDR.N    R0,??DataTable33  ;; DMA
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+0]
        ANDS     R4,R4,R0
        CMP      R4,#+0
        BEQ.N    ??DMA_GetITStatus_1
        MOVS     R0,#+1
        B.N      ??DMA_GetITStatus_2
??DMA_GetITStatus_1:
        MOVS     R0,#+0
??DMA_GetITStatus_2:
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
DMA_ClearITPendingBit:
        PUSH     {R4,LR}
        MOVS     R4,R0
        LSRS     R0,R4,#+28
        LSLS     R0,R0,#+28
        CMP      R0,#+0
        BNE.N    ??DMA_ClearITPendingBit_0
        CMP      R4,#+0
        BNE.N    ??DMA_ClearITPendingBit_1
??DMA_ClearITPendingBit_0:
        MOVS     R1,#+498
        LDR.N    R0,??DataTable32  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??DMA_ClearITPendingBit_1:
        LDR.N    R0,??DataTable33  ;; DMA
        LDR      R0,[R0, #+0]
        STR      R4,[R0, #+4]
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable32:
        DC32     `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable33:
        DC32     DMA

        RSEG CODE:CODE:NOROOT(2)
        THUMB
??assert_failed??rT:
        LDR.N    R3,??Subroutine0_0  ;; assert_failed
        BX       R3
        DATA
??Subroutine0_0:
        DC32     assert_failed

        RSEG DATA_C:CONST:SORT:NOROOT(2)
`?<Constant "C:\\\\David JIANG\\\\ST MCU...">`:
        DATA
        DC8 43H, 3AH, 5CH, 44H, 61H, 76H, 69H, 64H
        DC8 20H, 4AH, 49H, 41H, 4EH, 47H, 5CH, 53H
        DC8 54H, 20H, 4DH, 43H, 55H, 5CH, 44H, 6FH
        DC8 63H, 73H, 5CH, 53H, 54H, 4DH, 33H, 32H
        DC8 5CH, 41H, 4EH, 5FH, 4AH, 49H, 41H, 4EH
        DC8 47H, 5CH, 54H, 49H, 4DH, 20H, 45H, 6EH
        DC8 63H, 6FH, 64H, 65H, 72H, 5CH, 65H, 78H
        DC8 61H, 6DH, 70H, 6CH, 65H, 5CH, 46H, 57H
        DC8 4CH, 69H, 62H, 5CH, 73H, 72H, 63H, 5CH
        DC8 73H, 74H, 6DH, 33H, 32H, 66H, 31H, 30H
        DC8 78H, 5FH, 64H, 6DH, 61H, 2EH, 63H, 0

        END
// 
// 1 124 bytes in segment CODE
//    88 bytes in segment DATA_C
// 
// 1 116 bytes of CODE  memory (+ 8 bytes shared)
//    88 bytes of CONST memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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