📄 booting-power_on_2.htm
字号:
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> </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> </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> </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 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> </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> </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> - power supply starts Clock Generator
(8284) with Power<BR> Good signal on BUS<BR> - CPU reset line
is pulsed resetting CPU<BR> - 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> </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> Cold and Warm Boot both
execute the following sequence<BR></STRONG> - CS:IP are set to FFFF:0000
(address of ROM POST code)<BR> - jump to CS:IP (execute POST, Power
On Self test)<BR> - interrupts are disabled<BR> - CPU flags are set,
read/write/read test of CPU registers<BR> - checksum test of ROM
BIOS<BR> - Initialize DMA (verify/init 8237 timer, begin DMA RAM
refresh)<BR> - save reset flag then read/write test the first 32K of
memory<BR> - Initialize the Programmable Interrupt Controller
(8259)<BR> and set 8 major BIOS ~interrupt~ vectors (interrupts
10h-17h)<BR> - determine and set configuration information<BR> -
initialize/test CRT controller & test video memory (unless
1234h<BR> found in reset word)<BR> - test ~8259~ Programmable
Interrupt Controller<BR> - test Programmable Interrupt Timer
(~8253~)<BR> - reset/enable keyboard, verify scan code (AAh), clear
keyboard,<BR> check for stuck keys, setup interrupt vector lookup
table<BR> - hardware interrupt vectors are set<BR> - test for
expansion box, test additional RAM<BR> - read/write memory above 32K
(unless 1234h found in reset word)<BR> - addresses C800:0 through F400:0
are scanned in 2Kb blocks in<BR> search of valid ROM. If found,
a far call to byte 3 of the ROM<BR> is executed.<BR> - test ROM
cassette BASIC (checksum test)<BR> - test for installed diskette drives
& ~FDC~ recalibration & seek<BR> - test printer and RS-232
ports. store printer port addresses<BR> at 400h and RS-232
port addresses at 408h. store printer<BR> time-out values at
478h and Serial time-out values at 47Ch.<BR> - NMI interrupts are
enabled<BR> - perform ~INT 19~ (bootstrap loader), pass control to boot
record<BR> or cassette BASIC if no bootable disk found<BR> -
~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> </P>
<HR width="100%" noShade SIZE=2>
</FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></SPAN> </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 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> </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 + -