Lesson03-设计启动用的汇编程序boot.S
上一节的链接脚本中定义了text.boot段,这一节中就用汇编语言实现。
#include "mm.h"
;定义段名
.section = "text.boot"
;定义全局变量
.global _start
_start:
;获取处理器的id
mrs x0, mpidr_el1
;判断id号是否为0
and x0, #0xFF
;若为0,进入下一步
cbz x0, master
;若不为0,进入循环语句
b proc_hang
;循环语句
proc_hang:
b proc_hang
;下一步
master:
;对bss段数据初始化为0
adr x0, bss_begin
adr x1, bss_end
sub x1, x1, x0
bl memzero
;初始化栈指针
mov sp, #LOW_MEMORY
bl kernel_main
b proc_hang
合集:
从零开始写树莓派操作系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具