BINBIN Blog

Thinking will not overcome fear but action will.

Orange'S:一个操作系统的实现

保护模式

保护模式 X86汇编已经把保护模式讲的很清楚,就不详细记录了! 这里详细说明一下为什么第一个描述符是空的! 这里其实是跟CPU 支持多任务的设计有关系! 用于当一个任务使用的所有段都是系统全局段时。 GDTR(48位)用于描述GDT的基址和界限 LDTR(16位)用于描述当前任务的LDT在GDT中的选择子。 如果一个任务没有LDT,就会把LDTR清空,此时指向GDT中的第0项描...

x86汇编语言-从实模式到保护模式笔记

程序的动态加载和执行

内核的结构、功能和加载 本章代码清单: 13-1(主引导扇区程序),源程序文件: c13_mbr.asm 本章代码清单: 13-2(微型内核),源程序文件: c13_core.asm 本章代码清单: 13-3(被加载的用户程序),源程序文件: c13.asm 内核分为四个部分,分别是初始化代码、内核代码段、内核数据段和内核例程段,主引导程序也是初始化代码的组成部分。 初始化代码用于从 ...

x86汇编语言-从实模式到保护模式笔记

存储器保护

代码清单 首先附上代码清单: 1 ;代码清单12-1 2 ;文件名:c12_mbr.asm 3 ;文件说明:硬盘主引导扇区代码 4 ;创建日期:2011-10-27 22:52 5 6 ;设置堆栈段和栈指针 7 mov eax,cs 8 mov ss,eax 9 mov sp,0x7c0...

x86汇编语言-从实模式到保护模式笔记

全局描述符表(GDT)

全局描述符表(GDT) 在进入保护模式之前。首先来介绍一下,全局描述符表(Global Descriptor Table,GDT)。 在实模式下,处理器将内存分为逻辑上的段,在访问内存时,在指令中,使用段内偏移地址。这在之前的文章学习的很深刻了。 在保护模式下,就不太一样了。对内存的访问,依然使用段地址加偏移地址,但是,在每个段能够进行访问之前,必须先进行登记。 但在保护模式下就不行...

x86汇编语言-从实模式到保护模式笔记

中断和动态时钟显示

硬中断 硬中断的工作原理 软中断的工作原理 中断向量表 硬中断一般是外部硬件中断-就是从处理器外部来的中断信号。 当外部设备发生错误或者有数据要传送时,或者处理器交给它的任务处理完了,它都会向处理器发送信号,高速处理器。 如下图,外部硬件中断是通过两个信号线引入处理器内部的。这两根线的名字恩别叫做NMI和INTR! 当一个中断发生时,处理器将会通过中断引脚NMI...

x86汇编语言-从实模式到保护模式笔记

32位处理器的结构和特点

IA-32 架构的基本执行环境 寄存器的扩展 在 16 位处理器内,有 8 个通用寄存器 AX、 BX、 CX、 DX、 SI、 DI、 BP 和 SP,其中,前 4 个还可以拆分成两个独立的 8 位寄存器来用,即 AH、 AL、 BH、 BL、 CH、 CL、 DH 和 DL。如图 10-1 所示, 32 位处理器在 16 位处理器的基础上,扩展了这 8 个通用寄存器的长度。 为...

x86汇编语言-从实模式到保护模式笔记

硬盘和显卡的访问与控制

主引导扇区过后是什么 主引导扇区是处理器迈向广阔天地的第一块跳板。离开主引导扇区后,前方通常就是操作系统。 和主引导扇区一样,操作系统也是位于硬盘上的。操作系统需要安装到硬盘上。这个安装的过程不仅需要将操作系统的指令和数据写入硬盘,通常还要更新主引导扇区的内容。好让主引导扇区直接连着操作系统。 我们前面写的主引导扇区一直都是在显示字符串和做加法。这这太过简单。不过作为初学,很有必要。 ...

x86汇编语言-从实模式到保护模式笔记

比高斯更快的计算

##代码清单 其实主要就是讲堆栈,前面汇编语言有一章专门讲堆栈的! 还记得前几篇文章,我们学会了编写主引导扇区代码,在显示屏显示字符串。最开始我们的做法是一个字符一个字符的传送给显存。后来发现可以先将所有需要传送的字符先存放到一块内存中,然后使用movsw连续传送这些字符串到显存更加方便。 今天我们的目的是,我们将我们想要显示的数字,先暂时存放到一种称为栈的结构中。最后我们再从栈中取出这...

源码安装bochs 2.6.9

Bochs

##bochs 这个安装bochs,当时在看Orange’S:一个操作系统的实现 去安装,书上提到的安装方法很老的,过时了,无法安装,我是从网上搜索和查看bochs手册慢慢摸索出来的! 首先bochs下载地址是:http://sourceforge.net/projects/bochs/files/bochs/ 发现这个链接失效了,就把bochs 的文件上传到网盘了! 链接:http...

x86汇编语言-从实模式到保护模式笔记

相同的功能,不同的代码

##代码清单 总共就50行代码! 1 ;代码清单6-1 2 ;文件名:c06_mbr.asm 3 ;文件说明:硬盘主引导扇区代码 4 ;创建日期:2011-4-12 22:12 5 6 jmp near start 7 8 mytext db 'L',0x07,'a',0x07,'b',0x07,'e',0x07,'l'...