摘要: 在Hello DTOS中,使用汇编语言直接基于x86架构的硬件完成了第一个主引导程序,实在是大功一件。Hello DTOS博客中,存在着这样一个问题:在开发的过程中没有任何可用的调试环境,当主引导程序越来越复杂时,出现bug根本没法调试。本篇博客就来搭建高效可用的调试环境 调试环境搭建(上)问题:如 阅读全文
posted @ 2019-10-18 23:22 一代枭雄 阅读(575) 评论(0) 推荐(0)
摘要: 如何验证编写的主引导程序?解决方案设计:将汇编源码编译为二进制机器码(nasm)创建虚拟盘(bximage)将二进制代码写入虚拟盘起始位置(dd)在虚拟机中将虚拟盘作为启动盘执行(vmware) 就算编译得到了二进制码,如何将二进制的机器码拿到硬件上面去执行呢?因为没有操作系统,所以必须要使用实际的 阅读全文
posted @ 2019-10-18 22:52 一代枭雄 阅读(283) 评论(0) 推荐(0)
摘要: org 0x7c00 //主引导程序的入口地址为0x7c00(物理地址),类似于用c或c++程序中的main函数。 start: //定义标签,标签的含义就是mov ax,cs这条指令的地址。 mov ax,cs mov ss,ax mov ds,ax mov es,ax 首先将关键寄存器的值设置为 阅读全文
posted @ 2019-10-18 22:05 一代枭雄 阅读(334) 评论(0) 推荐(0)