转自<http://www.docin.com/p-550589514.html>
对于 Intel x86 PC , 开启电源后, 机器就会开始执行 ROM BIOS 的一系列系统测
试动作,包括检查RAM,keyboard,显示器,软硬磁盘等等。执行完bios 的系统测试之后,
紧接着控制权会转移给ROM 中的启动程序(ROM bootstrap routine);这个程序会将磁盘上的
第 0 轨第 0 扇区 (叫boot sector 或 MBR <Master Boot Record >,系统的引导程序就放在
此处)读入内存中,并放到自 0x07C0:0x0000 开始的 512 个字节处;然后处理机将跳到此处
开始执行这一引导程序;也即装入MBR 中的引导程序后, CS:IP = 0x07C0:0x0000 。加电后
处理机运行在与 8086相兼容的实模式下。
如果要用 bootsect-loader进行系统引导,则必须把 bootsect.S 编译连接后对应的
二进制代码置于 MBR; 当ROM BIOS 把 bootsect.S 编译连接后对应的二进制代码装入内存
后,机器的控制权就完全转交给 bootsect; 也就是说,bootsect 将是第一个被读入内存中
并执行的程序。 Bootsect 接管机器控制权后,将依次进行以下一些动作:
1.首先,bootsect 将它"自己"(自位置 0x07C0:0x0000 开始的 512 个字节)从被 ROM
BIOS 载入的地址 0x07C0:0x0000处搬到 0x9000:0000 处; 这一任务由 bootsect.S 的前十条
指令完成;第十一条指令“jmpi go,INITSEG”则把机器跳转到“新”的 bootsect 的“jmpi
go,INITSEG”后的那条指令“go: mov di,#0x4000-12”;之后,继续执行bootsect 的剩
下的代码;在bootsect.S 中定义了几个常量:
BOOTSEG = 0x07C0 bios 载入 MBR 的约定位置的段址;
INITSEG = 0x9000 bootsect.S 的前十条指令将自己搬到此处(段址)
SETUPSEG =0x9020 装入 Setup.S 的段址
SYSSEG =0x1000 系统区段址
对于这些常量可参见/include/asm/boot.h 中的定义;这些常量在下面的分析中将会经常用
到;
2.以0x9000:0x4000-12为栈底,建立自己的栈区;其中0x9000:0x4000-12到
0x9000:0x4000 的一十二个字节预留作磁盘参数表区;
3.在0x9000:0x4000-12到0x9000:0x4000 的一十二个预留字节中建立新的磁盘
参数表,之所以叫“新”的磁盘参数表,是相对于bios 建立的磁盘参数表而言的。由于
设计者考虑到有些老的bios 不能准确地识别磁盘“每个磁道的扇区数”,从而导致bios
建立的磁盘参数表妨碍磁盘的最高性能发挥,所以,设计者就在bios 建立的磁盘参数表
的基础上通过枚举法测试,试图建立准确的“新”的磁盘参数表(这是在后继步骤中完成
的);并把参数表的位置由原来的0x0000:0x0078搬到 0x9000:0x4000-12;且修改老的磁
盘参数表区使之指向新的磁盘参数表;
4.接下来就到了load_setup子过程;它调用0x13 中断的第2 号服务;把第0
道第 2扇区开始的连续的 setup_sects (为常量4)个扇区读到紧邻bootsect 的内存区;,
即0x9000:0x0200 开始的2048个字节;而这四个扇区的内容即是
/arch/i386/boot/setup.S 编译连接后对应的二进制代码; 也就是说,如果
要用bootsect-loader进行系统引导,不仅必须把bootsect.S 编译连接后对应的二进制
代码置于MBR,而且还得把 setup.S编译连接后对应的二进制代码置于紧跟MBR 后的连续
的四个扇区中;当然,由于setup.S对应的可执行码是由bootsect 装载的,所以,在我
们的这个项目中可以通过修改bootsect 来根据需要随意地放置 setup.S对应的可执行
码;
5.load_setup子过程的唯一出口是probe_loop 子过程;该过程通过枚举法测试
磁盘“每个磁道的扇区数”;
6.接下来几个子过程比较清晰易懂:打印我们熟悉的“Loading”;读入系统到
0x1000:0x0000; 关掉软驱马达;根据的5步测出的“每个磁道的扇区数”确定磁盘类型;
最后跳转到 0x9000:0x0200,即setup.S对应的可执行码的入口,将机器控制权转交
setup.S;整个bootsect 代码运行完毕;
相关推荐
数学建模拟合与插值.ppt
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
mysql相关资源.txt
此项目为一个HTML+CSS+JS的国漫分享网站,用户可以在此网站中观看自己喜欢的国漫。此网站共有4个页面,分别为首页,最新动态,热门推荐,分类。页面动漫图片齐全,内容可更改。可用于期末课程设计或个人课程设计。
Python爬虫爬取漫画
模拟退火算法应用。C++语言编程用模拟退火算法解决旅行商问题。该资源包含模拟退火算法C++语言的源代码。模拟退火算法是一种基于概率的全局优化算法,最初来自于物理学中的退火过程。它通过模拟金属冷却时原子排列逐渐趋于最低能量状态的过程来寻找问题的最优解。模拟退火算法常用于解决非线性、组合优化问题,特别适合于大规模、复杂的搜索空间。
传感器试题及答案.doc
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
本文档主要讲述的是MongoDB数据表基本操作;希望对大家会有帮助;感兴趣的朋友可以过来看看
本数据集提供了2011至2021年间全国各省废气和废水中主要污染物的排放量统计数据。数据涵盖了二氧化硫、氮氧化物、烟尘和颗粒物等关键污染物的排放量,为研究中国环境状况和污染物排放趋势提供了宝贵信息。数据显示,2011-2021年间,各省的二氧化硫排放量从数十万吨到数百万吨不等,其中广东、广西、海南等省份的排放量较高。氮氧化物排放量同样显示出地域差异,北京、天津等北方城市的排放量相对较低,而一些工业大省如河北、山西的排放量较高。颗粒物排放量统计显示,工业源和生活源是主要的排放源,其中工业源排放量占比较大。这些数据不仅对环保政策制定者具有参考价值,也为学术研究提供了实证基础。
脉冲宽度测量单片机课程设计.doc
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
全国矢量地图数据【国道+高速公路】ArcGIS Shape格式数据集是一种专门用于地理信息系统(GIS)的矢量数据集,包含中国范围内国道和高速公路的详细路网信息。该数据集广泛应用于交通规划、导航、物流分析和灾害应急等领域,具有高精度和易用性。 数据集特点: 1. 数据内容: 国道:包括以“G”开头的国家级公路,如G1京哈高速、G107国道等。 高速公路:包括全国范围内的所有高速公路网,覆盖主要经济区、城市和边境口岸。 属性数据: 道路编号(国道或高速公路编号)。 道路名称。 道路等级(如一级、二级、快速路等)。 起点和终点坐标。 道路长度(单位:公里)。 相关属性(如路段建成年份、设计速度、车道数等)。 2. 数据格式: **Shapefile(.shp)**格式,支持主流GIS软件(如ArcGIS、QGIS)及数据处理工具(如Python、Matlab)。 3. 投影坐标系: 一般采用WGS84地理坐标系,或可根据需求转换为**GCJ-02(火星坐标系)**以配合国内导航应用。
4
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 感兴趣的朋友可以过来看看
商道融绿ESG评级季度数据及分项ESG评级2015-2022年的数据集提供了一个全面评估上市公司在环境、社会和公司治理(ESG)方面表现的视角。该数据集覆盖了2015至2022年间的数据,包含了沪深A股上市公司以及港股通的香港上市公司。数据集包含了多个维度的指标,如公司代码、公司名称、评级日期、ESG综合评级、历史评级、财务状况和所属行业等,共计13个指标。这些指标不仅包括了ESG评级,还涵盖了公司的财务分析,例如总市值、流通市值、市盈率PE(TTM)、每股收益EPS(TTM)、每股营业收入(TTM)以及每股经营活动产生的现金流量净额(TTM)等。此外,数据集还提供了证监会行业和Wind行业的分类信息,为研究者提供了一个多角度分析上市公司ESG表现的工具。该数据集对于投资者、资产管理公司以及企业自身在可持续发展报告撰写和风险管理中具有重要参考价值。
WPF树菜单拖拽功能,下级目录拖到上级目录,上级目录拖到下级目录.zip