当前位置: 代码迷 >> 汇编语言 >> []dos引导区的有关问题
  详细解决方案

[]dos引导区的有关问题

热度:1594   发布时间:2013-02-26 00:00:00.0
[求助]dos引导区的问题
http://zhenlove.com.cn/cndos/fileup/files/DOS引导扇区代码详解.txt
此文件为dos引导区代码,我的问题如下:
下列指令行是从该引导代码中摘出来的,我不明白他是怎样实现注解的含义的
0160   3B16187C             CMP           DX,[7C18]     ;这两条指令是为了避免
0164   7319                     JNB           017F               ;第二次除法时除数为0        
00FE   CD19                     INT     19                                   ;自举
0103   EBE8                     JMP           00ED                     ;再次试图起动
敬请高手指点,谢谢!

------解决方案--------------------------------------------------------
00ED BE9E7D MOV SI,7D9E ;偏移019EH处是串 "Non system disk.
..............
0103 EBE8 JMP 00ED ;再次试图起动
这句就是跳到00ED那句话去 其实这段程序本加载到7C00去了(BIOS加载的?一直没去考究BIOS的程序所以还不干肯定是BIOS干的还是我们的主板自己搞得= =!)
0043 BC007C MOV SP,7C00 ; 初始化堆栈
这句就是把SP移到7C00处 在MOV前面我们就可以找到这段程序的偏移地址(这么说没记错吧?好就没看汇编了)
关于那个
00FE CD19 INT 19 ;自举
自己去查中断表就知道功能了(其实我也忘了:))


  相关解决方案