DOS引导扇区代码详解

DOS引导扇区代码详解

ID:40744402

大小:18.61 KB

页数:7页

时间:2019-08-07

DOS引导扇区代码详解_第1页
DOS引导扇区代码详解_第2页
DOS引导扇区代码详解_第3页
DOS引导扇区代码详解_第4页
DOS引导扇区代码详解_第5页
资源描述:

《DOS引导扇区代码详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、DOS引导扇区代码详解如果从软盘起动,则Dos引导程序被ROMBIOS直接加载到内存,若从硬盘起动,则被硬盘的主引导程序加载.不过都是被加载到内存的绝对地址0000:7C00H处.因此,Dos引导程序的第一条指令的地址一定是0000:7C00H.[本人注:本文所述的dos引导代码已经在bootsect.bak,可以用winhex打开参考,但我试用过得,似乎有点问题,直接就到最后的—“Non-sytemdiskordiskerror...Replaceandpressanykeywhenready”]Dos引导程序所做的事情如下:1>调整堆栈位置2>修改并用修改后

2、的磁盘参数表来复位磁盘系统3>计算根目录表的首扇区的位置及IO.SYS的扇区位置4>读入根目录表的首扇区5>检查根目录表的开头两项是否为IO.SYS及MSDOS.SYS6>将IO.SYS文件开头三个扇区读入内存0000:0700H处7>跳到0000:0700H处执行IO.SYS,引导完毕   上述每一步若出错,则显示"Nonsystemdiskordiskerror..."信息,等用户按任一键后试图重新起动.   下面的Dos引导程序是从硬盘上得来的,显示MSDOS5.0,但Dos的ver命令报告的是6.22版.FAT表自然是16位的.说明:   (DX)   

3、      表示寄存器DX的值   逻辑扇区号   以0面0道1扇区作为逻辑0扇区,而不是以Dos引导扇区为逻辑0扇区,                 当然,对软盘来说二者是相同的,对硬盘则不同   面号         即磁头号   磁道号       即柱面号(对硬盘)   物理扇区号   由面号,磁道号,扇区号三者共同指定偏移机器码       符号指令              说明==============================================================================0000EB3C

4、         JMP    003E           ;跳过数据区                                          ;以下数据是厂商OEM信息和磁盘BPB表0000       904D53444F53-352E300002080100    .MSDOS5.0.....00100200020000F8CC00-3F0010003F000000  ........?...?...0020F1590600800029E3-0B3F26534C4D2020  .Y....)..?&SLM0030202020202020464

5、1-543136202020              FAT16------------------------------------------------------------------------------003EFA           CLI003F33C0         XOR    AX,AX00418ED0         MOV    SS,AX00418ED0         MOV    SS,AX0043BC007C       MOV    SP,7C00        ;初始化堆栈004616           PUSH

6、   SS004707           POP    ES             ;(ES)=0000H0048BB7800       MOV    BX,0078        ;1EH号中断向量的地址为0000:0078H004B36           SS:                    ;(SS)=0000H004CC537         LDS    SI,[BX]        ;取1EH号中断向量的内容存入DS:SI004E1E           PUSH   DS             ;该中断向量指向一个11字节的磁盘参

7、                                          ;数表004F56           PUSH   SI             ;取到后压入堆栈中保存005016           PUSH   SS005153           PUSH   BX             ;保存地址0000:0078H0052BF3E7C       MOV    DI,7C3E        ;7C3E-7C00=003EH,即偏移003EH,以下                                          

8、;类推0055B90B0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。