MS-DOS INT 21h 功能调用详解
1. 引言
在早期的计算机编程中,MS - DOS 提供了一系列方便的功能调用接口,通过 INT 21h 中断来实现。这些功能涵盖了输入输出、日期时间获取与设置等多个方面,极大地简化了程序员的开发工作。下面我们来详细了解这些功能。
2. INT 21h 基础
INT 21h 中断支持大约 90 种不同的功能,通过将功能号存入 AH 寄存器来选择具体的功能。例如,最早用 Intel 汇编语言写的一个程序,仅用三条指令就在屏幕上显示了一个“*”:
mov ah, 2 mov dl, '*' int 21h对于一些需要传递 32 位输入参数地址的功能,要将其存储在 DS:DX 寄存器中。若 DS 未指向程序的数据区,可使用 SEG 运算符来设置,示例代码如下:
.data inBuffer BYTE 80 DUP(?) .code mov ax, SEG inBuffer mov ds, ax mov dx, OFFSET inBuffer3. 进程终止功能(INT 21h Function 4Ch)
INT 21h Function 4Ch 用于终止当前程序(进程)。在实地址模式程序中,常使用 Irvine16 库中的 exit 宏,其定义如下:
exit TEXTEQU <.EXIT>