📄 s3c44b0x.s
字号:
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleSWI
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerDabort ;HANDLER HandleDabort
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleDabort
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerPabort ;HANDLER HandlePabort
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandlePabort
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerADC
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleADC
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerRTC
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleRTC
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerUTXD1 ; HANDLER HandleUTXD1
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleUTXD1
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerUTXD0 ;HANDLER HandleUTXD0
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleUTXD0
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerSIO ;HANDLER HandleSIO
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleSIO
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerIIC ;HANDLER HandleIIC
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleIIC
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerURXD1 ;HANDLER HandleURXD1
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleURXD1
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerURXD0 ;HANDLER HandleURXD0
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleURXD0
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerTIMER5 ;HANDLER HandleTIMER5
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleTIMER5
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerTIMER4 ;HANDLER HandleTIMER4
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleTIMER4
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerTIMER3 ;HANDLER HandleTIMER3
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleTIMER3
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerTIMER2 ;HANDLER HandleTIMER2
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleTIMER2
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerTIMER1 ;HANDLER HandleTIMER1
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleTIMER1
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerTIMER0 ;HANDLER HandleTIMER0
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleTIMER0
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerUERR01 ;HANDLER HandleUERR01
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleUERR01
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerWDT ;HANDLER HandleWDT
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleWDT
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerBDMA1 ;HANDLER HandleBDMA1
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleBDMA1
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerBDMA0 ;HANDLER HandleBDMA0
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleBDMA0
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerZDMA1 ;HANDLER HandleZDMA1
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleZDMA1
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerZDMA0 ;HANDLER HandleZDMA0
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleZDMA0
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerTICK ;HANDLER HandleTICK
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleTICK
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerEINT4567 ;HANDLER HandleEINT4567
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleEINT4567
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerEINT3 ;HANDLER HandleEINT3
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleEINT3
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerEINT2 ;HANDLER HandleEINT2
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleEINT2
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerEINT1 ;HANDLER HandleEINT1
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleEINT1
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
HandlerEINT0 ;HANDLER HandleEINT0
sub sp, sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
ldr r8, =HandleEINT0
ldr r9, [r8 ]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
IsrIRQ ;/* using I_ISPR register. */
sub sp, sp, #4 ;/* reserved for PC */
stmfd sp!, {r8-r9}
;# if I_ISPC isn't used properly, I_ISPR can be 0 in this routine.
ldr r9, =I_ISPR
ldr r9, [r9]
cmp r9, #0x0 ;/* If the IDLE mode work-around is used, r9 may be 0 sometimes. */
beq l2
mov r8, #0x0
l0
movs r9, r9, lsr #1
bcs l1
add r8, r8, #4
b l0
l1
ldr r9, =HandleADC
add r9, r9, r8
ldr r9, [r9]
str r9, [sp,#8]
ldmfd sp!, {r8-r9,pc}
l2
ldmfd sp!, {r8-r9}
add sp, sp, #4
;# subs pc, lr, #4
; mov pc, lr
;****************************************************
;* The function for entering power down mode *
;****************************************************
;void EnterPWDN(int CLKCON);
EnterPWDN
mov r2,r0 ;r0=CLKCON
ldr r0,=REFRESH
ldr r3,[r0]
mov r1, r3
orr r1, r1, #0x400000 ;self-refresh enable
str r1, [r0]
nop ;Wait until self-refresh is issued. May not be needed.
nop ;If the other bus master holds the bus, ...
nop ; mov r0, r0
nop
nop
nop
nop
;enter POWERDN mode
ldr r0,=CLKCON
str r2,[r0]
;wait until enter SL_IDLE,STOP mode and until wake-up
mov r0,#0xff
0 subs r0,r0,#1
bne %B0
;exit from DRAM/SDRAM self refresh mode.
ldr r0,=REFRESH
str r3,[r0]
mov pc,lr
; CPU Wrapper and Bus Priorities Configuration
IF SYS_SETUP <> 0
SYS_CFG
DCD CPUW_BASE
DCD BUSP_BASE
DCD SYSCFG_Val
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -