导读:
统一思想:
道篇:
有效而愉快的学习;学习到过程应该是由感性到理性;暂时的错误并不可怕;挡住去路的,往往不是大树,而是小藤;
术篇:
用到什么学习什么;只要用心就没有学不会的东西;适当地囫囵吞枣;
第一章:马上动手写一个最小的操作系统
引导扇区:电源开启后,自检(POST)------寻找软盘---------若是,检查软盘的0面0磁道1扇区,若以0x55AA结尾,则为引导扇区--------把这512B加载到0000:7c00处------跳转到0000:7c00处执行代码-----不再由BIOS控制交与操作系统
NASM的语法: 1、任何不被方括号【】括起来的标签或者变量名都认为是地址,访问地址内容必须使用【】
2、$表示当前行被汇编后到地址 $$表示程序被编译后到开始地址就是0x7c00
第二章:搭建你的开发环境
Bochs的搭建 源码下载:点此下载
安装过程:--------- tar -xvfz bochs.tar.gz
---------cd bochs
----------./configure --enable-debugger --enable-disasm
-----------make
-----------su make install
错误信息及其解决方案:解决方案
Bochs的使用
|----------bochs的标准的实例文件在 /usr/share/doc/bochs-2.4.5/bochsrc-sample.txt,其中$BXSHARE='/usr/share/bochs'
|-----------------注:由于版本的问题,保存文件可能在/usr/local/share中,看清两者之不同
|------------相关工具及其存放位置:
|------------Bochs启动程序 /usr/bin/bochs
|----------/usr/bin/bximage Bochs带的制作磁盘镜像文件的工具
|------------/usr/bin/bxcommit 把redolog放进flat磁盘镜像文件中去的交互工具
|------------/usr/share/doc/bochs/bochsrc-sample.txt Bochs配置文件的例子
|------------/usr/share/bochs/BIOS-bochs-* ROM BIOS镜像文件
|------------/usr/share/bochs/VGABIOS-* 与VGA BIOS镜像文件相关的文件
|------------/usr/bin/bochs-dlx 启动Bochs中DLX linux的程序
|------------/usr/share/bochs/dlxlinux/ DLX Linux的目录,包含它的磁盘镜像文件和配置文件
|------------/usr/share/bochs/keymaps/*.map X11和SDL的keymap列表
|-----------生成img文件 命令:bximg fd 一路enter
|-----------把引导扇区写入软盘 命令:dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc 防止a.img被截断,远大于boot.bin
|-----------配置bochs文件 配置文件实例:
|-----------------------megs: 32
|-----------------------romimage: file=/usr/share/bochs/BIOS-bochs-latest
|-----------------------#romimage: file=$BXSHARE/BIOS-bochs-latest
|-----------------------vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest
|-----------------------#vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
|-----------------------floppya: 1_44=a.img,status=inserted
|-----------------------boot: floppy
|-----------------------log: bochsout.txt
|-----------------------mouse: enabled=0
|-----------执行bochs指令:bochs -f 文件名
|-----------bochs 调试命令 :可以输入help命令 查看帮助