- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
输入输出中断汇编语言王爽版第六章
第6章 输入输出程序设计;6.3 DOS与BIOS中断调用方式
可通过下列3种途径来控制和访问I/O设备:
通过I/O指令对I/O设备直接编程;
调用DOS提供的INT 21H等功能来访问I/O设备。
调用BIOS服务程序来访问I/O设备;;6.3 DOS与BIOS中断调用方式(续);6.3 DOS与BIOS中断调用方式(续)
3、BIOS(Basic Input/Output Systerm)是固化在ROM中的一组程序,又称ROM BIOS,包含了主要I/O设备的处理程序和许多常用例行程序,为应用程序控制和访问I/O设备提供了方便。
BIOS程序直接建立在硬件基础上,DOS扩充了BIOS的某些功能,提供了更高级的I/O 接口。; 从图可见BIOS程序直接建立在硬件基础上,磁盘操作系统(DOS)和其他操作系统建立在BIOS基础上,各种高级语言则建立在操作系统基础上。用户程序可以使用高级语言,也可以调用DOS或其他操作系统,还可以调用BIOS,甚至直接指挥硬件设备。;DOS功能调用概述
在8086/8088指令系统中,有一种软中断指令INT n。每执行一条软中断指令,就调用一个相应的中断服务程序。当n=10H~1FH时,调用 BIOS中的服务程序,一般称作系统中断调用(低层调用);当n=20~3FH时,调用DOS中的服务程序,称作功能调用(高层调用) 。其中,INT 21H是一个具有调用多种功能的服务程序的软中断指令,故称其为DOS系统功能调用。;4、调用方法
DOS功能调用可按如下方法:
(1) 设置入口参数。有部分功能调用是不需要入口参数的,但大部分功能调用需要入口参数,在调用前应按要求准备好入口参数。
(2) 功能调用号送AH寄存器。
(3) 发软中断指令“INT 21H”。
(4) 处理出口参数。有部分功能调用没有出口参数。;4、调用方法
BIOS中断调用方法:步骤基本同DOS功能调用;1、键盘I/O程序: BIOS提供了16H号实现,等待从键盘读一键后返回,所输入的键不显示在屏幕上。对于无相应ASCII码的键(如功能键),AL返回0。
AH=0 ;从键盘读一键;例6-1:读键盘输入,显示其中的ASCII字符,以回车退出。
code segment
assume cs:code
start:
mov ah,0
int 16h
cmp al,0dh
je exit
mov dl,al
mov ah,2h
int 21h
jmp start
exit:mov ah,4ch
int 21h
code ends
end start;;表 中断类型10H的功能调用操作 ;6
;A
;(1) 0号功能
设置显示方式
入口参数:
AL=设置方式(0~7)
出口参数:无。;(2) 1号功能 设置光标类型
入口参数:CH=光标开始行
CL=光标结束行
出口参数:无。根据CX给出光标的大小。
(3) 2号功能 设置光标位置
入口参数:
BH=页号
DH=行号
DL=列号
出口参数:无。根据DX确定了光标位置。;【例6-2】 置光标开始行为5,并把它设置到第5行第6列。
MOV CH,5 ;开始行为5
MOV CL,7 ;结束行为7
MOV AH,1
INT 10H ;调用BIOS,定义光标类型
MOV DH,4 ;第5行
MOV DL,5 ;第6列
MOV BH,0 ;0页
MOV AH,2 ;设置行
INT 10H ;调用BIOS,定义光标位置;(4)初始窗口或向上滚动(6号功能)
入口参数:AL=上滚行数
CX=上滚窗口左上角的行、列号
DX=上滚窗口右下角的行、列号
BH=空白行的属性。
; AL=0 整个屏幕空白,初始化窗口
AL=非0 窗口滚动,底部为空白输入行
出口参数:无。当滚动后,底部为空白输入行。;(5)初始窗口或向下滚动(7号功能)
入口参数:AH=7
AL=下滚行数
CX=下滚窗口左上角的行、列号
文档评论(0)