从Windows转到DOS下开发的一些心得体会
来源:互联网 发布:数据库性能测试案例 编辑:程序博客网 时间:2024/04/29 21:56
题记:我是一个从学校出来刚刚工作了几天的新人,这些是我工作这几天里的一些体会和想法,希望能对在校的学生或者是跟我一样刚出来工作的人们有一些帮助。
=================================================================================
忙了几天,今天终于有点时间来写写这几天的一些心得体会了。
我们公司是做数控系统的,所以我的工作是在DOS下做一些底层的开发。刚刚来到这公司,Team Leader 叫我先熟悉一下DJGPP这个开发工具,这是一个DOS下的GCC工具(以前学LINUX课程的时候有学过GCC,但那时对这个不感兴趣,没怎么用心学,早就忘光了),有一个集成开发环境(rhide),听说跟BC差不多(不好意思,我只用过TC,没用过BC)。跟TC、BC那些最不一样的地方是,它提供了一个DOS下的32位保护模式(DPMI)。
刚刚接触GJGPP,最大的难题是市面上根本没有这方面的书,所有的资料都只能来源于网上,而且绝大部分都是英文的资料。熟悉了一下开发环境后,带我的那个老员工让我先写一个DOS下的中断程序给他看看。我以前没有写中断程序的经验,写这个程序可花了我不少的时间。
“中断”这个概念,如果从理解的角度来看,书上的定义是很好理解的,但从开发者的角度来看就很不一样了。看了N多资料后,终于才对“中断”有了些理解了。原来所谓的DOS下的“中断”其实就是我们在 Windows 中所说的“事件”和消息。当我们的某个操作或者是程序的某一条指令产生了一个中断后,CPU 就会停下当前的工作来处理这个中断。就像在Windows中发生了一个事件而产生了一条消息,系统就会来处理这条消息一样(当然,这都涉及到优先级的问题,具体还要看操作系统)。
在DOS下的中断有软件中断和硬件中断之分。软件中断是由我们的程序或者是操作系统发出的,而硬件的中断则是由硬件的状态改变产生的。我们的程序可以使用“系统调用中断”来调用系统的各项功能(这就像我们在 Windows 中使用 API 函数一样),我们也可以通过改写中断处理函数来实现我们想要的操作(这就像我们在 Windows 里写消息处理函数一样)。
下面我列了一下我这几天所写过的一些程序,在校的学生或都其它有兴趣的人都可以试写一写,如是你以后是做底层开发的话,相信这些对你是很有帮助的!
1、写一个DOS的中断程序。(理解一下中断的概念)
2、改写INT 1CH(时钟中断)的中断处理函数。(学会改写中断处理函数)
3、修改时钟中断发生的时间(默认是55ms)。(学会操作底层硬件)
4、在保模式中直接访问内存。(学习保护模式下的内存操作方式)
这些程序需要你对硬件或者是数据在内存中的存放方式有一定的了解才可以实现,在网上可以找到很多这方面的资料,希望有志在这方面学习和发展的朋友不要被学习中所遇到的困难吓倒,希望中国的IT业会有更好的发展!
- 从Windows转到DOS下开发的一些心得体会
- windows下的一些dos技巧
- windows下一些常用的dos命令
- 关于windows句柄机制的一些心得体会
- 开发一个软件平台的一些心得体会
- Windows下Dos的cd等一些指令
- Windows环境下的一些常用dos命令
- Windows下将硬盘分区格式从FAT32转到NTFS
- 小结一下ubuntu下用Elicpse开发android的几个BUG和一些心得体会
- Ubuntu下eclipse开发hadoop应用程序环境配置的一些心得体会,与君共勉
- 从VC6.0转到vs2008的一些问题
- 从VC6.0转到vs2008的一些问题
- 从Windows转到Linux/Unix
- DOS下转到D盘根目录
- java的一些心得体会!
- Maven 的一些心得体会
- windows下的dos 命令
- Windows下的dos命令
- J2ME程序优化方法二十条
- J2ME设备的实际性能
- J2ME开发笔记-键盘响应
- 使用J2ME技术实现简单的动画(附代码实现)
- 此篇写给城里普通收入的年轻人
- 从Windows转到DOS下开发的一些心得体会
- 如何使用J2ME中的线程
- 手机与Servlet的网络通信技巧 (申请积分)
- KMP字符串模式匹配详解
- J2ME中随机数字处理全攻略
- 一些j2me的资料zt
- J2ME编程之Nokia 7210配置篇 (zt)
- 天之痕
- 感恩节和感恩节的由来!