汇编dos中断的前五个

发布网友 发布时间:2022-04-23 21:43

我来回答

3个回答

热心网友 时间:2023-10-10 18:44

中断向量表*保存256个中断地址,中断号:00H~0FFH。其中,00H~1FH中断是bios定义的,从20H~0FFH是ms-dos定义的,称为dos中断,共224个。这些中断项,类型各异,有些项指向数据结构,有些项存有CPU操作码,有些项已废弃不用,有些项未在文档中加以任何说明,等等。

dos中断的前五个是:

1、int 20h 程序终止
本中断只适用于ms-dos,建议不要使用int 20h终止程序,应当利用dos功能调用4ch来适当地终止程序。
本中断入口参数:CS=程序PSP的段地址
返回:无

2、int 21h dos功能调用
含有近100个功能,提供了应用程序所需要的大多数服务,包括打开文件、关闭文件、读文件、写文件、读键盘输入、写显示屏、读取或设置系统日期和时间,以及一大堆控制变量。

3、int 22h 终止地址
在这个向量项上存放的是一个例程地址,在当前执行的程序将控制返回给dos时,dos将转至该例程执行。在装入要执行的程序时,dos装入程序把该地址拷贝到所装入程序PSP的偏移)AH处。
需要提请注意的是,位于该地址处的例程只能由dos调用,用户千万不要直接发出该中断。另外,PSP的头两个字节是0CDH和20H,翻译成处理器指令就是int 20h。假定PSP驻留在CS段的头256字节中,将IP置成0,就将导致执行该中断,终止程序运行。

4、int 23h Ctrl+C 退出地址
中断向量表中该位置存放的是Ctrl+C错误处理程序地址,它不是一个中断处理程序,不要执行int 23h这样的指令。
作为执行大多数int 21h功能调用时dos执行的正常内务操作的一部分,dos将检测Ctrl+C标志的状态。如果Ctrl+C标志值为1,则dos将执行位于该地址处的例程。应用程序设计人员经常根据应用的需要创建自己的Ctrl+C处理程序。

5、int 24h 危急错误处理程序地址
只要检测到一个不可恢复的I/O错误,dos就将产生该中断。在缺省条件下,将显示"Abort,Retry,Ignore?"消息。

热心网友 时间:2023-10-10 18:45

请楼主过去一看!
中断大全:
INT 20H —终止程序运行
INT 22H —终止处理程序的地址
INT 23H —Ctrl+C处理程序
INT 24H —致命错误处理程序
INT 25H —读磁盘扇区(忽略逻辑结构)
INT 26H —写磁盘扇区(忽略逻辑结构)
INT 27H —终止,并驻留在内存
INT 28H —DOS空闲
INT 2FH —多重中断服务

BIOS中断:
INT 00H —“0”作除数
INT 01H —单步中断
INT 02H —非屏蔽中断(NMI)
INT 03H —断点中断
INT 04H —算术溢出错误
INT 05H —打印屏幕和BOUND越界
INT 06H —非法指令错误
INT 07H —处理器扩展无效
INT 08H —时钟中断
INT 09H —键盘输入

参考资料:http://www.ctyme.com/intr/int.htm

热心网友 时间:2023-10-10 18:45

汇编dos中断类型号为21H,功能号用AH表示,前五个为:
AH=00,功能为程序终止;
AH=01,功能为键盘输入并回显,输入字符ASCII码存AL中;
AH=02,功能为显示输出由DL指定的字符;
AH=03,功能为辅助设备输入;
AH=04,功能为辅助设备输出由DL指定的字符。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com