<自己动手写操作系统>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之类,目的就在于中断调用
posted @ 2011-03-30 16:31  西就东城  阅读(255)  评论(0编辑  收藏  举报