BIOS和DOS中断是计算机系统中用于处理特定任务或响应外部事件的程序中断点,它们在早期的PC操作系统中扮演着关键角色。BIOS(基本输入/输出系统)是固化在计算机主板上的ROM芯片中的程序,负责硬件初始化、自检、启动加载以及提供基本的输入输出服务。而DOS(磁盘操作系统)则是一种早期的单用户、单任务操作系统,通过中断调用来执行各种系统功能。本文将深入探讨BIOS和DOS中断大全中提到的关键中断功能,特别聚焦于INT 21H。
### 中断INT 21H
#### 字符功能调用类(Character-Oriented Function)
INT 21H包含了一系列与字符输入输出相关的功能调用,这些功能主要用于文本模式下的交互式操作,是DOS系统中极其重要的组成部分。
- **功能01H、07H和08H**:这些功能用于从标准输入设备(通常是键盘)读取一个字符。功能01H会过滤掉控制字符并进行回显,功能07H不会过滤控制字符也不回显,功能08H则过滤控制字符但不回显。这些函数在等待输入时会一直阻塞,直到有字符输入为止。
- **功能02H**:用于向标准输出设备(如显示器)输出一个字符。通过DL寄存器传递待输出字符的ASCII码。
- **功能03H**:从辅助设备(默认为COM1串行端口)读取一个字符。
- **功能04H**:向辅助设备(默认为COM1串行端口)输出一个字符。
- **功能05H**:向标准输出设备输出一个字符,通常指向LPT1端口的打印机,但可以通过MODE命令改变。
- **功能06H**:实现控制台(如键盘和屏幕)的输入/输出功能,具体取决于DL寄存器的值。
- **功能09H**:用于输出一个字符串到标准输出设备上,字符串必须以'$'作为结束标记。
- **功能0AH**:从标准输入设备读取一个字节字符串,直到遇到回车键为止。输入的字符会在标准输出设备上回显。
- **功能0BH**:检查标准输入设备上是否有字符可读,返回值指示是否有字符。
- **功能0CH**:清空标准输入缓冲区,然后读取新的字符输入。
#### 目录控制功能(Directory-Control Function)
INT 21H还提供了目录控制功能,用于创建、删除和设置当前目录:
- **功能39H**:创建新目录,通过DS:DX寄存器对提供指定路径的字符串地址。
- **功能3AH**:删除指定路径的目录。
- **功能3BH**:设置当前目录至指定路径。
- **功能47H**:读取当前目录的信息。
这些中断函数为DOS提供了底层的操作能力,使得开发者能够直接控制系统的输入输出流以及文件目录结构。然而,随着现代操作系统的演进,这些低级的中断调用逐渐被更高层次的API所取代,但在理解和调试早期的计算机系统时,它们仍然是不可或缺的知识点。