1

每当我们使用汇编语言从用户那里获得输入时,数字/字母的 ASCII 码就会存储在寄存器“AL”中。同样,我想知道我是否按 'Ctrl+C' 、 'Ctrl+V' 或 'Ctrl+X' 等系统执行了哪些操作,即,

  • 扫码是如何存储的?
  • 程序是什么?
  • 系统正在使用哪些寄存器?

主要是我的重点是了解硬件对上述指令执行的内部操作。

4

2 回答 2

1

广义而言,此功能由 BIOS 中的键盘例程定义。 本文档虽然侧重于 MS-DOS,但对低级 BIOS 键盘例程提供了相当好的解释。在此处描述的标准 PC BIOS 中,您通常需要解释包含击键扫描代码的 AH 寄存器的值。例如,在标准的美国 PC-AT 键盘上,左键向下扫描码Ctrl0x1D.

于 2011-12-23T19:02:23.480 回答
0

通常,操作系统要么使用 BIOS,要么直接捕获键盘中断并从键盘中提取 make/break 代码(假设键盘处于 make/break 模式,通常是这样,但不一定是这样)。

于 2011-12-23T20:48:30.547 回答