汇编中“int 21h”是什么意思?

问题描述 投票:0回答:3

我是学习汇编语言的新手,我想知道命令

int 21h
是什么意思。例如:

 mov ah,01h
 int 21h

它应该从用户那里读取密钥。

assembly system-calls interrupt dos x86-16
3个回答
41
投票

int 21h
表示调用中断处理程序0x21,即DOS功能调度程序。 “mov ah,01h”将 AH 设置为 0x01,这是中断中带有 Echo 处理程序的键盘输入。参见:

https://mrszeto.net/CIT/interrupts.htm


9
投票

INT 21H 将产生软件中断 0x21(十进制 33),导致中断表中第 34 个向量指向的函数被执行,这通常是 MS-DOS API 调用。


0
投票

这仅仅意味着您正在使用中断类型 21 的函数 01h... 其中01h正如你所说是从标准输入读取字符,带有echo,结果存储在AL中。 如果键盘缓冲区中没有字符,该函数将等待直到按下任意键。 它属于各种中断表的 21h 类型,因此代码行就像您提到的那样。

© www.soinside.com 2019 - 2024. All rights reserved.