【发布时间】:2011-09-11 17:31:13
【问题描述】:
我是学习汇编语言的新手,我想知道命令 int 21h 是什么意思。例如:
mov ah,01h
int 21h
应该从用户那里读取密钥。
【问题讨论】:
标签: assembly system-calls interrupt dos x86-16
我是学习汇编语言的新手,我想知道命令 int 21h 是什么意思。例如:
mov ah,01h
int 21h
应该从用户那里读取密钥。
【问题讨论】:
标签: assembly system-calls interrupt dos x86-16
int 21h 表示,调用中断处理程序 0x21,它是 DOS 函数调度程序。 “mov ah,01h”将 AH 设置为 0x01,这是中断中带有 Echo 处理程序的键盘输入。见:
【讨论】:
INT 21H 会产生软件中断 0x21(十进制的 33),导致中断表中第 34 个向量指向的函数被执行,这通常是一个 MS-DOS API 调用。
【讨论】:
这仅仅意味着您正在使用中断类型 21 的函数 01h... 如您所说,其中 01h 是从标准输入中读取字符,使用回显,结果存储在 AL 中。 如果键盘缓冲区中没有字符,该函数将一直等待,直到按下任何键。 它属于各种中断表的类型 21h,因此代码行就像您提到的那样。
【讨论】: