第17章 使用BIOS进行键盘输入和磁盘读写

P302 键盘输入将引发9号中断,BIOS提供了 int 9 中断例程。
P303 int 16h 中断例程的0号功能,进行如下的工作。
(1) 检测键盘缓冲区中是否有数据;
(2) 没有则继续做第1步;
(3) 读取缓冲区第一个字单元中的键盘输入;
(4) 将读取的扫描码送入ah,ASCII码送入al;
(5) 将已读取的键盘输入从缓冲区中删除。
         BIOS的 int 9 中断例程和 int 16h 中断例程是一对相互配合的程序,int 9 中断例程向键盘缓冲区中写入,int 16h 中断例程从缓冲区中读出。它们写入和读出的实际不同,int 9 中断例程是在有键按下的时候想键盘缓冲区中写入数据;而 int 16h 中断例程是在应用程序对其进行调用的时候,将数据从键盘缓冲区中读出。
P310 实验17 编写包含多个功能子程序的中断例程
就这个程序,搞了好长时间,也还没有明白。现在只实现了写软盘的功能,而且还有限制。代码如下:

      我要写的是编号为1440的逻辑扇区。功能是向这个扇区中(512个字节)重复写入256个1324h。写到软盘中之后,使用hexedit查看如下图:

       今天太晚了,明天再写好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值