键盘中断问题
在做王爽的汇编语言实验15碰到问题:实验要求:安装一个新的int9中断例程,功能:在DOS下,按下A键后,除非不再松开,如果松开,就显示满屏幕的A,其它键照常处理。
在网上找到的答案中发现其中关键的一句是:cmp al, 1eh+80h, 1eh+80h为A的断码。
书上还有一个安装新的int9中断例程,功能是:在DOS下,按F1键后,改变当前屏幕的显示颜色,其它键照常处理。
其中的 一句是:cmp al,11是 F1的通码
两处相对照产生不解:
为什么一处是和通码比较,一处是和断码比较?
想请各位老师对键盘中断的详细过程描述一下,尤其是端口怎么处理键盘输入
书上说键盘在按下和松开时都产生一个扫描码,一个通码,一个断码,都送入60H端口中,键盘输入到达该端口时,产生中断类型码为9的中断信息
1.这句话中的键盘输入到底是指是什么?是指通码和断码吗?是通码到达端口就产生中断信息,还是断码到达产生中断信息?
2.那么此时读端口时,是先读出通码再读出断码吗?端口中能存放几个扫描码?
3,如果将int9中断例程更改,更改后的程序中有连续4个语句:in al, 60h,如果按下A键再松开,这时四个语句中的al 各是多少?
路过···············
页:
[1]