
汇编语言/操作系统 专题
文章平均质量分 63
kakashir
长于OS底层研究(NT架构),C/C /x86汇编,欢迎朋友们一起探讨,一起努力!
展开
-
Win32和汇编接口问题
来说下win32和汇编的接口问题吧。Win32程序是以WinMain()开始的,而C是以main开始的,但是Win32真的必须一定要以WinMain开始么?其实不是。之所以以WinMain开始,是因为编译器内定了WinMain作为被调函数名,然后在WinMain前面,会生成一段asm代码,去调用WinMain 从而开始整个程序。知道了原理,我们来试试。偶用的工具和平台如下:Win2000 Pref原创 2005-07-17 14:41:00 · 1201 阅读 · 0 评论 -
操作系统编写研究心得 (0.工具篇)
我想不少人在读这篇文章的时候,一定是用的M$的Windows。这没什么不好意思的,我自己也在用。那么就先来说说在m$的环境下的开发环境搭建。以Windows2000 Professonl SP4+its Rollup 为准。一共需要这么几个开发工具: MASM 6.11, djgpp 2.0 , EditPlus 2.0. NASM(可选) Bochs-2.2.1 uedit W32ds原创 2005-09-25 15:23:00 · 1246 阅读 · 0 评论 -
操作系统编写研究心得 (1.最初引导篇)
晤…… 如果你的开发工具都已经准备好了,那么我们来开始干活吧!IA-32体系下的 i386 及以后的处理器,为了同当年的8086相兼容,在系统启动的时候都是将处理器置于实模式。这个时候你可以将系统看做是 "高速的8086" 因此这决定了我们启动部分的代码,是必须用16bit代码去编写的。 IBM PC在引导的时候,是从有效引导设备的第0磁头0面1扇区开始的,BIOS读取这个扇区的所有数据,并将原创 2005-09-25 16:19:00 · 1581 阅读 · 0 评论 -
Intel x86 PC的引导(硬盘部分)(二)
接着上次的说,我们来看看MBR中的DPT的含义。DPT就是磁盘分区表,一般我们所说的分区表都是指这里。DPT中的一项是16字节,每个字节的含义如下: 0x0000字节: 引导标志符,指明该分区是否为一个活动分区,就是可引导的分区。 0x0001字节: 开始磁头数,记录了这个分区开始的磁头数。 0x0002字节: 这个字节的前6位(0-5bit)被用来记录开始扇区数,后2位(6-7bit)用原创 2005-05-31 17:14:00 · 2757 阅读 · 1 评论 -
Intel x86 PC的引导(硬盘部分)(一)
本来想写前面的引导部分的,但是最近看的最多的还是这个部分,就先写下来吧! :) 很多人可能搞不清楚到底机器是怎么引导的,感觉很神秘,其实没什么大不了,简单说,就是BIOS在POST后会调用int 19h 读取一个预先设置好的引导介质上的固定区域到一个固定地址的内存区域,(很饶口对吧 - -)。然后就执行这个内存区域里的代码,再有这部分代码,来完成后面的工作。OK,那么我们先从第一步,i原创 2005-05-31 15:42:00 · 1793 阅读 · 1 评论