Assembly 计算机开机时:它如何知道需要从哪个指令开始执行?
计算机开机时:它如何知道需要从哪个指令开始执行Assembly 计算机开机时:它如何知道需要从哪个指令开始执行?,assembly,Assembly,计算机开机时:它如何知道需要从哪个指令开始执行 首先是需要执行的BIOS程序。那么,那里到底发生了什么?我想知道加载操作系统之前的进程。我想它的细节比您可能想要的要多。正如您所料,它非常依赖于处理器 一般来说,处理器硬件以某种默认配置出现,然后从特定内存地址开始执行。之后会发生什么都取决于软件 通常执行的第一条指令是跳转到某种引导加载程序软件,然后准备硬件并加载下一个软件阶段。重复这个设置/加载过程,你想重复多少次就重复多少次,然后再重复一遍——你就在操作系统中了 一些处理器比其他处理器更具可配
首先是需要执行的BIOS程序。那么,那里到底发生了什么?我想知道加载操作系统之前的进程。我想它的细节比您可能想要的要多。正如您所料,它非常依赖于处理器 一般来说,处理器硬件以某种默认配置出现,然后从特定内存地址开始执行。之后会发生什么都取决于软件 通常执行的第一条指令是跳转到某种引导加载程序软件,然后准备硬件并加载下一个软件阶段。重复这个设置/加载过程,你想重复多少次就重复多少次,然后再重复一遍——你就在操作系统中了 一些处理器比其他处理器更具可配置性,并且具有硬件绑定选项(或硅保险丝),可以控制一些引导参数。还有一些内置了ROM代码,在通电或芯片复位时执行。有些芯片内置内存,有些芯片可以自动设置外部内存,还有一些芯片甚至需要加载软件来执行最基本的引导任务
如果您能进一步澄清您的问题,我们可能会详细介绍您感兴趣的系统的具体过程。大多数CPU都有硬编码,它确定硬件重置后要执行的第一条指令的地址。将此视为所有不可屏蔽中断之母。最流行的两种选择是
- 从固定地址开始(通常为0)
- 从存储在固定位置的地址(重置向量)开始