📄 crt0.s
字号:
@ r0 -> start of flash
@ r1 -> where to load data
@ r2 -> start of program
.text
.align
.global main,_main
main:
_main:
# light up some LEDs
ldr r3, =0xff00c000
ldr r4, =0x000000f0
str r4, [r3]
str r4, [r3, #0x34]
str r4, [r3, #0x10]
ldr r4, =0x10
str r4, [r3, #0x30]
bl delay
ldr r4, =0x20
str r4, [r3, #0x30]
bl delay
ldr r4, =0x40
str r4, [r3, #0x30]
bl delay
ldr r4, =0x80
str r4, [r3, #0x30]
bl delay
ldr r4, =0x10
str r4, [r3, #0x34]
bl delay
ldr r4, =0x20
str r4, [r3, #0x34]
bl delay
ldr r4, =0x40
str r4, [r3, #0x34]
bl delay
ldr r4, =0x80
str r4, [r3, #0x34]
# copy .data section
ldr r3, =_etext
ldr r4, =_sdata
ldr r5, =_edata
subs r5, r5, r4
bl copydata
# clear .bss section
ldr r4, =_sbss
ldr r5, =_ebss
subs r5, r5, r4
bl clearbss
# and jump to the kernel
b boot
copydata:
subs r5, r5, #4
ldr r6, [r3], #4
str r6, [r4], #4
bne copydata
mov pc, lr
clearbss:
subs r5, r5, #4
str r0, [r3], #4
bne clearbss
mov pc, lr
delay:
ldr r10, =0x8000
redelay:
subs r10, r10, #1
bne redelay
mov pc, lr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -