发信人: jink2000()
整理人: sle(2000-05-31 16:51:11), 站内信件
|
若有不妥之处,请不吝赐教。:-)
[1]将自身0:7C1B开始1E5个字节传送到0:061B处,然后转移至0:061B继续执行.
[2]判断激活分区的引导标志,若小于0进入[3],等于0继续查找,找了四次都为0进 入ROM-BASIC,大于0显示出错信息"分区表无效"并进入死循环.
[3]继续查找判断引导标志,若其余表项都等于0进入[4],若其余表项有不等于0显 示出错信息"分区表无效"并进入死循环.
[4]判断激活分区的分区标志
[4.1]激活分区的分区标志为0E
使用INT 13的41号扩展功能调用
[4.1.1]成功,则使用INT 13的42号扩展功能调用读激活分区的第一个扇区至 0:7C00
若读盘出错,磁盘系统复位并重新读盘,读一定次数后若不成功,显示 出错信息"加载操作系统时出错"并进入死循环.
若读盘成功,比较此扇区最后两字节是否为55AA?
是,进入[5]
否,再试一次,若最后两字节是55AA,进入[5],否则显示出错信息"Mi ssing operating system"并进入死循环.
[4.1.2]失败,则将激活分区的系统标志置为06,然后同[4.3]
[4.2]激活分区的分区标志为0C,0B
使用INT 13的2号功能调用读激活分区的第一个扇区至0:7C00.
若读盘出错,磁盘系统复位并重新读盘,读一定次数后若不成功,显示出错信 息"加载操作系统时出错"并进入死循环.
若读盘成功,比较此扇区最后两字节是否为55AA?
是,进入[5]
否,进行第二次读盘,读此分区的起始+6扇区至0:7C00,若最后两字节是55 AA,进入[5],否则显示出错信息"Missing operating system"并进入死循环.
[4.3]激活分区的分区标志为其它
使用INT 13的2号功能调用读激活分区的第一个扇区至0:7C00.
若读盘出错,磁盘系统复位并重新读盘,读一定次数后若不成功,显示出错信 息"加载操作系统时出错"并进入死循环.
若读盘成功,比较此扇区最后两字节是否为55AA?
是,进入[5]
否,再试一次,若最后两字节是55AA,进入[5],否则显示出错信息"Missing operating system"并进入死循环.
[5]转移至0:7C00继续执行
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.130.3.228]
|
|