- 博客(28)
- 资源 (17)
- 收藏
- 关注
转载 dm9000
目录1总体介绍2特点3引脚描述1总体介绍DM9000是一款完全集成的和符合成本效益的,单芯片快速以太网MAC控制器。它有一个一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容,DM9000还提供了介质无关的接口,来连接所有提供支持介
2014-01-07 21:55:43
1281
转载 保护模式下8259A芯片编程及中断处理探究(下)【4】
这里我们需要了解这样一个问题。中断服务程序是由CPU直接调用的,随后,它使用iret指令返回,而不像一般的c/c++函数由ret返回。c/c++的编译器在处理c/c++语言的函数的时候,会在这个函数的开头与结尾加上很多栈操作,以支持程序调用,比如上边的代码就有可能被c/c++编译器处理成如下形式:(其中绿色为编译器自行加上的代码)pushapushad/* do somet
2013-04-25 15:10:39
826
转载 保护模式下8259A芯片编程及中断处理探究(下)【3】
3.3 初始化 pyos 的中断向量表从中断初始化的代码中我们可以清楚的看见,pyos在进行完8259A的初始化后,调用InitInterruptTable()对中断向量表进行了初始化,这可是本篇的核心内容,我们这就来看看这个核心函数:/* 中断描述符结构 */struct struct_pyos_InterruptItem{ unsigned short Off
2013-04-25 15:09:28
719
转载 保护模式下8259A芯片编程及中断处理探究(下)【2】
3.2 pyos 的系统初始化下面,我们来看看 pyos 的系统初始化函数:#include "interrupt.h"/* 系统初始化 */void class_pyos_System::Init() { /* 初始化Gdt表 */ InitGdt() ; /* 初始化段寄存器 */ InitSegRegister(
2013-04-25 15:08:10
620
转载 保护模式下8259A芯片编程及中断处理探究(下)【1】
保护模式下8259A芯片编程及中断处理探究(下)Version 0.02哈尔滨工业大学 并行计算实验室 谢煜波简介在上篇中,我们详细讲述了保护模式下中断处理的基本原理以及对可编程中断控制器8259A的编程方法。如果说上一篇更偏重于原理及特定的硬件编程方法,那么本篇就会偏软一点,将详细描述怎样编写操作系统中的中断处理程序,并将通过pyos进行验证。在此篇中,你
2013-04-25 15:06:53
652
转载 保护模式下8259A芯片编程及中断处理探究(上)【3】
三、8259A的内部中断处理流程下面我们就来从一个系统程序员(System Programmer)的角度看看8259A的内部结构。(图3)首先,一个外部中断请求信号通过中断请求线IRQ,传输到IMR(中断屏蔽寄存器),IMR根据所设定的中断屏蔽字(OCW1),决定是将其丢弃还是接受。如果可以接受,则8259A将IRR(中断请求暂存寄存器)中代表此IRQ的位置位,
2013-04-25 15:02:19
877
转载 保护模式下8259A芯片编程及中断处理探究(上)【2】
三、8259A的编程8259A常常称之为PIC(可编程中断控制器),因此,在使用的时候我们必须通过编程对它进行初始化,需要完成的工作是指定主片与从片怎样相连,怎样工作,怎样分配中断号。在实模式下,也就是计算机加电或重启时,这是由BIOS自动完成的,然而当转到保护模式下后,我们却不得不对它进行编程重新设定,这都是由该死的IBM与Intel为维护兼容性而搞出来的麻烦:(。在BIOS初始
2013-04-25 15:00:05
799
转载 保护模式下 8259A芯片编程及中断处理探究(上)【1】
保护模式下8259A芯片编程及中断处理探究(上)Version 0.02哈尔滨工业大学 并行计算实验室 谢煜波[1]简介中断处理是操作系统必须完成的任务,在IBM PC中,常用一块中断控制芯片(PIC)——8259A来辅助CPU完成中断管理。在实模式下,中断控制芯片(PIC)8259A的初始化是由BIOS自动完成的,然而在保护模式下却需要我们自行编程初始化。
2013-04-25 14:56:48
905
转载 Linux网络编程入门
<br />(一)Linux网络编程--网络知识介绍<br /><br />Linux网络编程--网络知识介绍<br />客户端和服务端<br /> 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. <br /><br />客户端<br /> 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。比如我们使用ftp程序从另外一<br /> 个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获
2010-07-18 21:49:00
315
转载 Linux网络编程入门
<br />(一)Linux网络编程--网络知识介绍<br /><br />Linux网络编程--网络知识介绍<br />客户端和服务端<br /> 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. <br /><br />客户端<br /> 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。比如我们使用ftp程序从另外一<br /> 个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获
2010-07-18 21:47:00
392
转载 没有硬件调试器,我们用Bochs调试NTLDR
对一台安装了Windows NT 系列操作系统的PC来说,按下电源开关之后,CPU中首先开始运行的是Bios,然后是MBR,接着是引导扇,然后就是NTLDR。ntoskrnl.exe和hal.dll 都是由NTLDR来加载的。也就是说,运行NTLDR的时候,系统中还没有任何应用程序或者驱动,当然也就没有任WWW.FENGFLY.COM WWW.FENGFLY.COM http://www.feng
2010-04-27 12:50:00
726
转载 自己动手写操作系统(二)
自己动手写操作系统(二) 作者:伊梅 来源:开放系统世界——赛迪网 发布时间:2002.11.01【Java专区】 【网络安全】 【网管专区】 【linux专区】 【数据库专区】 【进入论坛】 【IT博客】 上一期,我讲述了如何在软盘的启动扇区写一些代码,然后再从软盘启动的过程。制作好一
2010-03-24 21:40:00
498
转载 自己动手写操作系统(三)
自己动手写操作系统(三) 作者:伊梅 来源:开放系统世界——赛迪网 发布时间:2002.12.04【Java专区】 【网络安全】 【网管专区】 【linux专区】 【进入论坛】 【IT博客】 在上两期中(自己动手写操作系统1,2),我向大家讲述了如何使用Linux提供的开发工具
2010-03-22 23:14:00
502
转载 自己动手写操作系统(一)
自己动手写操作系统(一) 作者:伊梅 来源:开放系统世界——赛迪网 发布时间:2002.10.10【Java专区】 【网络安全】 【网管专区】 【linux专区】 【数据库专区】 【进入论坛】 【IT博客】 自由软件社区是一个充满自由和梦想的地方,在10余年的时间里它创造了一个又一个奇迹
2010-03-22 22:24:00
647
1
原创 第一章 推荐工具
第一章 推荐工具1、BOCHS 我推荐的是2.3版本的,因为2.4版的dump_cpu命令好象不能用,我这个操作系统是在BOCHS2.3版通过测试的。很多人会说VIRTULPC不错,但我告诉你,它是不能调试的。2、MASM6.11 为什么不用C/C++/GCC? MASM源代码网上比较多,学习起来较容易,我使用的就是它,当然你也可以用别的汇编软件。 C/C++中很多
2010-03-18 22:45:00
436
转载 BMP文件格式分析
简介BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windo
2010-02-20 15:57:00
477
转载 将RGB颜色转换成16bit颜色
我在做16bit alpha blending的时候需要判断颜色键(ColorKey),而在我的游戏引擎中,ColorKey是用Windows RGB颜色表示的,这就需要将RGB颜色转换成16bit颜色,下面是我的做法。 RGB颜色是一个DWORD值,32bit,格式为0x00rrggbb,通过三个宏:GetRValue、GetGValue和GetBValue可以得到三个颜色分量,用8bitB
2010-02-20 15:55:00
751
原创 我对中国软件业的看法
重申,我只是个编程爱好者,以下仅代表个人观点,欢迎交流,如果你不赞同,请拿出事实依据,不要无的放矢。有些爱国者,看了我的观点会认为很偏激,我也同样热爱我的国家,在我们爱她的同时,我们更要奋起直追,弥补自身的不足。LINUX我也只是了解一点,观点有局限性。 当你使用WPSOFFICE,玩《天下》网络游戏,用瑞星软件杀毒的时候,一定认为中国的软件业还是很不错的。如果把美国的软件业比作是一个现代的
2010-01-29 12:30:00
562
原创 我的编程经历
首先申明,我只是个编程爱好者,以下仅代表个人观点,欢迎交流,如果你不赞同,请拿出事实依据,不要无的放矢。 和许多编程爱好者一样,我是从VB、VC、C、C++学起的。当我第一次用VB、VC的时候,确实上手很快,华丽的图形界面,让我很有成就感。但很快我就意识到,这种编程是以大量调用WINAPI为基础的,严格的说,我觉得这只能算是WINAPI的调用。 我在网上浏览了很多资料,知道VB、VC是用C
2010-01-29 12:29:00
655
1
转载 NASM 纯汇编打造简单中文操作系统(5)
五、interrupt.inc 初始化中断控制器[BITS 32][ORG 0x0];JMP DWORD main%macro WritePort 2 MOV DX,%1 MOV AL,%2 OUT DX,AL%endmacro%macro ReadPort 1 MOV DX,%1 IN AL,DX%endmacroIDT_TABLE: ;IDT_STRUCT_ADDR: equ $-IDT_
2010-01-29 12:11:00
995
转载 NASM 纯汇编打造简单中文操作系统(4)
四、mouse.inc 鼠标驱动部分(设置鼠标中断,建立中断处理程序)[BITS 32][ORG 0x0];鼠标中断处理程序INT_MOUSE: PUSHAD PUSHF;刷新鼠标所在区域 ReadPort 0x60 MOV AH,0 CMP [DS:SYSVAR+0x10],BYTE 0 JZ c0 CMP [DS:SYSVAR+0x10],BYTE 1 JZ c1 CMP [DS:
2010-01-29 12:10:00
679
转载 NASM 纯汇编打造简单中文操作系统(3)
三、kernel.asm 内核(实现汉字的显示,鼠标的支持等)[BITS 32][ORG 0x0000]jmp main;-------------------------------------------------------------------------------------------------------- ;数据区;-------------------------
2010-01-29 12:09:00
1052
转载 NASM 纯汇编打造简单中文操作系统(2)
二、init.asm初始化操作系统内存。进入32位保护模式[BITS 16][ORG 0x0]JMP main;-----------------------------------------------------------;操作系统内存结构;0x0-0x3FFF ;堆栈16kb;0x4000-0x40ff ;鼠标指针数据256byte;0x4100-0x90ff ;图像缓冲区20kb;
2010-01-29 12:07:00
1131
转载 NASM 纯汇编打造简单中文操作系统(1)
一、boot.asm 操作系统的开始--引导程序[BITS 16][ORG 0x7c00]jmp main ;跳过数据定义部分执行代码,否则会执行定义的数据;-------------------------------------------------------------------------------------------------------- ;引导数据区;-------
2010-01-29 12:06:00
1656
转载 大硬盘常用端口
1F3H LBA块地址0~7位 1F4H LBA块地址8~15位 1F5H LBA块地址16~23位 1F6H 0-3位: LBA块地址24~27位 第4位: 驱动器 0 = 主盘 1 = 从盘 第5位 寻址方式 0 = CHS 1 = LBA 这样28位LBA地址可以
2010-01-27 19:18:00
884
转载 硬盘进行操作的常用端口
对硬盘进行操作的常用端口是1f0h~1f7h号端口,各端口含义如下: 端口号 读还是写 具体含义 1F0H 读/写 用来传送读/写的数据(其内容是正在传输的一个字节的数据) 1F1H 读 用来读取错误码 1F2H
2010-01-27 19:16:00
1933
转载 在dos下汉字与英文显示小结
以前很少接触到dos, 由于工作的关系,我不得不在dos下写一些字符显示之类的程序。有些东西只有自己经历过了,才有点感触。我觉得我自己到现在以来很不自信,特别对自己的记忆力有十二分的不自信。很多东西看过了,以为就知道了。到了用得到的时候,才知道,原来自己还是一巧不通。 今天我想把过去写的汉字显示程序及英文程序记录下来,以便将来查阅。汉字显示原理:本程序主要是查汉字库HZK16,
2010-01-07 00:21:00
592
转载 点阵字库结构以及点阵字显示的实现原理
点阵字库结构以及点阵字显示的实现原理 在 DOS 下作游戏要实现汉字或英文的输出,一般都是使用的点阵字库技术。这样可以使程序有更好的兼容性。那么我们如何在程序中使用点阵字库呢,这片文档将会讲解这个。 先讲讲什么是点阵字库,我首先需要理解的是点阵字库是一个数据文件,在这个数据文件里面保存了所有文字的点阵数据。至于什么是点阵,我想我不讲大家都知道的,使用过“文曲星”之类的电子辞
2010-01-06 23:56:00
1558
40款你没见过的图形操作系统
2013-04-22
win32汇编语言程序设计(罗云彬)
2010-02-10
潜龙操作系统kylong0.01
2010-03-11
微型计算机原理与接口技术(第三版)
2013-04-23
保护模式教程
2013-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