这个系列是为了学习操作系统而带着学习M3内核的基本知识。学习的资料是Joseph Yiu编著的宋岩翻译的《M3 权威指南》。
开始。
应该说汇编是在CPU对存储器和寄存器内部的数据的直接操作。只会C是远远不够的。CPU 能做的事情非常有限,我将其能做的事情称为指令。虽然C的层次在汇编之上,但是仔细分析还是可以看出汇编的根基在起作用。
这里贴出M3内核的寄存器组。
可以看出前13个是通用的,后三个是重点,现在开始分析。PC寄存器,程序计数器,指向目前所在的程序所在地址,启动时应该时指向0地址的;LR寄存器,连接寄存器,存储从当前子程序返回的最近一级上级程序的地址,存在子程序嵌套的情况下,只存储最近的程序地址;MSP和PSP,主堆栈指针和用户堆栈指针,同时只能访问一个,目前我理解中主堆栈指针应该是不变的,而用户堆栈指针根据当时执行的任务的堆栈位置决定。
《权威》还提到五个特殊功能寄存器。今天先不管它。