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

📄 stm32f10x_rtc.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 2 页
字号:
        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_SetAlarm:
        PUSH     {R4,LR}
        MOVS     R4,R0
        BL       RTC_EnterConfigMode
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        MOVS     R1,R4
        LSRS     R1,R1,#+16
        STRH     R1,[R0, #+32]
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        STRH     R4,[R0, #+36]
        BL       RTC_ExitConfigMode
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_GetDivider:
        MOVS     R0,#+0
        LDR.N    R1,??DataTable39  ;; RTC
        LDR      R1,[R1, #+0]
        LDRH     R1,[R1, #+16]
        LSLS     R1,R1,#+28       ;; ZeroExtS R1,R1,#+28,#+28
        LSRS     R1,R1,#+28
        LSLS     R1,R1,#+16
        MOVS     R0,R1
        MOVS     R1,R0
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDRH     R0,[R0, #+20]
        ORRS     R0,R0,R1
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_WaitForLastTask:
??RTC_WaitForLastTask_0:
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDRH     R0,[R0, #+4]
        LSLS     R0,R0,#+26
        BPL.N    ??RTC_WaitForLastTask_0
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_WaitForSynchro:
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable39  ;; RTC
        LDR      R1,[R1, #+0]
        LDRH     R1,[R1, #+4]
        LDR.N    R2,??RTC_WaitForSynchro_0  ;; 0xfff7
        ANDS     R2,R2,R1
        STRH     R2,[R0, #+4]
??RTC_WaitForSynchro_1:
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDRH     R0,[R0, #+4]
        LSLS     R0,R0,#+28
        BPL.N    ??RTC_WaitForSynchro_1
        BX       LR               ;; return
        DATA
??RTC_WaitForSynchro_0:
        DC32     0xfff7

        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_GetFlagStatus:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+32
        BEQ.N    ??RTC_GetFlagStatus_0
        CMP      R4,#+8
        BEQ.N    ??RTC_GetFlagStatus_0
        CMP      R4,#+4
        BEQ.N    ??RTC_GetFlagStatus_0
        CMP      R4,#+2
        BEQ.N    ??RTC_GetFlagStatus_0
        CMP      R4,#+1
        BEQ.N    ??RTC_GetFlagStatus_0
        LDR.N    R1,??RTC_GetFlagStatus_1  ;; 0x101
        LDR.N    R0,??DataTable37  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??RTC_GetFlagStatus_0:
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDRH     R0,[R0, #+4]
        TST      R0,R4
        BEQ.N    ??RTC_GetFlagStatus_2
        MOVS     R0,#+1
        B.N      ??RTC_GetFlagStatus_3
??RTC_GetFlagStatus_2:
        MOVS     R0,#+0
??RTC_GetFlagStatus_3:
        POP      {R4,PC}          ;; return
        DATA
??RTC_GetFlagStatus_1:
        DC32     0x101

        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_ClearFlag:
        PUSH     {R4,LR}
        MOVS     R4,R0
        LDR.N    R0,??RTC_ClearFlag_0  ;; 0xfff0
        TST      R4,R0
        BNE.N    ??RTC_ClearFlag_1
        CMP      R4,#+0
        BNE.N    ??RTC_ClearFlag_2
??RTC_ClearFlag_1:
        MOVS     R1,#+286
        LDR.N    R0,??DataTable37  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??RTC_ClearFlag_2:
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable39  ;; RTC
        LDR      R1,[R1, #+0]
        LDRH     R1,[R1, #+4]
        BICS     R1,R1,R4
        STRH     R1,[R0, #+4]
        POP      {R4,PC}          ;; return
        DATA
??RTC_ClearFlag_0:
        DC32     0xfff0

        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_GetITStatus:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+4
        BEQ.N    ??RTC_GetITStatus_0
        CMP      R4,#+2
        BEQ.N    ??RTC_GetITStatus_0
        CMP      R4,#+1
        BEQ.N    ??RTC_GetITStatus_0
        MOVS     R1,#+308
        LDR.N    R0,??DataTable37  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??RTC_GetITStatus_0:
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDRH     R0,[R0, #+4]
        TST      R0,R4
        BEQ.N    ??RTC_GetITStatus_1
        MOVS     R0,#+1
        B.N      ??RTC_GetITStatus_2
??RTC_GetITStatus_1:
        MOVS     R0,#+0
??RTC_GetITStatus_2:
        LDR.N    R1,??DataTable39  ;; RTC
        LDR      R1,[R1, #+0]
        LDRH     R1,[R1, #+0]
        TST      R1,R4
        BEQ.N    ??RTC_GetITStatus_3
        LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+24
        CMP      R0,#+0
        BEQ.N    ??RTC_GetITStatus_3
        MOVS     R0,#+1
        B.N      ??RTC_GetITStatus_4
??RTC_GetITStatus_3:
        MOVS     R0,#+0
??RTC_GetITStatus_4:
        LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+24
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
RTC_ClearITPendingBit:
        PUSH     {R4,LR}
        MOVS     R4,R0
        LDR.N    R0,??DataTable36  ;; 0xfff8
        TST      R4,R0
        BNE.N    ??RTC_ClearITPendingBit_0
        CMP      R4,#+0
        BNE.N    ??RTC_ClearITPendingBit_1
??RTC_ClearITPendingBit_0:
        LDR.N    R1,??RTC_ClearITPendingBit_2  ;; 0x151
        LDR.N    R0,??DataTable37  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??RTC_ClearITPendingBit_1:
        LDR.N    R0,??DataTable39  ;; RTC
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable39  ;; RTC
        LDR      R1,[R1, #+0]
        LDRH     R1,[R1, #+4]
        BICS     R1,R1,R4
        STRH     R1,[R0, #+4]
        POP      {R4,PC}          ;; return
        Nop      
        DATA
??RTC_ClearITPendingBit_2:
        DC32     0x151

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable36:
        DC32     0xfff8

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

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable39:
        DC32     RTC

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

        END
// 
// 584 bytes in segment CODE
//  88 bytes in segment DATA_C
// 
// 576 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 + -