使用BIOS进行键盘输入和磁盘读写02 - 零基础入门学习汇编语言76
2011-06-11 16:47
816 查看
第十七章:使用BIOS进行键盘输入和磁盘读写02
让编程改变世界Change the world by program
使用int 16h中断例程读取键盘缓冲区
我们在编写一般的处理键盘输入的程序的时候,可以调用int 16h 从键盘缓冲区中读取键盘的输入。编程,接收用户的键盘输入,输入“r”,将屏幕上的字符设置为红色:输入“g”, 将屏幕上的字符设置为绿色;输入“b ”,将屏幕上的字符设置为蓝色。
程序实现源码:相关代码下载
字符串的输入
用户通过键盘输入的通常不仅仅是单个字符而是字符串。下面我们讨论字符串输入中的问题和简单的解决方法。最基本的字符串输入程序,需要具备下面的功能:
(1) 在输入的同时需要显示这个字符串;
(2)一般在输入回车符后,字符串输入结束;
(3)能够删除已经输入的字符。
对于这三个功能,我们可以想象在DOS 中,输入命令行时的情况。
编写一个接收字符串的输入子程序,实现上面三个基本功能。
因为在输入的过程中需要显示,子程序的参数如下:
(dh)、(dl)=字符串在屏幕上显示的行、列位置;
ds:si 指向字符串的存储空间,字符串以0为结尾符。
下面我们将进行仔细分析!
(1)字符的输入和删除。每个新输入的字符都存储在前一个输入的字符之后,而删除是从最后面的字符进行的。
我们看下面的过程:空字符串:
输入“a”:a
输入“b”:ab
输入“c”:abc
输入“d”:abcd
删除一个字符:abc
删除一个字符:ab
删除一个字符:a
删除一个字符:
可以看出在字符串输入的过程中,字符的输入和输出是按照栈的访问规则进行的,即后进先出。
这样,我们就可以用栈的方式来管理字符串的存储空间,也就是说,字符串的存储空间实际上是一个字符栈。
字符栈中的所有字符,从栈底到栈顶,组成一个字符串。
(2)在输入回车符后,字符串输入结束。
输入回车符后 ,我们可以在字符串中加入0,表示字符串结束。(3)在输入的同时需要显示这个字符串。
每次有新的字符输入和删除一个字符的时候,都应该重新显示字符串,即从字符栈的栈底到栈顶,显示所有的字符。(4)程序的处理过程。现在我们可以简单地确定程序的处理过程如下:
调用int 16h读取键盘输入;如果是字符,进入字符栈,显示字符栈中的所有字符;继续执行① ;
如果是退格键,从字符栈中弹出一个字符,显示字符栈中的所有字符;继续执行① ;
如果是Enter 键,向字符栈中压入0,返回。
从程序的处理过程中可以看出,字符栈的入栈、出栈和显示栈中的内容,是需要在多处使用的功能,我们应该将它们写为子程序。
子程序:
字符栈的入栈、出栈和显示。
参数说明:
(ah)=功能号,0表示入栈,1表示出栈,2表示显示;
ds : si 指向字符栈空间;
对于0 号功能:(al)=入栈字符;
对于1 号功能:(al)=返回的字符;
对于2 号功能:(dh)、(dl) =字符串在屏幕上显示的行、列位置。
字符栈的访问规则如下所示:
(1)栈空
(2)“a”入栈
(3)“b”入栈
子程序代码:相关代码下载
另外一个要注意的问题是:
显示栈中字符的时候,要注意清除屏幕上上一次显示的内容。
我们现在写出完整的接收字符串输入的子程序。
参考源码:相关代码下载
[buy] 获得所有教学视频、课件、源代码等资源打包 [/buy]
[Downlink href='http://kuai.xunlei.com/d/LBZPNEUZNHOJ']视频下载[/Downlink]
相关文章推荐
- 使用BIOS进行键盘输入和磁盘读写02 - 零基础入门学习汇编语言76
- 使用BIOS进行键盘输入和磁盘读写03 - 零基础入门学习汇编语言77(完)
- 使用BIOS进行键盘输入和磁盘读写03 - 零基础入门学习汇编语言77(完)
- 使用BIOS进行键盘输入和磁盘读写01 - 零基础入门学习汇编语言75
- 使用BIOS进行键盘输入和磁盘读写01 - 零基础入门学习汇编语言75
- 汇编语言学习笔记第十七章 使用BIOS进行键盘输入和磁盘读写
- [置顶] [汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写
- 汇编语言--使用BIOS进行键盘输入和磁盘读写
- 使用BIOS进行键盘输入和磁盘读写(学习汇编)
- 汇编语言--使用BIOS进行键盘输入和磁盘读写
- 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写
- 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写
- [汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写
- 王爽《汇编语言》(第二版) 学习笔记 (第十七章 使用BIOS进行键盘输入和磁盘读写)
- 第17章 使用BIOS进行键盘输入和磁盘读写
- 第十七章 使用BIOS进行键盘的输入和磁盘读写
- 第17章 使用BIOS进行键盘输入和磁盘读写
- 第17章 使用BIOS进行键盘输入和磁盘读写 笔记2
- [BX]和loop指令02 - 零基础入门学习汇编语言24
- 汇编学习--7.17--键盘输入和磁盘读写