键盘--(微机原理实验五)
DATAS SEGMENTTAB DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码
STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AX
KEYSCAN: MOV AL,10000001B;8255A的方式选择控制字为81HMOV DX,36H;控制端口为36HOUT DX,AL;8255A方式选择控制字写入控制端口WAIT1: MOV AL,00001111B;让列全为0,行为1MOV DX,34H;PC口地址为34HOUT DX,AL;把行和列的状态送到C端口IN AL,DX;读行线的状态AND AL,00001111BCMP AL,0FHJZ KEYEND;若相等(行全为1),则无键按下,使用WAIT时要等待按键按下 MOV CL,0EFH;(11101111B,扫描初值)MOV CH,0;0列LP1:MOV DX,34HMOV AL,CLOUT DX,ALIN AL,DXTEST AL,00000001B;JNZ LONE;表示0行没有按下,则跳转到下一行MOV AL,00H;行首值JMP KEYJS;无条件跳转到计算键值LONE: TEST AL,00000010BJNZ LTWOMOV AL,04H;行首值JMP KEYJSLTWO: TEST AL,00000100BJNZ LTHRMOV AL,08H;行首值JMP KEYJSLTHR: TEST AL,00001000BJNZ NEXT;若最后一行都扫描完了,没有键按下,则跳转到下一列MOV AL,0CH;行首值JMP KEYJSKEYJS: ADD AL,CH;计算键值LEA BX,TABXLAT;(换码指令,把数据段中偏移地址为BX+AL的内存单元的内容送到AL中)无规则的数据放到表格中可以有序输出MOV DX,30H;将键值送到PA口显示输出OUT DX,ALMOV DX,34HMOV AL,0FHOUT DX ,ALWAIT2: IN AL,DXAND AL,0FHCMP AL,0FHJNZ WAIT2;JNZ表示有键按下KEYEND: JMP KEYSCAN;RETNEXT: INC CH;列加1ROL CL,1;修改扫描值CMP CL,0FEHJZ KEYENDJMP LP1 MOV AH,4CHINT 21H
CODES ENDSEND START
键盘--(微机原理实验五)相关推荐
- 西电网信院微机原理实验(五)
实验五 存储器扩展实验 一.存储器芯片62256引脚介绍: 62256共有15根地址线A0-A14,存出大小为32KB:八条双向数据线D0-D7,共8bit:CE‾\overline{CE}CE片 ...
- 微型计算机原理怎么编程,微机原理实验一编程实现键盘输入和显示
<微机原理实验一编程实现键盘输入和显示>由会员分享,可在线阅读,更多相关<微机原理实验一编程实现键盘输入和显示(9页珍藏版)>请在人人文库网上搜索. 1.实验一编程实现键盘输入 ...
- 用汇编语言与C语言实验其他排序,微机原理实验报告冒泡排序
微机原理实验报告冒泡排序 五.运行结果 (1)对300,250,280,240,260五个数进行冒泡排序,运行结果如下: (2)对-1,2,54,-38,43五个数进行冒泡排序,运行结果如下 (1)当 ...
- 冒泡排序法c语言实验报告,微机原理实验报告-冒泡排序
<微机原理实验报告-冒泡排序>由会员分享,可在线阅读,更多相关<微机原理实验报告-冒泡排序(12页珍藏版)>请在人人文库网上搜索. 1.一.实验目的(1)学习汇编语言循环结构语 ...
- 微型计算机原理实验,微机原理实验总结(共5篇)
微机原理实验总结 不知不觉,微机原理与接口技术实验课程已经结束了.回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很 ...
- 微型计算机原理实验报告总结,微机原理实验报告-两个多位十进制数相加的实验等.doc...
微机原理实验报告-两个多位十进制数相加的实验等.doc 微机原理实验报告班级学号姓名实验一两个多位十进制数相加的实验一.实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立.汇编.链接.调试和运 ...
- 南邮java实验报告,南邮微机原理实验报告精选.doc
南邮微机原理实验报告精选 <微型计算机原理与接口技术> 上机实验 学 院: 电子科学与工程 专 业: 电磁场与无线技术 姓 名: 陈秀慧 课 程 号: B0300062S 学 号: 任课老 ...
- 微型计算机原理中断实验,微机原理实验---中断控制实验.doc
微机原理实验---中断控制实验 深 圳 大 学 实 验 报 告 课程名称: 微机计算机设计 实验项目名称: 8259 中断控制实验 学院: 信息工程学院 专业: 电子信息工程 指导教师: 报告人: 学 ...
- 微型计算机实验考试答案,华中科技大学微机原理实验考试题库与答案.doc
华中科技大学微机原理实验考试题库与答案 复习题(后面附有全部代码) 1.用74LS244设计一个输入接口.从输入端口读入开关状态(高表示'1',低表示'0'),以十进制形式在CRT显示器上显示输入结果 ...
最新文章
- 原来书中说的JVM默认垃圾回收器是错的!
- 远程连接oracle01017,连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法!...
- ASP技巧实例:几行代码解决防止表单重复提交
- 转hdmi_苹果本轻松接大屏,毕亚兹雷电接口转HDMI/VGA转换器评测
- linux pap认证,配置PPP PAP 认证
- python正则_python中正则匹配
- qt菜单栏按钮点击事件_如何用Axure画出Web后台产品的菜单栏组件
- 【优化算法】寄生-捕食算法(PPA)【含Matlab源码 1801期】
- centos时钟同步
- shopnc 设置mysql_shopnc 手机网站配置
- 得物购买截图生成_iPhone12订单生成器app-iPhone12订单生成器网页app免费版预约 v1.0...
- 禁用Ctrl+alt+del
- 西安交通大学计算机张飞导师,航海学院邀请西安交通大学段战胜教授来院作学术报告...
- MySQL : ROUND 函数四舍五入陷阱及解决办法
- gitlab+jenkins 利用webhook自动构建代码
- android otg u盘 视频教程,手机u盘怎么用|OTG U盘正确使用教程
- python hack-requests_python全自动无人值守爬取某网站妹子图集
- 关于定时器、波特率、TH和TL值的计算
- 使用 HtmlUnit 操作网页(登录58同城)
- 愚人节,聊聊那些开源的「傻问题」
热门文章
- 400KN液压绞车液压系统设计 全套毕业设计(开题报告+任务书+说明书+外文翻译+CAD图纸)
- 自然场景OCR检测(YOLOv3+CRNN)
- 成功上岸北大!总分418分,数学150分,经验贴+方法论
- 简单一招教你给大量视频添加srt字幕
- Mac 卸载 隐蔽软件 Core_Sync 的步骤
- AD2019 add Mechanical layer
- Ta-Lib源码解析(二):动量指标 (Momentum Indicator) #(附Python重构代码)
- 基于AT89C51最小系统的手机遥控车
- matlab2017调用vgg19,TensorFlow vgg19 图像识别
- 老猿学5G扫盲贴:移动边缘计算(Mobile Edge Computing, MEC)