📄 startup.s
字号:
.extern main .global _start .extern __end_data b _start // this line is mainly for debugging with bootstrap mode // so that the first line of b-record is executed correctly .equ ImageSize, __end_data-0x0AFE0100 .long ImageSize_start: ldr r1,=StackInit ldr sp,[r1] and sp, sp, #0xFFFFFFFC // to ensure sp not be odd b main .equ StackInitValue, __end_data+0x1000 // 4KStackInit: .long StackInitValue .global JumpToKernel// r0 = jump address// r1 = pointer to command lineJumpToKernel:// jump to the copy code (get the arguments right) mov pc, r0 .global JumpToKernel0x// r0 = jump address// r1-r4 = arguments to use (these get shifted)JumpToKernel0x:// jump to the copy code (get the arguments right) mov r8, r0 mov r0, r1 mov r1, r2 mov r2, r3 mov r3, r4 mov pc, r8.section ".data.boot".section ".bss.boot"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -