汇编语言-----字符串的输入利用int 16h读取键盘缓冲区
2014-09-27 23:41
351 查看
学到这里,已经感觉有点跟不上王爽老师的步伐了,因为有些程序需要在dos的实模式下才可以运行出来
自己又懒得去整,最多是在虚拟机下的xp,有些东西还是无法运行出来
这道题是书上的例题,我进行了整理
功能是最基本的字符串输入程序,需要具备下面的功能
1、在输入的同时需要显示这个字符串
2、一般在输入回车符后,字符串输入结束
3、可以删除已经输入的字符串
程序如下:
12行和13行是设定要显示的行和列
108行的作用:
因为判断栈空的条件是top=0,所以当栈空的时候top还指向第一个元素,第一个元素没有被删除
所以要再将top指向的清零
116行的作用:
我试着将+2,换成+4、+6、+8,发现程序是将显示的代码往后偏移的第几个置为空格
比如如果是+6,屏幕上现在显示的是‘abcde’,你现在输入2,屏幕上就是‘2bc e’,将第四个置为空格
这只是我认为的,但是实际上却是‘2 c e’,原因还没搞懂
按理上说,将这条代码如果注释,那输入的字符相邻的字符就不会置为空格,
但是结果和不注释是一样的
我想是不是在dos实模式下运行就会好,这个问题还有待于验证
自己又懒得去整,最多是在虚拟机下的xp,有些东西还是无法运行出来
这道题是书上的例题,我进行了整理
功能是最基本的字符串输入程序,需要具备下面的功能
1、在输入的同时需要显示这个字符串
2、一般在输入回车符后,字符串输入结束
3、可以删除已经输入的字符串
程序如下:
12行和13行是设定要显示的行和列
108行的作用:
因为判断栈空的条件是top=0,所以当栈空的时候top还指向第一个元素,第一个元素没有被删除
所以要再将top指向的清零
116行的作用:
我试着将+2,换成+4、+6、+8,发现程序是将显示的代码往后偏移的第几个置为空格
比如如果是+6,屏幕上现在显示的是‘abcde’,你现在输入2,屏幕上就是‘2bc e’,将第四个置为空格
这只是我认为的,但是实际上却是‘2 c e’,原因还没搞懂
按理上说,将这条代码如果注释,那输入的字符相邻的字符就不会置为空格,
但是结果和不注释是一样的
我想是不是在dos实模式下运行就会好,这个问题还有待于验证
相关文章推荐
- 从键盘输入字符串并输出该字符串(汇编语言)
- 读王爽老师汇编语言笔记---int指令、端口、外中断以及键盘的输入
- 汇编 从缓冲区输入字符串 用INT 21H的0A号功能进行字符串的输入
- 汇编语言: 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用10号功能调用。),将其中的小写英文 字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。
- 汇编语言: 试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不 是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空 格符不存入),直到接收
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用 10 号功能调用。)放在 STRING 中,试 编制一个程序测试字符串中是否存在数字。如有,则把 CL 的第 5 位置 1,否则将该位置置 0。
- 利用汇编语言编程实现在键盘上输入两个一位数,在屏幕上显示它们的积。
- 汇编语言--使用BIOS进行键盘输入和磁盘读写
- 使用BIOS进行键盘输入和磁盘读写03 - 零基础入门学习汇编语言77(完)
- 【汇编】从键盘输入字符串并输出该字符串(汇编程序)
- perl从键盘上读取输入作为字符串和列表的方法
- 黑马程序员——使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。
- [转]JAVA 读取键盘输入的字符串(string)or数字or单字符
- 80x86 汇编语言编程:输入字符串,排序输出
- 汇编语言 输入字符串并输出所有非字母字符的前后导字符
- 10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。
- 使用BIOS进行键盘输入和磁盘读写02 - 零基础入门学习汇编语言76
- 汇编语言程序设计:从键盘上输入20个有符号数,将他们排序并在屏幕上显示
- 使用BIOS进行键盘输入和磁盘读写01 - 零基础入门学习汇编语言75