第三章计算机系统引导过程分 1Word文件下载.docx

上传人:b****1 文档编号:3695392 上传时间:2023-05-02 格式:DOCX 页数:64 大小:134.37KB
下载 相关 举报
第三章计算机系统引导过程分 1Word文件下载.docx_第1页
第1页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第2页
第2页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第3页
第3页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第4页
第4页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第5页
第5页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第6页
第6页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第7页
第7页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第8页
第8页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第9页
第9页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第10页
第10页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第11页
第11页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第12页
第12页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第13页
第13页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第14页
第14页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第15页
第15页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第16页
第16页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第17页
第17页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第18页
第18页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第19页
第19页 / 共64页
第三章计算机系统引导过程分 1Word文件下载.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第三章计算机系统引导过程分 1Word文件下载.docx

《第三章计算机系统引导过程分 1Word文件下载.docx》由会员分享,可在线阅读,更多相关《第三章计算机系统引导过程分 1Word文件下载.docx(64页珍藏版)》请在冰点文库上搜索。

第三章计算机系统引导过程分 1Word文件下载.docx

第二节INT19h引导系统

在加电自测完成之后,计算机将控制权交给INT19h,由INT19h引导并加载操作系统。

在分析讨论INT19h工作过程之前,我们首先了解获得INT19h源程序的方法。

3.2.1获得INT19h源程序的方法:

由于计算机在加栽操作系统的过程中,INT19h的入口参数被多次修改(如图3-1),因而原INT19h被包裹上了一层或多层外壳。

因此原始的INT19h入口参数不能简单地从内存0000:

0064H处获得,而必须去掉它的所有外壳才能获得。

INT19h源程序的方法很多,下面以“采用DEBUG.EXE获得INT19h源程序”的方法为例,具体给大家介绍。

第一步、让计算机按缺省方式启动:

将启动盘根目录下的CONFIG.SYS和AUTOEXEC.BAT改名后重新启动即可。

之所以要按缺省方式启动,是因为按缺省方式启动时,INT19h被修改次数最少,也最容易找到原始INT19h的入口。

第二步、找到当前INT19h的入口地址:

INT19h的入口地址位于内存0000:

0064H处,用DEBUG的D命令即可显示。

第三步、获得并分析该层源程序:

采用文件重定位方法可获得源程序。

源程序分析举例如下:

0070:

00001809172301EA9308-7000000000000000...#....p.......

001000007C0323010000-0000000070000102..|.#.......p...

002000E8003500700013-80F5060007434F4E...5.p.......CON

00F070000080F5063307-434F4D3420202020p.....3.COM4

010010C81900C013979F-00F01559F800F019...........Y....

0110F2E600F01B53FF00-F04E03700000FFF8.....S...N.p....

06300000000000000000-0000FFFFFFFFFC01................

06400102C3E200F008A5-FE00F00987E900F0................

06500A73F700F00B73F7-00F00C73F700F00D.s....s....s....

066073F700F00E57EF00-F0701EF700F07273s....W...p....rs

0670F700F07373F700F0-7473F700F07645E8...ss...ts...vE.

068000F07765E800F054-03B8031F098309E7..we...T........

06900900000000000000-0000000000000000................

07FB0EPUSHCS

07FC1FPOPDS

07FD8E061A00MOVES,[001A]

0801B90500MOVCX,0005

0804BE0001MOVSI,0100

0807ACLODSB恢复10、13、15、19、1B中断向量

080898CBW

0809D1E0SHLAX,1

080BD1E0SHLAX,1

080D8BF8MOVDI,AX

080FADLODSW

0810ABSTOSW

0811ADLODSW

0812ABSTOSW

0813E2F2LOOP0807

0815803E400600CMPBYTEPTR[0640],00

081A7422JZ083E

081CBE4106MOVSI,0641

081FB90E00MOVCX,000E

0822ACLODSB

082398CBW

08248BF8MOVDI,AX

0826ADLODSW恢复02、08、09、0A、0B、0C、0D、0E、72、

08278BD8MOVBX,AX73、74、76、77中断向量

0829ADLODSW

082A83FBFFCMPBX,-01

082D740DJZ083C

082F3DFFFFCMPAX,FFFF

08327408JZ083C

083403FFADDDI,DI

083603FFADDDI,DI

083893XCHGBX,AX

0839ABSTOSW

083A93XCHGBX,AX

083BABSTOSW

083CE2E4LOOP0822

083E803E0D0000CMPBYTEPTR[000D],00

08437403JZ0848

0845E83000CALL0878

0848CD19INT19

第四步、获得并分析原INT19h源程序:

通过第三步分析可知,原INT19h入口的位置(F000:

E6F2H)。

3.2.2INT19h中断处理程序及分析:

