zoukankan      html  css  js  c++  java
  • <自己动手写操作系统>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之类,目的就在于中断调用
  • 相关阅读:
    bootstrap媒体查询
    Qt用Zip压缩文件夹的一些坑
    QCanvasItem介绍-QT3
    C盘无损扩容
    ArcGis连接oracle失败:ORA-6413:连接未打开
    通过ArcMap发布服务
    windows系统下使用cd命令
    C语言运算符优先级
    c/c++ 指针
    c++数组易错点总结
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2000050.html
Copyright © 2011-2022 走看看