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 ;自举
自己去查中断表就知道功能了(其实我也忘了:))