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

📄 stm32f10x_usart.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 3 页
字号:
??USART_SmartCardNACKCmd_1:
        LDRH     R0,[R4, #+20]
        LDR.N    R1,??USART_SmartCardNACKCmd_3  ;; 0xffef
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+20]
??USART_SmartCardNACKCmd_2:
        POP      {R4,R5,PC}       ;; return
        DATA
??USART_SmartCardNACKCmd_3:
        DC32     0xffef

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_HalfDuplexCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_HalfDuplexCmd_0
        CMP      R5,#+1
        BEQ.N    ??USART_HalfDuplexCmd_0
        MOVS     R1,#+628
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_HalfDuplexCmd_0:
        CMP      R5,#+0
        BEQ.N    ??USART_HalfDuplexCmd_1
        LDRH     R0,[R4, #+20]
        ORRS     R0,R0,#0x8
        STRH     R0,[R4, #+20]
        B.N      ??USART_HalfDuplexCmd_2
??USART_HalfDuplexCmd_1:
        LDRH     R0,[R4, #+20]
        LDR.N    R1,??USART_HalfDuplexCmd_3  ;; 0xfff7
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+20]
??USART_HalfDuplexCmd_2:
        POP      {R4,R5,PC}       ;; return
        DATA
??USART_HalfDuplexCmd_3:
        DC32     0xfff7

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_IrDAConfig:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+4
        BEQ.N    ??USART_IrDAConfig_0
        CMP      R5,#+0
        BEQ.N    ??USART_IrDAConfig_0
        LDR.N    R1,??USART_IrDAConfig_1  ;; 0x291
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_IrDAConfig_0:
        LDRH     R0,[R4, #+20]
        LDR.N    R1,??USART_IrDAConfig_1+0x4  ;; 0xfffb
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+20]
        LDRH     R0,[R4, #+20]
        ORRS     R5,R5,R0
        STRH     R5,[R4, #+20]
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_IrDAConfig_1:
        DC32     0x291
        DC32     0xfffb

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_IrDACmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_IrDACmd_0
        CMP      R5,#+1
        BEQ.N    ??USART_IrDACmd_0
        MOVS     R1,#+676
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_IrDACmd_0:
        CMP      R5,#+0
        BEQ.N    ??USART_IrDACmd_1
        LDRH     R0,[R4, #+20]
        ORRS     R0,R0,#0x2
        STRH     R0,[R4, #+20]
        B.N      ??USART_IrDACmd_2
??USART_IrDACmd_1:
        LDRH     R0,[R4, #+20]
        LDR.N    R1,??DataTable37  ;; 0xfffd
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+20]
??USART_IrDACmd_2:
        POP      {R4,R5,PC}       ;; return

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable37:
        DC32     0xfffd

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_GetFlagStatus:
        PUSH     {R4,R5,LR}
        MOVS     R5,R0
        MOVS     R4,R1
        MOVS     R0,#+0
        CMP      R4,#+1
        BEQ.N    ??USART_GetFlagStatus_0
        CMP      R4,#+128
        BEQ.N    ??USART_GetFlagStatus_0
        CMP      R4,#+64
        BEQ.N    ??USART_GetFlagStatus_0
        CMP      R4,#+32
        BEQ.N    ??USART_GetFlagStatus_0
        CMP      R4,#+16
        BEQ.N    ??USART_GetFlagStatus_0
        MOVS     R0,#+256
        CMP      R4,R0
        BEQ.N    ??USART_GetFlagStatus_0
        MOVS     R0,#+512
        CMP      R4,R0
        BEQ.N    ??USART_GetFlagStatus_0
        CMP      R4,#+8
        BEQ.N    ??USART_GetFlagStatus_0
        CMP      R4,#+4
        BEQ.N    ??USART_GetFlagStatus_0
        CMP      R4,#+2
        BEQ.N    ??USART_GetFlagStatus_0
        LDR.N    R1,??USART_GetFlagStatus_1  ;; 0x2cb
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_GetFlagStatus_0:
        LDRH     R0,[R5, #+0]
        TST      R0,R4
        BEQ.N    ??USART_GetFlagStatus_2
        MOVS     R0,#+1
        B.N      ??USART_GetFlagStatus_3
??USART_GetFlagStatus_2:
        MOVS     R0,#+0
??USART_GetFlagStatus_3:
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_GetFlagStatus_1:
        DC32     0x2cb

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_ClearFlag:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        TST      R5,#0xFC00
        BNE.N    ??USART_ClearFlag_0
        CMP      R5,#+0
        BNE.N    ??USART_ClearFlag_1
??USART_ClearFlag_0:
        LDR.N    R1,??USART_ClearFlag_2  ;; 0x2ef
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_ClearFlag_1:
        LDRH     R0,[R4, #+0]
        BICS     R0,R0,R5
        STRH     R0,[R4, #+0]
        POP      {R4,R5,PC}       ;; return
        DATA
??USART_ClearFlag_2:
        DC32     0x2ef

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_GetITStatus:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R2,#+0
        MOVS     R1,#+0
        MOVS     R3,#+0
        MOVS     R0,#+0
        CMP      R5,#+40
        BEQ.N    ??USART_GetITStatus_0
        LDR.N    R0,??DataTable47  ;; 0x727
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        LDR.N    R0,??DataTable48  ;; 0x626
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        LDR.N    R0,??DataTable49  ;; 0x525
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        LDR.N    R0,??DataTable50  ;; 0x424
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        LDR.N    R0,??DataTable51  ;; 0x846
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        LDR.N    R0,??DataTable52  ;; 0x96a
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        MOVS     R0,#+864
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        MOVS     R0,#+608
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        MOVS     R0,#+352
        CMP      R5,R0
        BEQ.N    ??USART_GetITStatus_0
        LDR.N    R1,??USART_GetITStatus_1  ;; 0x30e
        LDR.N    R0,??DataTable53  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_GetITStatus_0:
        MOVS     R0,R5
        MOVS     R3,R0
        LSLS     R3,R3,#+24       ;; ZeroExtS R3,R3,#+24,#+24
        LSRS     R3,R3,#+24
        LSRS     R3,R3,#+5
        LSLS     R3,R3,#+24       ;; ZeroExtS R3,R3,#+24,#+24
        LSRS     R3,R3,#+24
        LSLS     R5,R5,#+16       ;; ZeroExtS R5,R5,#+16,#+16
        LSRS     R5,R5,#+16
        LSLS     R1,R5,#+27       ;; ZeroExtS R1,R5,#+27,#+27
        LSRS     R1,R1,#+27
        MOVS     R2,#+1
        MOVS     R0,R1
        MOVS     R1,R2
        LSLS     R1,R1,R0
        CMP      R3,#+1
        BNE.N    ??USART_GetITStatus_2
        MOVS     R0,R1
        LDRH     R1,[R4, #+12]
        ANDS     R1,R1,R0
        B.N      ??USART_GetITStatus_3
??USART_GetITStatus_2:
        CMP      R3,#+2
        BNE.N    ??USART_GetITStatus_4
        MOVS     R0,R1
        LDRH     R1,[R4, #+16]
        ANDS     R1,R1,R0
        B.N      ??USART_GetITStatus_3
??USART_GetITStatus_4:
        MOVS     R0,R1
        LDRH     R1,[R4, #+20]
        ANDS     R1,R1,R0
??USART_GetITStatus_3:
        MOVS     R2,R5
        LSLS     R2,R2,#+16       ;; ZeroExtS R2,R2,#+16,#+16
        LSRS     R2,R2,#+16
        LSRS     R2,R2,#+8
        LSLS     R2,R2,#+16       ;; ZeroExtS R2,R2,#+16,#+16
        LSRS     R2,R2,#+16
        MOVS     R3,#+1
        MOVS     R0,R2
        MOVS     R2,R3
        LSLS     R2,R2,R0
        MOVS     R0,R2
        LDRH     R2,[R4, #+0]
        ANDS     R2,R2,R0
        CMP      R1,#+0
        BEQ.N    ??USART_GetITStatus_5
        CMP      R2,#+0
        BEQ.N    ??USART_GetITStatus_5
        MOVS     R0,#+1
        B.N      ??USART_GetITStatus_6
??USART_GetITStatus_5:
        MOVS     R0,#+0
??USART_GetITStatus_6:
        POP      {R4,R5,PC}       ;; return
        DATA
??USART_GetITStatus_1:
        DC32     0x30e

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_ClearITPendingBit:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        MOVS     R1,#+0
        CMP      R5,#+40
        BEQ.N    ??USART_ClearITPendingBit_0
        LDR.N    R0,??DataTable47  ;; 0x727
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        LDR.N    R0,??DataTable48  ;; 0x626
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        LDR.N    R0,??DataTable49  ;; 0x525
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        LDR.N    R0,??DataTable50  ;; 0x424
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        LDR.N    R0,??DataTable51  ;; 0x846
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        LDR.N    R0,??DataTable52  ;; 0x96a
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        MOVS     R0,#+864
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        MOVS     R0,#+608
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        MOVS     R0,#+352
        CMP      R5,R0
        BEQ.N    ??USART_ClearITPendingBit_0
        LDR.N    R1,??USART_ClearITPendingBit_1  ;; 0x34e
        LDR.N    R0,??DataTable53  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_ClearITPendingBit_0:
        MOVS     R0,R5
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        LSRS     R0,R0,#+8
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        MOVS     R1,#+1
        LSLS     R1,R1,R0
        LDRH     R0,[R4, #+0]
        BICS     R0,R0,R1
        STRH     R0,[R4, #+0]
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_ClearITPendingBit_1:
        DC32     0x34e

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable47:
        DC32     0x727

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable48:
        DC32     0x626

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable49:
        DC32     0x525

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable50:
        DC32     0x424

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable51:
        DC32     0x846

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable52:
        DC32     0x96a

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

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

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

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

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

        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, 75H, 73H, 61H, 72H, 74H, 2EH
        DC8 63H, 0
        DC8 0, 0

        END
// 
// 2 000 bytes in segment CODE
//    92 bytes in segment DATA_C
// 
// 1 968 bytes of CODE  memory (+ 32 bytes shared)
//    92 bytes of CONST memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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