把project2的编译错误及bochs配置文件都弄好后,编译运行将会看到下面的结果
看到这个结果很奇怪,因为
main.c
中的
Init_Timer();后面初始化没有运行,然后就有了“Switch to a new user address spac, if necessary”这句话。进入Init_Timer()发现调用Calibrate_Delay(),在Calibrate_Delay()中先关中断,后开中断,估计很有可能是中断这里有些道道不清楚。在 Enable_Interrupts();前后分别加上Print("Before Enable_Interrupts\n");Print("After Enable_Interrupts\n"); 重新make,
bochs启动会看到下面的结果。