由于原始INT19h的内容存在于计算机的BIOS中,因此INT19h的内容与BIOS的版本和生产厂家有关,不同版本和生产厂家BIOS的INT19h内容不同。

但是、不管是那个版本或生产厂家BIOS的INT19h在加栽操作系统时,所完成的任务是相同或基本相同的。

下面举例分析:

例一、MRBIOS(c)1988INT19h分析:

F000:

E6F2E9151BJMP020A

......

020AB80000MOVAX,0000

020D8ED8MOVDS,AX

020FB80000MOVAX,0000

02128EC0MOVES,AXDS,ES←0

0214FACLI(ClearInterruptenableFlag)

021526ES:

将41H中断向量置为F000:

283H

0216C70604018302MOVWORDPTR[0104],0283

021C26ES:

其中,41H中断为硬盘参数中断

021D8C0E0601MOV[0106],CS

022126ES:

将1EH中断向量置为F000:

278H

0222C70678007802MOVWORDPTR[0078],0278

022826ES:

其中,1EH中断为软盘参数中断

02298C0E7A00MOV[007A],CS

022DFBSTI

022EB90300MOVCX,0003置读次数

0231B200MOVDL,00置A驱

0233E82100CALL0257读0头0道1扇区引导记录到0:

7C00H

02367205JB023D读失败,转023D

0238EA007C0000JMP0000:

7C00执行0:

7C00H的引导记录(软盘)

023DB90300MOVCX,0003置读次数

0240B280MOVDL,80置硬盘驱号

0242E81200CALL0257读0头0道1扇区引导记录到0:

0245720EJB0255读失败,执行ROM-BASIC(INT18H)

024726ES:

引导记录模块最后一个字为AA55H

0248813EFE7D55AACMPWORDPTR[7DFE],AA55

024E7505JNZ0255不是,转INT18H

0250EA007C0000JMP0000:

7C00成功,执行引导记录(硬盘)

0255CD18INT18ROM-BASIC

●复位驱动器及读引导记录子程序

0257B400MOVAH,00复位磁盘

0259CD13INT13

025B7213JB0270复位失败,转270H

025DB402MOVAH,02复位成功,置读扇区功能号

025FB001MOVAL,01置要读的扇区数

0261BB007CMOVBX,7C00读到内存0:

7C00H(ES:

BX指标)

026451PUSHCX

0265B500MOVCH,00置磁道号(柱面号)

0267B101MOVCL,01置要读首扇区号

0269B600MOVDH,00置要读磁头号

026BCD13INT13

026D59POPCX成功,反回

026E7307JNB0277

027080FC80CMPAH,80失败,超时错?

0273E0E2LOOPNZ0257未够3次,继续

0275F9STC

0276C3RET

0277C3RET

例二、AMIBIOS(c)1993INT19h分析:

E6F2E93CA0JMP8731

873133C0XORAX,AX

87338EC0MOVES,AX

8735FACLI

8736FCCLD

8737B8C7EFMOVAX,EFC7

873ABF7800MOVDI,0078

873DABSTOSW

873EB800F0MOVAX,F000

8741ABSTOSW修改1E中断指向F000:

EFC7

8742BF007CMOVDI,7C00

8745B90001MOVCX,0100

8748F3REPZ

8749ABSTOSW0000:

7C00---0000:

7DFF填F000

874AFBSTI

874B33D2XORDX,DX

874D33C0XORAX,AX

874FCD13INT13软驱复位

8751E83677CALLFE8A判断操作系统启动顺序是C:

A:

或A:

C:

87542406ANDAL,06

87567431JZ8789启动顺序是C:

则转移

8758E86900CALL87C4读软盘引导记录

875BE8A026CALLADFE判断是否读成功

875E734CJNB87AC成功则转移

8760E8CB64CALLEC2E判断是否有硬盘

8763A808TESTAL,08

87657512JNZ8779无硬盘则转移

8767B280MOVDL,80

8769E85800CALL87C4读硬盘主引导记录

876CE30BJCXZ8779

876E7209JB8779读失败则转移

877026ES:

8771813EFE7D55AACMPWORDPTR[7DFE],AA55比较硬盘主引导记录标志

87777443JZ87BC标志存在则转移

8779CD18INT18ROM-BASIC

8789E8A264CALLEC2E判断是否有硬盘

878CA808TESTAL,08

878E7512JNZ87A2

8790B280MOVDL,80

8792E82F00CALL87C4读硬盘主引导记录

8795E30BJCXZ87A2

87977209JB87A2

879926ES:

879A813EFE7D55AACMPWORDPTR[7DFE],AA55

87A0741AJZ87BC

87A2B200MOVDL,00

87A4E81D00CALL87C4读软盘引导记录

87A7E85426CALLADFE判断是否读成功

