在线等——”load_seg_reg(DS):RPL...“的报错源是dos还是bochs?
在学orange's写操作系统,第三章讲到CPL,DPL,RPL时,作者故意写了一个特权级出错的例子,在bochs上的dos系统中调试,结果“系统崩溃,bochs重启,控制台显示:load_seg_reg(ds):RPL&RPL must be <=DPL”。
因为控制台显示的这句话是很有用的调试信息,我想知道它是bochs报的错,还是dos报的错。
我问这个原因是:假如这是dos报的错,那证明dos有助于调试自己写的操作系统,我以后的调试工作就从bochs转到dos上运行的dos里去。若不是dos报的错,那我第四章就不准备跟着作者将软盘格式化成fat12格式,因为我前3章一直都是在bochs裸机上调试的,没有用到dos。若并无大碍,以后也不想用dos。
希望有过来人指教!在线等——
[解决办法]
这个简单判别。
你在DOSBOX之类的其他虚拟机中运行该代码,看看出错结果即可。