在上一节提到由BIOS构建实模式下的内存中断向量表和中断服务程序,那么接下来就是利用这些中断加载操作系统内核,这一步又有三个步骤:1、引导程序bootsect加载;2、setup程序加载;3、system内核加载。在中断向量表和中断服务程序构建完成以后,BIOS会产生int0x19中断,该中断..
分类:
系统相关 时间:
2015-11-05 16:54:06
阅读次数:
246
ORG 0x7c00 ;装载此程序至0x7c00处,因为BIOS默认会从内存0x7c00处开始执行
JMP OS_Entry
OS_Entry:
//在这里加代码
TIMES 510 - ($ - $$) DB 0 ;填充剩下的空间,使生成的二进制代码恰好为512字节
DB 0x55,0xAA ;BIOS认可的结束标志
代码就是这样,注释已经说得很清楚了。如果还有不懂的...
分类:
其他好文 时间:
2015-08-28 21:35:49
阅读次数:
159
一, 实验内容 改写bootsect.s和setup.s, 完成如下主要功能: 1, bootsect.s能够在屏幕上打印一段提示信息"XXX is booting...",其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等. 2, bootsect.s能够完成setup.s...
分类:
其他好文 时间:
2015-08-19 10:59:35
阅读次数:
436
我们在上一篇文章中提到Bootsect如何制作,接着我们来做打印字符,(某些朋友可能认为打印字符是最重要的,嘻嘻)
直接贴代码:
_ASM_Print_String:
push ebp
mov ebp, esp
mov esi, [ebp + 8] ; pszInfo
mov edi, [POS]
mov ah, [ebp + 12] ; color
.1:
lodsb
t...
分类:
其他好文 时间:
2015-08-15 12:04:39
阅读次数:
133
我们在上一篇文章提到,如何制作Bootsect,当然,人总是贪婪的,制作完Bootsect又想着做Setup了,Setup主要工作是打开A20,进入保护模式,等等。
一、介绍A20
这是一个历史性问题,在intel处理器8086中,“段:偏移”最大能表示的内存地址是FFFF:FFFF,即10FFEFh,可是8086只有20位寻址地址总线,只能寻址到1MB,如果试图访问1MB以上的内存地址,并不...
分类:
其他好文 时间:
2015-08-15 12:02:11
阅读次数:
129
第二天总结学习内容:寄存器(eflags,IDTR,GDTR,CR0),bootsect应用的相关知识及其流程,gdt实验:实践boot相关功能,移动位置,加载扇区,建立gdt以及idt,进入实模式,跳转到gas编译的head第一条语句总结:1,理论bootsect到setup a,被加载...
分类:
其他好文 时间:
2015-08-01 00:49:12
阅读次数:
221
总结下学习的内容,梳理下思路。学习内容:启动,dd命令,bochs基本用法,as86,ld86实验:使用bochs模拟开机启动过程,熟悉常用命令。总结:1.机器启动到加载bootsect:a,开机进入实模式,实模式主要特点软件可以直接访问硬件和只有20位的寻址空间b,计算机刚刚加电时cs=f000..
分类:
其他好文 时间:
2015-07-31 06:42:20
阅读次数:
141
总结下学习的内容,梳理下思路。学习内容:启动, dd命令,bochs基本用法,as86,ld86实验:使用bochs模拟开机启动过程,熟悉常用命令。总结: 1.机器启动到加载bootsect: a,开机进入实模式,实模式主要特点软件可以直接访问硬件和只有20位的寻址空间 b...
分类:
其他好文 时间:
2015-07-31 01:18:59
阅读次数:
109
系统引导程序Boot,包括3个文件bootsect.s,head.s,setup.sBootsect.s过程(引导扇区)1.将自身从地址0x7c00移动到0x90000,共512字节,然后跳转到地址0x90000执行2.读取位于磁盘第二个到第四个扇区的Setup.s,并加载到0x90200地址3.获...
分类:
系统相关 时间:
2015-07-07 21:00:30
阅读次数:
233
Setup.s的过程1.利用Rombios中断读取系统硬件信息并存储到0x90000位置即原来bootsect.s的位置2.将System模块从0x10000位置移到0x00000处3.加载IDTR和GDTR4.开启A20地址线5.重新设置8259A的中断向量,将0x00~0x0f设置成0x20~0...
分类:
系统相关 时间:
2015-07-07 21:00:08
阅读次数:
252