汇编语言_使用int16h中断读取键盘缓冲区
利用int 16h读取键盘缓冲区,int16的使用方法如下:
mov ah,0
int 16h
结果:ah=扫描码,al=ASCII码
调用int16h中断检测到键盘缓冲区后,发现缓冲区空,则循环等待,知道缓冲区中有数据;如果缓冲区满,则覆盖掉之前的数据。
本实验就是利用了16中断检测缓冲区空不断读取的特性,完成了从缓冲区读取一个字符,并作出判断,根据是否符合条件来改变屏幕的颜色值。代码如下:
assume cs:code,ss:stack,ds:data
data segmentdb 128 dup(0)
data ends stack segment stackdb 128 dup(0)
stack endscode segment
start:mov ax,stackmov ss,axmov sp,128call get_colormov ax,4c00hint 21h
get_color:mov ah,0int 16hmov ah,1cmp al,'r' je redcmp al,'g'je green cmp al,'b'je bluejmp get_colorretred:shl ah,1
green: shl ah,1blue:mov bx,0b800hmov es,bxmov bx,1mov cx,2000
setColor:and byte ptr es:[bx],11111000bor es:[bx],ahadd bx,2loop setColorjmp get_color
getColorRet: mov ax,4c00hint 21h
;;===================================
code ends
end start
按下r键,效果如下:
按下g键,效果如下
按下b键,效果如下
汇编语言_使用int16h中断读取键盘缓冲区相关推荐
- NASM汇编语言与计算机系统11-9号与0X16号中断显示键盘输入(int)
本文的示例将显示从键盘上输入一个按键,屏幕上显示该按键的内容 0x09号中断:当从键盘上敲一个按键,会将按键的内容放到0x60端口,然后执行9号中断例程,由于9号中断例程已经被bios写好了,所以会直 ...
- 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写
转载必须注明出处,违者必究.http://www.cnblogs.com/dennisOne ☞使用BIOS进行键盘输入和读取键盘缓冲区 复习键盘缓冲区和状态字节 (1). BIOS键盘缓冲区是系统启 ...
- [书]x86汇编语言:从实模式到保护模式 -- 第九章 硬中断,使用RTC芯片实现实时时间的显示;软中断,使用BIOS中断实现键盘输入的读取和显示
PART 1 >> 使用BIOS中断实现键盘输入的读取和显示 ; File: c09_2.asm ; Date: 20191222; =========================== ...
- 汇编语言随笔(15)- 对键盘输入进行处理(int 9 和 int 16h 中断例程)
键盘输入 1,前面讲过, int 9 中断例程负责对键盘输入进行处理,具体为:从 60h 端口读出扫描码,并将其转化为相应的ASCII码或状态信息,一起存储到内存的指定空间(键盘缓冲区或状态字节)中. ...
- 黑马毕向东Java课程笔记(day19-11——19-22)IO字节流:字节流及其读取、字节流缓冲区、自定义字节流(读取)的缓冲区、读取键盘的输入、读取/写入转换流、流操作规律
1.字节流--File 字节流的介绍 字符流:(一个字符2个字节16位) FileReader FileWriter. BufferedReader BufferedWriter字节流:(一个字节 ...
- c语言清除键盘缓冲区函数,C语言程序中清除键盘缓冲区的方法
第四期2006年12月益阳职业技术学院学报 JournalofYiyangVocationalandTechnicalCollegeNO.4Dec.2006 C语言程序中清除键盘缓冲区的方法 杨长虹 ...
- getchar(关于键盘缓冲区)
函数名: getchar 功 能: 从stdio流中读字符 用 法: int getchar(void); 注解: getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键 ...
- C语言编程 - 清空键盘缓冲区
转载自这里 清空键盘缓冲区很多种方法,如用fflush(stdin); rewind(stdin);等,但是在linux这些都不起作用,还得我今天试了半天都没成功,上网搜了一下发现setbuf(std ...
- 汇编语言机器语言c语言区别,高级语言和汇编语言_机器语言的区别
描述 高级语言简介 高级语言,它是在低级语言的基础上,采用接近于人类自然语言的单词和符号来表示一组低级语言程序,使编程变得更加简单,易学,且写出的程序可读性强. 高级语言的优点 1.高级语言接近算法语 ...
最新文章
- 关于pyecharts 地图显示添加数据的问题
- 汇编语言--串处理指令
- QT显式调用VC开发的DLL
- 【渝粤题库】陕西师范大学700011 新课程改革与生物教材研究
- python 编码规范
- 如何阻止表单的默认提交事件
- tomcat原理解析(一):一个简单的实现
- duilib消息机制的介绍
- java 浏览器 爬虫_java 网络编程-爬虫+模拟浏览器
- 01 掌握运算符的分类 1204
- 强化学习《基于价值 - Dueling Q-Learning》
- pip 安装 tensoflow
- cpu相关信息(进程、线程、核...)
- 第十一章Web服务器的安装与配置
- CS224N笔记——神经机器翻译与Attention机制
- ES6、7学习笔记(尚硅谷)-5-箭头函数
- 77个数据科学家常见面试题
- 基于python实现resnet_【Tensorflow系列】使用Inception_resnet_v2训练自己的数据集并用Tensorboard监控...
- Android中实现播放背景音乐功能
- 一个屌丝程序猿的人生(四十八)