📄 stm32f10x_rtc.s79
字号:
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 + -