<自己动手写操作系统>2011033002

【分析】

部分代码
    xor    ah, ah  ; ┓

    xor    dl, dl    ; ┣ 软驱复位

    int    13h      ; ┛

这里涉及到 中断13H,AH=0H的功能描述

(1)、功能00H
功能描述:磁盘系统复位
入口参数:AH=00H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明

关于int 13H的具体,参考http://blog.sina.com.cn/s/blog_5028978101008wk2.html

补充一个int指令描述
int指令

格式:int n

n为中断类型码,它的功能是引发中断过程。
 

CPU执行int n指令,相当于引发一个n号中断的中断过程,执行过程如下:

1)取中断类型码n;

2)标志寄存器入栈,IF=0,TF=0;

3)CS、IP入栈

4)(IP)=(n*4),(CS)=(n*4+2)

从此处转去执行n号中断的中断处理程序。

可以在程序中使用int指令调用任何一个中断的中断处理程序。

另外int中断中有Bios中断和Dos中断,现在暂时提供一个Bios中断功能的说明
参看:http://blog.csdn.net/liguodong86/archive/2009/03/09/3973337.aspx

关于Bios和dos中断调用:
1、将调用参数写入特定寄存器
2、BIOS或DOS功能号写入AH
3、如需子功能号,把它装入AL
4、按中断号调用DOS或BIOS中断(INT)
5、检查或取出返回参数

看到这个中断调用的过程,你就会发现以前看到什么mov ax,xxx之类的,int xx之类,目的就在于中断调用

转载于:https://www.cnblogs.com/GoGoagg/archive/2011/03/30/2000050.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 自己动手操作系统的过程涉及很多技术和步骤。首先,需要掌握计算机体系结构和操作系统的基本原理,在这个基础上才能开始操作系统。 在编操作系统之前,需要明确操作系统的目标和功能,例如是否要支持多任务、内存管理和文件系统等。然后,可以选择合适的开发工具和语言,如C或汇编语言。 接下来,需要从头开始构建一个最小的内核。这包括创建启动程序、引导扇区、中断向量表和初始化CPU等。然后,编计划和调度算法,为进程分配CPU时间。 在内核开发的过程中,还需要实现内存管理机制。这包括页表、虚拟内存和地址转换等。此外,还需要为操作系统驱动程序,以实现对硬件设备的控制和访问。 另外,还需要实现文件系统和输入输出机制,以便用户可以使用文件和设备。这可能涉及到磁盘管理、文件分配表和文件读等。 在开发整个操作系统的过程中,还需要进行不断的调试和测试。这包括使用调试工具来跟踪错误和查找性能瓶颈。 总之,自己动手操作系统是一项复杂而庞大的任务,需要丰富的知识和技术。这需要花费大量的时间和精力,但也是一个非常值得的学习和挑战的过程。最重要的是要保持耐心和坚持,一步步地完成每个阶段的任务,并且不断改进和优化。 ### 回答2: 自己动手操作系统 PDF需要一定的计算机和编程知识以及相关工具和资源,以下是一个简要的步骤: 1. 学习计算机基础知识:了解操作系统的基本概念、原理和功能,学习计算机体系结构、进程管理、内存管理、文件系统等相关知识。 2. 选择编程语言:选择一门适合操作系统开发的编程语言,例如C语言或汇编语言,掌握其基本语法和用法。 3. 设计系统结构:根据自己的需求和理解,设计操作系统的结构,包括进程管理、内存管理、文件系统等模块的组织和交互方式。 4. 编操作系统代码:根据设计的系统结构,编相应的操作系统代码,实现各个模块的功能。这可能涉及到多线程编程、内存分配、文件IO等。 5. 进行测试和调试:对编完成的操作系统进行测试和调试,确保各个功能模块的正确性和稳定性。 6. 创建PDF文档:使用文本编辑器或专业的排版工具,将操作系统的代码和说明文档整理成PDF文档。确保文档中包含必要的代码注释和解释,方便其他人阅读和理解。 需要注意的是,编操作系统是一项复杂和庞大的任务,需要大量的时间和努力,特别是对于初学者而言。初学者可以从一些简单的实验开始,逐步学习和实践,逐渐提高自己的编程和操作系统开发能力。同时,也可以参考一些优秀的操作系统设计和实现的教程或书籍,如《操作系统设计与实现》等,获得更多的指导和帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值