【问题标题】:What does "int 21h" mean in Assembly?汇编中的“int 21h”是什么意思?
【发布时间】:2011-09-11 17:31:13
【问题描述】:

我是学习汇编语言的新手,我想知道命令 int 21h 是什么意思。例如:

 mov ah,01h
 int 21h

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

【问题讨论】:

    标签: assembly system-calls interrupt dos x86-16


    【解决方案1】:

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

    http://spike.scu.edu.au/~barry/interrupts.html

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-18
          • 1970-01-01
          • 1970-01-01
          • 2016-06-18
          • 2011-06-12
          • 1970-01-01
          相关资源
          最近更新 更多