- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 BIOS关于获取内存信息的调用
OS开机获取当前计算机的内存信息是一件很重要的事情,因为分页机制要用到它。来看看Linux是怎么做的吧 。读了0.11内核的人应该注意到了,linus使用int 0x15 ah = 0x88中断调用获取扩展内存的大小,代码极其简洁: mov ah, 0x88int 0x15mov [2], ax 这个方法真得很简单,而且不用担心BIOS不支持(该调用从28
2006-12-28 14:08:00 5918 1
原创 想说说实模式的内存地址映射的问题
最近时间紧了,工作忙了,进度也降下来了……无奈 大学时期没有多做点事情真是遗憾闲话不说,进入正题。昨天用 nasm重写linux0.11的bootsect.s,又有了一些新的体会。看过赵博的书的人都知道,bootsect.s在BIOS加电后被载入0x07c00这个地方,然后它把自己复制到0x90000,把setup.s复制到0x90200(紧挨着0x90000的bootsect.s),同时
2006-12-27 19:57:00 4330 2
原创 用来生成二进制内核的Makefile样例
弄出了下面这个Makefile,在偶的Linux试了一切正常:Makefile AS = nasm # 使用nasm作为汇编器. -s 打印错误信息到标准输出.LD = ld # GNU的gld作为连接器.CC = gcc
2006-12-26 20:44:00 3136 1
原创 我的实验环境
做OS嘛,实验环境很重要这我也明白,但是我懒。相信勤快的人一定比我做得更好(向于前辈学习!!)。不过懒人也有懒招,我不会老老实实的跟着于前辈用DOS引导,用TD,自己写FAT12这种掉了牙的文件系统,以及自己剖析ELF目标文件(当然这个功夫还是要有,不然自己的OS怎么跑可执行文件阿)等等。 废话不多说,首先是WINDOWS下,偶(公司)的XP SP2中文(家里的索日文SP1 XD),“
2006-12-25 23:03:00 1794
原创 关于NASM
NASM可真是个好东西。俺以前特别菜的时候用过masm,主要是研究C语言参数调用协议的(ASM和C混合编程相关),什么高级用法都不会。不过masm的语法也够繁琐,不合胃口。传说中的gas我真的没用过 ,看了赵博的书上成篇的gas代码我就头痛,AT&T的汇编格式真的很别扭。首先源操作数和目的操作数和Intel汇编相反,这和我们通常的编程习惯相反。我举个例子,strcpy()函数,该函数第
2006-12-25 21:51:00 7020
原创 决定开始写blog了= =
今儿个圣诞节,不过和我没关系。最近翻了翻于渊前辈写的 《自己动手写操作系统》,感受颇深。一切都在于偶然。记得一年前,我还在为混得一张学位证而疲于奔命。那时候偶然撞见一本书,很有名的,赵炯博士写的《Linux内核完全注释》。当时兴冲冲的看了几天,发现基本看不懂= =。当时甚至不知道自己为什么看不懂,就是搞不清楚什么地方看不明白。现在回想起来那大概真是全都看不明白。。。Minix那
2006-12-25 21:19:00 1231 1
bin2s19源代码
2009-12-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人