⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booting-power_on_2.htm

📁 编写自己的操作系统
💻 HTM
📖 第 1 页 / 共 4 页
字号:
style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4"><FONT 
face="Times New Roman TUR"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings"><SPAN 
style="FONT: 7pt 'Times New Roman'"><FONT face="Times New Roman TUR" 
size=2></FONT></SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></P>
<UL type=Circle>
  <LI><FONT face="Times New Roman TUR"><FONT size=2><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检测</SPAN><SPAN 
  lang=EN-US>MAGIC</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">(</SPAN><SPAN 
  lang=EN-US>Signature</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">)是否为合法值(</SPAN><SPAN 
  lang=EN-US>Hex 55AA</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">);</SPAN> 
  </FONT></FONT>
  <LI><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
  <P class=MsoNormal 
  style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4"><FONT 
  face="Times New Roman TUR"><FONT size=2><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将自己移动到其它位置,将</SPAN><SPAN 
  lang=EN-US>0x7C00</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</SPAN><SPAN 
  lang=EN-US>0x7c00+512K</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的空间让出来,以备其后将</SPAN><SPAN 
  lang=EN-US>boot sector程序</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">装入这个位置,这样才能和直接从软盘直接装入</SPAN><SPAN 
  lang=EN-US>boot sector</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序相一致;具体移动到什么位置,则根据设计而定,理论上,可以移动到任何非冲突位置(即没有被预留为其它程序所用的位置);但一般情况下,都是在</SPAN><SPAN 
  lang=EN-US>0X000800</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">至</SPAN><SPAN 
  lang=EN-US>0X0A0000</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间寻找一端空间存放。</SPAN></FONT></FONT></P></SPAN>
  <LI><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
  <P class=MsoNormal 
  style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4"><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
  face="Times New Roman TUR"><FONT size=2><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查看分区表,将被设为活动的分区的第一个</SPAN><SPAN 
  lang=EN-US>Sector</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">装入</SPAN><SPAN 
  lang=EN-US>0X7C00</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的位置,正常的情况下,此</SPAN><SPAN 
  lang=EN-US>Sector<SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">放置的就是</SPAN><SPAN 
  lang=EN-US>boot sector</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序;</SPAN></SPAN></FONT></FONT></SPAN></P></SPAN>
  <LI><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
  face="Times New Roman TUR"><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
  lang=EN-US><FONT face="Times New Roman TUR"><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
  <P class=MsoNormal 
  style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4"><FONT 
  face="Times New Roman TUR"><FONT size=2><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最终,</SPAN><SPAN 
  lang=EN-US>master booter</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">跳转到</SPAN><SPAN 
  lang=EN-US>0X7C00</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的位置,开始执行</SPAN><SPAN 
  lang=EN-US>boot sector</SPAN><SPAN 
  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN></FONT></FONT></P></SPAN></FONT></SPAN></SPAN></FONT></SPAN></LI></UL><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
lang=EN-US><FONT face="Times New Roman TUR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4" 
align=center><FONT face="Times New Roman TUR"><FONT size=2><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><IMG 
src="booting-power_on_2.files/mb_proc.jpg" 
tppabs="http://pagoda-ooos.51.net/os_book/booting/power-on/mb_proc.jpg"></SPAN></FONT></FONT></P></SPAN></FONT></SPAN></SPAN></FONT></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
lang=EN-US><FONT face="Times New Roman TUR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<UL type=Circle></SPAN></FONT></SPAN></SPAN></FONT></SPAN></UL></SPAN></FONT>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4"><FONT 
face="Times New Roman TUR" size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4"><SPAN 
lang=EN-US><FONT size=3></FONT></SPAN></P><SPAN lang=EN-US><FONT 
face="Times New Roman"><FONT size=3>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=+0><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><STRONG><FONT 
size=3></FONT></STRONG></SPAN></FONT></P></FONT>
<P></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l4 level1 lfo4" 
align=center><FONT 
size=3><o:p></o:p></FONT></FONT></SPAN></P></SPAN></SPAN></FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT 
face="Times New Roman TUR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><STRONG><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><STRONG><FONT 
size=3><FONT face="Times New Roman CYR">1.2.4.2</FONT> 
软盘启动</FONT></STRONG></SPAN></STRONG></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT 
face="Times New Roman TUR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><STRONG><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></SPAN></STRONG></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
face="Times New Roman TUR" size=2>相对于硬盘启动过程,软盘启动则要简单的多,只需要将boot 
sector程序放置于软盘的第一个扇区。当INT 19从软盘启动的时候,会自动将boot 
sector读入内存的7C00h的位置,然后跳转到7C00h开始执行。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT 
face="Times New Roman CYR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></SPAN></FONT>&nbsp;</P><FONT 
face="Times New Roman CYR"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<HR width="100%" noShade SIZE=2>

