【发布时间】:2015-10-29 19:15:43
【问题描述】:
有一些例程可以通过INT 21H 和INT 16H 实现(前者用于DOS,后者用于BIOS)。但是,确切的区别尚不清楚(至少对我而言!)。
例如,以下例程从键盘读取字符
1) INT 21H,服务 01 用于使用 echo 读取
MOV AH,01
INT 21H
2) INT 16H, 按键服务 01
MOV AH,01
INT 16H
假设一个程序正在等待一个键。例如,一个等待 Y/N 的简单的基于文本的向导。为了回显按下的键,首选哪一个? 21H 或 16H。
我认为应该在没有操作系统时调用 BIOS 例程(例如在 POST 期间“按 F1 继续”)。这就是全部?是否有任何示例表明操作仅由其中一个而不是两者都完成?
【问题讨论】:
标签: assembly bios keyboardinterrupt