87AA72CDJB8779

87ACBF007CMOVDI,7C00

87AF26ES:

87B08B05MOVAX,[DI]

87B2B98000MOVCX,0080

87B5FACLI

87B6FCCLD

87B7F3REPZ

87B8AESCASB

87B9FBSTI

87BAE3BDJCXZ8779判断软盘引导记录的存在性

87BCE84B64CALLEC0A

87BFEA007C0000JMP0000:

7C00控制权交给主引导记录或引导记录

87C453PUSHBX

87C5B90400MOVCX,0004

87C8BB007CMOVBX,7C00

87CB51PUSHCX

87CCB90100MOVCX,0001

87CFB80102MOVAX,0201

87D2CD13INT13

87D459POPCX

87D5730CJNB87E3

87D750PUSHAX

87D833C0XORAX,AX

87DACD13INT13

87DC58POPAX

87DDD0E4SHLAH,1

87DF7202JB87E3

87E1E2E8LOOP87CB

87E35BPOPBX

87E4C3RET

●通过读成功与否给BH赋初值

ADFEB700MOVBH,00

AE00E306JCXZAE08如果读完4次(CX=0)则转移

AE02B701MOVBH,01

AE047303JNBAE09读成功则转移

AE06B702MOVBH,02

AE08F9STC进位标志位置1(CF=1)

AE09C3RET

EC2EB08EMOVAL,8E

EC30E8AEFFCALLEBE1

EC33A8C0TESTAL,C0

EC35C3RET

EBE1E670OUT70,AL

EBE3E300JCXZEBE5

EBE5E300JCXZEBE7

EBE7E471INAL,71

EBE9C3RET

第三节硬盘主引导记录

硬盘的主引导记录与计算机硬件无关,但与所使用的操作系统种类以及该操作系统的版本有密切的关系。

DOS操作系统与XENIX操作系统下的硬盘主引导记录不一样;

DOS3.30操作系统与DOS6.20操作系统下的硬盘主引导记录也有一些区别。

即使如此,但它们所完成的功能与作用则是基本相同的。

因此,我们在学习硬盘主引导记录时,只需分析其一种即可触类旁通,达到学习的目的。

3.3.1获得主引导记录的方法:

获得主引导记录的方法很多也很简单。

下面仅以采用DOS提供的DEBUG.EXE程序获得硬盘主引导记录的方法为例,简单介绍其方法。

C:

\>

DEBUG

-a

xxxx:

0100movax,0201ah为功能号al为读扇区数

0103movbx,0200es:

bx为所读扇区在内存中的存放位置

0106movcx,0001cx为所读磁道号和扇区号

0109movdx,0080dh为所读磁头号dl为所读磁盘的盘符

010Cint13h

010Eint3h设置断点

010F

-g

注:

INT13h的具体使用方法请查阅有关书籍

3.3.2硬盘主引导记录分析(DOS6.20):

硬盘主引导记录的功能是读出硬盘自举分区的BOOT程序,并把控制权转移到分区BOOT程序。

7C00FACLI

7C0133C0XORAX,AX

7C038ED0MOVSS,AX

7C05BC007CMOVSP,7C00重置堆栈

7C088BF4MOVSI,SP

7C0A50PUSHAX

7C0B07POPESES=0

7C0C50PUSHAX

7C0D1FPOPDSDS=0

7C0EFBSTI

7C0FFCCLD

7C10BF0006MOVDI,0600

7C13B90001MOVCX,0100

7C16F2REPNZ移动引导记录从0000:

7c00到0000:

0600

7C17A5MOVSW

7C18EA1D060000JMP0000:

061D跳转到

7C1DBEBE07MOVSI,07BE

7C20B304MOVBL,04

7C22803C80CMPBYTEPTR[SI],80判断0000:

07be是否为活动分区

7C25740EJZ7C35是活动分区则转移

7C27803C00CMPBYTEPTR[SI],00

7C2A751CJNZ7C48

7C2C83C610ADDSI,+10

7C2FFECBDECBL

7C3175EFJNZ7C22

7C33CD18INT18进入ROM-BASIC

7C358B14MOVDX,[SI]

7C378B4C02MOVCX,[SI+02]

7C3A8BEEMOVBP,SI

7C3C83C610ADDSI,+10

7C3FFECBDECBL

7C41741AJZ7C5D分区表正常

7C43803C00CMPBYTEPTR[SI],00

7C4674F4JZ7C3C

7C48BE8B06MOVSI,068B

7C4BACLODSB

7C4C3C00CMPAL,00

7C4E740BJZ7C5B

7C5056PUSHSI

7C51BB0700MOVBX,0007用白色

7C54B40EMOVAH,0E于屏幕

7C56CD10INT10写提示

7C5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2