<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=+0><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
lang=EN-US><SPAN lang=EN-US><FONT face="Times New Roman TUR" 
size=5><STRONG>1.2.5&nbsp;Other 
Information</STRONG></FONT></SPAN></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman TUR" 
size=5><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
lang=EN-US><SPAN 
lang=EN-US><STRONG></STRONG></SPAN></SPAN></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT 
face="Times New Roman TUR" 
size=2>下面是摘自于HELPPC2.1中的有关机器启动过程的信息:</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT 
face="Times New Roman TUR" size=2></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT 
face="Times New Roman TUR" size=2><STRONG>POST - Cold Boot / Power On Self Test 
Activities</STRONG></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT 
face="Times New Roman TUR" size=2>&nbsp;- power supply starts Clock Generator 
(8284) with Power<BR>&nbsp;&nbsp; Good signal on BUS<BR>&nbsp;- CPU reset line 
is pulsed resetting CPU<BR>&nbsp;- DS, ES, and SS are cleared to 
zero</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><STRONG><FONT 
face="Times New Roman TUR" size=2></FONT></STRONG></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT 
face="Times New Roman TUR"><FONT size=2><STRONG>&nbsp;Cold and Warm Boot both 
execute the following sequence<BR></STRONG>&nbsp;- CS:IP are set to FFFF:0000 
(address of ROM POST code)<BR>&nbsp;- jump to CS:IP&nbsp; (execute POST, Power 
On Self test)<BR>&nbsp;- interrupts are disabled<BR>&nbsp;- CPU flags are set, 
read/write/read test of CPU registers<BR>&nbsp;- checksum test of ROM 
BIOS<BR>&nbsp;- Initialize DMA (verify/init 8237 timer, begin DMA RAM 
refresh)<BR>&nbsp;- save reset flag then read/write test the first 32K of 
memory<BR>&nbsp;- Initialize the Programmable Interrupt Controller 
(8259)<BR>&nbsp;&nbsp; and set 8 major BIOS ~interrupt~ vectors (interrupts 
10h-17h)<BR>&nbsp;- determine and set configuration information<BR>&nbsp;- 
initialize/test CRT controller &amp; test video memory (unless 
1234h<BR>&nbsp;&nbsp; found in reset word)<BR>&nbsp;- test ~8259~ Programmable 
Interrupt Controller<BR>&nbsp;- test Programmable Interrupt Timer 
(~8253~)<BR>&nbsp;- reset/enable keyboard, verify scan code (AAh), clear 
keyboard,<BR>&nbsp;&nbsp; check for stuck keys, setup interrupt vector lookup 
table<BR>&nbsp;- hardware interrupt vectors are set<BR>&nbsp;- test for 
expansion box, test additional RAM<BR>&nbsp;- read/write memory above 32K 
(unless 1234h found in reset word)<BR>&nbsp;- addresses C800:0 through F400:0 
are scanned in 2Kb blocks in<BR>&nbsp;&nbsp; search of valid ROM.&nbsp;If found, 
a far call to byte 3 of the ROM<BR>&nbsp;&nbsp; is executed.<BR>&nbsp;- test ROM 
cassette BASIC (checksum test)<BR>&nbsp;- test for installed diskette drives 
&amp; ~FDC~ recalibration &amp; seek<BR>&nbsp;- test printer and RS-232 
ports.&nbsp; store printer port addresses<BR>&nbsp;&nbsp; at 400h and RS-232 
port addresses at 408h.&nbsp; store printer<BR>&nbsp;&nbsp; time-out values at 
478h and Serial time-out values at 47Ch.<BR>&nbsp;- NMI interrupts are 
enabled<BR>&nbsp;- perform ~INT 19~ (bootstrap loader), pass control to boot 
record<BR>&nbsp;&nbsp; or cassette BASIC if no bootable disk found<BR>&nbsp;- 
~WARM BOOT~ procedure is now executed<BR></FONT></FONT></P></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><FONT 
size=3>&nbsp;</P>
<HR width="100%" noShade SIZE=2>
</FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=+0><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
lang=EN-US><SPAN lang=EN-US><FONT face="Times New Roman TUR" 
size=5><STRONG>1.2.6&nbsp;For Further 
Reading</STRONG></FONT></SPAN></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Courier New" 
size=+0><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
lang=EN-US><SPAN lang=EN-US></SPAN></SPAN></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><SPAN 
lang=EN-US><SPAN lang=EN-US><FONT face="Times New Roman Greek" 
size=2>1.</FONT><FONT face="Times New Roman Greek" color=#000000 size=2>How It 
Works -- OS2 Boot Sector</FONT></SPAN></SPAN></SPAN></P></SPAN></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -