扩展Int13H技术资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
扩展Int13H技术资料

如果从软盘起动,则Dos引导程序被ROM BIOS直接加载到内存,若从硬盘起动,则被硬 盘的主引导程序加载.不过都是被加载到内存的绝对地址0000:7C00H处.因此,Dos引导程 序的第一条指令的地址一定是0000:7C00H. Dos引导程序所做的事情如下: 1调整堆栈位置 2修改并用修改后的磁盘参数表来复位磁盘系统 3计算根目录表的首扇区的位置及IO.SYS的扇区位置 4读入根目录表的首扇区 5检查根目录表的开头两项是否为IO.SYS及MSDOS.SYS 6将IO.SYS文件开头三个扇区读入内存0000:0700H处 7跳到0000:0700H处执行IO.SYS,引导完毕 上述每一步若出错,则显示Non system disk or disk error...信息,等用户按任 一键后试图重新起动. 下面的Dos引导程序是从硬盘上得来的,显示MSDOS5.0,但Dos的ver命令报告的是6.22 版.FAT表自然是16位的. 说明: (DX) 表示寄存器DX的值 逻辑扇区号 以0面0道1扇区作为逻辑0扇区,而不是以Dos引导扇区为逻辑0扇区, 当然,对软盘来说二者是相同的,对硬盘则不同 面号 即磁头号 磁道号 即柱面号(对硬盘) 物理扇区号 由面号,磁道号,扇区号三者共同指定 偏移 机器码 符号指令 说明 ============================================================================ == 0000 EB3C JMP 003E ;跳过数据区 ;以下数据是厂商OEM信息和磁盘BPB表 0000 90 4D 53 44 4F 53-35 2E 30 00 02 08 01 00 .MSDOS5.0..... 0010 02 00 02 00 00 F8 CC 00-3F 00 10 00 3F 00 00 00 ........?...?... 0020 F1 59 06 00 80 00 29 E3-0B 3F 26 53 4C 4D 20 20 .Y....)..?SLM 0030 20 20 20 20 20 20 46 41-54 31 36 20 20 20 FAT16 ---------------------------------------------------------------------------- -- 003E FA CLI 003F 33C0 XOR AX,AX 0041 8ED0 MOV SS,AX 0041 8ED0 MOV SS,AX 0043 BC007C MOV SP,7C00 ; 初始化堆栈 0046 16 PUSH SS 0047 07 POP ES ;(ES)=0000H 0048 BB7800 MOV BX,0078 ;1EH 号中断向量的地址为0000:0078H 004B 36 SS: ;(SS)=0000H 004C C537 LDS SI,[BX] ;取1EH号中断向量的内容存入DS:SI 004E 1E PUSH DS ;该中断向量指向一个11字节的磁盘参 ;数表 004F 56 PUSH SI ;取到后压入堆栈中保存 0050 16 PUSH SS 0051 53 PUSH BX ;保存地址0000:0078H 0052 BF3E7C MOV DI,7C3E ;7C3E-7C00=003EH,即偏移003EH,以下 ;类推 0055 B90B00 MOV CX,000B ;磁盘参数表共11字节 0058 FC CLD 0059 F3 REPZ 005A A4 MOVSB ;将磁盘参数表复制到0000:7C3EH处 005B 06 PUSH ES 005C 1F POP DS ;(DS)=0000H 005D C645FE0F MOV BYTE PTR [DI-02],0F ;修改参数表中磁头定位时间 0061 8B0E187C MOV CX,[7C18] ;从BPB中取每磁道扇区数 0065 884DF9 MOV [DI-07],CL ;修改参数表中每磁道扇区数 0068 894702 MOV [BX+02],AX ;(AX)=0000H,修改1EH号中断向量 ;(段址) 006B C7073E7C MOV WORD PTR [BX],7C3E ;修改1EH号中断向量(偏移),这 ;样1EH号 006F FB STI ;中断向量的内容为0000:7C3EH,指向新的磁盘参 ;数表 0070 CD13 INT 13 ;用新的磁盘参数表来复位磁盘 00

文档评论(0)

youshen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档