这几天在看《自己动手写操作系统》,几年前曾经接触过这本书,由于工作及其它原因,并没有静下心学习,最近时间还算允许,也想尝试一下,自己的汇编水平也不怎么样,还好书中例程由浅入深,解决前两个例程还算顺利,只是觉得所用到的工具并不应手,书内源码提供了一个将BIN写入IMG的MFC程序FloppyWriter,在原基础上小改了一下,可以支持一次打开多次写入,以及可设置写入IMG的起始位置。有需要的朋友可以一起分享。

下面把之前遇到了两点问题,汇总一下。
1.书中提到可将程序编译为COM程序,入口地址变更一下就OK,在实模式程序没有问题,但进行保护模式就不好用了。表现为:
    a.如果是XP CMD下自动退出;
    b.如果是MS-DOS(我安装在虚拟机上),100%死机,要求重启;
    解决办法是安装FreeDos系统,运行调试正常,这样就舒服很多了,呵呵;

2.关于调试工具,在网上没有找到合适的,WINDOWS自带的DEBUG在调试过常显示 "DB 66"指令,搞的很晕,在网上搜索原因,才发现应该是由于32位指令问题,DEBUG无法正常调试。书中推荐调试工具(turbo debugger),用过之后觉得挺好,在此也再次推荐。

开始学习《自己动手写操作系统》遇到的小问题.相关推荐

  1. 《自己动手写操作系统》读书笔记——初识保护模式

    <自己动手写操作系统>读书笔记--初识保护模式 http://www.cnblogs.com/pang123hui/archive/2010/11/27/2309930.html 书本第三 ...

  2. 磨刀不误砍柴工 —— 自己动手写操作系统 入门导引

    磨刀不误砍柴工 刺猬@http://blog.csdn.net/littlehedgehog <自己动手写操作系统>其实阅读所需要的前提不过只是C和汇编了,里面涉及到很多操作系统的东西.于 ...

  3. 磨刀不误砍柴工 ——《自己动手写操作系统》入门导引

    磨刀不误砍柴工 刺猬@http://blog.csdn.net/littlehedgehog <自己动手写操作系统>其实阅读所需要的前提不过只是C和汇编了,里面涉及到很多操作系统的东西.于 ...

  4. 自己动手写操作系统--个人实践

    近期開始看于渊的<自己动手写操作系统>这本书,刚開始看就发现做系统的引导盘居然是软盘!心里那个汗啊! 如今都是U盘了,谁还用软盘.于是考虑用U盘. 于是開始下面步骤: 1.既然书上说给先要 ...

  5. 「操作系统」《自己动手写操作系统》1.1前期准备工作

    一.软硬件 1.硬件 一台计算机(笔者使用的是Win7 x64操作系统) 2.软件 点击此处下载<自己动手写操作系统>的光盘配套文件以及相应工具 汇编编译器:NASM(资源文件中有) 软盘 ...

  6. 自己动手写java虚拟机_自己动手写操作系统(要了解的知识点)

    自己动手写操作系统(开篇) 自己动手写操作系统(字符显示) 说明:Intel 8086 或者不同的处理器,开机寄存器数据可能不一样,但是大致原理差不多 了解过计算机启动的同学肯定知道,当计算机启动的时 ...

  7. 全面剖析《自己动手写操作系统》第四章---加载Loader.bin

    全面剖析<自己动手写操作系统>第四章--FAT12文件系统    http://blog.csdn.net/zgh1988/article/details/7284834 1.突破512字 ...

  8. 自己动手写操作系统0

    文章目录 自己动手写操作系统0 环境搭建 NASM VirtualBox 添加软盘启动 VMware 开启虚拟机 其他软件 Floppy 自己动手写操作系统0 参考余渊老师写的<自己动手写操作系 ...

  9. 自己动手写操作系统之环境构建篇

    自己动手写操作系统之环境构建篇 最近开始看自己动手写操作系统,但是书中采用软盘启动很是郁闷,于是想是否可以从优盘启动呢?作为一名BIOS工程师,曾经用优盘启动过dos,linux等系统,于是做了如下尝 ...

  10. 自己动手写操作系统——(1)将引导写入U盘

    为什么写博客呢,想了一下,首先是为了给自己留着复习用,因为时间一长,肯定有好多东西会忘记的,在这里留个记录,以后再整理起来就不会太麻烦了:再者是为了分享一下经验,由于在下比较愚笨,说不定在哪个方面就理 ...

最新文章

  1. 六、线程的实现方式---多线程模型
  2. python勾股定理_Python学习第128课——在Python中实现醉汉随机游走
  3. Nginx的启动和停止
  4. update关联其他表批量更新数据
  5. linux 看不到mysql_linux的mysql下看不到mysql上的其他数据库只能看见 information_schema这一个数据库...
  6. linux 下 c++ 实现 netstat_Linux下基于签名技术的软件保护之实现流程
  7. 【安卓笔记】—— 感知生命周期 Lifecycles
  8. JMeter分布式负载测试(吞吐量控制器)
  9. opencv 学习第4课 将鼠标作为笔刷使用
  10. 汇编3-返回以及优化
  11. Tushare财经数据调取方法(行情数据)
  12. android 解决ScrollView中的子布局不能够填充整个ScrollView
  13. nginx实现ip138查询当前ip功能,配置文件实现接口
  14. iOS中 断点下载详解 韩俊强的博客
  15. 2021-02-22
  16. ml-agents_使用ML-Agents的自玩功能来训练智能对手
  17. 以下关于android应用程序的目录结构,以下关于Android应用程序的目录结构描述中,错误的是哪个()...
  18. 祝贺!2022 Rust中文社区线上Hackathon评审结果出炉!
  19. UESTC 1546 Bracket Sequence
  20. Project 2010 概述

热门文章

  1. 教你怎么学JAVA+Java入门项目(可以收藏)
  2. 天联无法ping通服务器地址_金万维天联标准版无法连接,怎么办?
  3. 如何成功安装旧版本火狐,成功安装firebug和firepath插件
  4. 基于置信加权池的全卷积保证颜色恒常性
  5. HFSS - 圆极化矩形微带天线设计与仿真
  6. 通过conda或者pip安装包时出现There was a problem confirming the ssl certificate报错
  7. php怎么改成npk,【原创】 npk 文件解包工具+源代码
  8. android开源库汇总
  9. 手把手教你安装华为网络模拟器及设备注册
  10. 音视频常见播放器框架分析