第7章 BIOS和DOS中断(2012)
汇编语言课件
第7章
BIOS 和 DOS 中断
键盘 I/O ● 显示器 I/O ● 打印机 I/O ● 串行通信口I/O●
汇编语言课件
子程序调用主程序 ……CALL SUBP 子程序
………… RET
……
DOS/BIOS调用 源程序 …… 实现机制不同 INT n ……DOS/BIOS 例行程序
…… ……IRET
汇编语言课件
BIOS和DOS基本调用 调用方法:
1、将调用参数装入指定的寄存器中;2、BIOS或DOS功能号装入AH; 3、如需子功能号,把它装入AL; 4、按中断号调用DOS或BIOS中断(INT); 5、检查或取得返回参数。
汇编语言课件
例1:DOS调用:键盘输入,显示输出MOV INT MOV AH, 01 21H CHAR, AL;DOS功能号:键盘输入 ;DOS调用 ;返回参数: 键入字符的 ;ASCII码(在AL中)
MOV MOV INT
DL, ’A’ AH, 02 21H
;调用参数: 输出字符 ;DOS功能号: 显示输出 ;DOS调用
汇编语言课件
1.
键盘I/O( INT 16H)返回参数AL=字符码,AH=扫描码 如ZF=0,AL=字符码, AH=扫描码 如ZF=1,缓冲区空
(1)BIOS键盘中断AH 功能从键盘读一字符
0 1
读键盘缓冲区的字符
2
取键盘状态字节
AL=键盘状态字节
字符数字键
字符码为ASCII 码 字符码为0
功能键、控制键
对应一个扫描码
汇编语言课件
键盘扫描码
每一个键都有两个唯一的数值进行标志。为什么 要用两个数值而不是一个数值呢?这是因为一个 键可以被按下,也可以被释放。当一个键按下时, 它们产生一个唯一的数值,当一个键被释放时, 它也会产生一个唯一的数值,我们把这些数值都 保存在一张表里面,到时候通过查表就可以知道 是哪一个键被敲击,并且可以知道是它是被按下 还是被释放了。这些数值在系统中被称为键盘扫 描码
汇编语言课件
例2:读取键盘状态字节,并以十六进制打印出来again: mov int mov call mov mov int jmp
ah,02h 16h bx,ax binihex dl,0dh ah,02h 21h again
该子程序对二进制和16进制 进行了转换
;打印回车
汇编语言课件
(2)DOS键盘中断 ( INTAH 功 能 调用参数
21H)返回参数AL=字符
16
从键盘输入一个字符并回显在屏幕上读键盘字符,不回显 DL= 0FFH
若有字符可取,AL=字符,ZF=0 若无字符可取,AL=0,ZF=1
78
从键盘输入一个字符,不回显 从键盘输入一个字符,不回显, 检测Ctrl-Break
AL=字符 AL=字符
AB C
输入字符到缓冲区 读键盘状态 清除键盘缓冲区, 并调用一种键盘功能
DS:DX = 缓冲区首址 AL=0FFH有键入,AL=00无键入 AL=键盘功能号 (1,6,7,8或A)
汇编语言课件
例3:DOS调用:从键盘输入字符 MOV INT MOV AH, 01 21H CHAR, AL ;DOS功能号:键盘输入 ;DOS调用 ;返回参数:键入字符 ;的ASCII码(AL)
汇编语言课件
例4: 输入字符串到缓冲区STRING
MAXLEN 32 DATA SEGMENT ACTLEN 5 MAXLEN DB 32 STRING 68H ACTLEN DB ? 61H STRING DB 32 DUP(?) 70H DATA ENDS 70H CODE SEGMENT 79H ASSUME CS:CODE,DS:DATA 0DH START: MOV AX,DATA MOV DS,AX LEA DX,MAXLEN ;把MAXLEN所在地址赋值给DX;
并且 21h的0a号功能规定了缓冲区的长度设置、存放的内容和顺序,见右 上图 MOV AH,0AH ;屏幕出现光标,让用户输入字符串! INT 21H CODE ENDS END START
汇编语言课件
(2)AH
DOS显示功能调用中断功 能
INT调
21H用 参 数
2 69
显示一个字符(检验Ctrl-Break)
DL = 字符 光标跟随字符移动DL = 字符
显示一个字符(不检验Ctrl-Break)
光标跟随字符移动 显示字符串 DS:DX=串地址 串必须以$结束, 光标跟随串移动
汇编语言课件
例5:DOS调用:显示输出一个字符
MOVMOV
DL, ’A’AH, 02
;调用参数: 输出字符; DOS功能号: 显示输出
INT
21H
; DOS调用
汇编语言课件
例6:显示字符串MESSAGE DB … ‘The sort operation is finished.’,13,10,’$’ …
MOVMOV MOV MOV INT
AH,9DX,SEG DS,DX DX,OFFSET 21H MESSAGE MESSAGE
汇编语言课件
作业: 用DOS的10号功能调用输入一个字符串,并 用DOS的9号功能调用将这个字符串输出到屏幕 上显示。 注意:如何能持续的看到结果?(加循环语句)
…… 此处隐藏:460字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




