- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章DOS的功能调用
汇编语言
课件制作:吴秋兰
E-Mail:wqlsdau@163.com
办公地点:文理大楼605
电 话
Wu Qiulan
第七章 DOS的功能调用
7.1 DOS功能调用概述
一、概念
DOS功能调用:编了号的可由程序员调用的子程序。
注:DOS所有的功能调用都是利用INT 21H中断指令实现的,
每个功能调用对应一个子程序,并有一个编号,称功能号。
二、系统功能调用的方法
1、将入口参数传送到指定寄存器中;
2、子程序功能号送入AH寄存器中;
3、发软中断指令 “INT 21H”。
Wu Qiulan
7.2 常用的几种DOS功能调用
一、1号系统功能调用——键盘输入并回显
功能:系统扫描键盘并等待输入一个字符,有键按下时,先
检查是否是Ctrl+Break键,若是则退出;否则将字符的键值
(ASCII码)送入寄存器AL中,并在屏幕上显示该字符。
入口参数:无
出口参数:AL=读到字符的ASCII码
例:MOV AH,1
INT 21H
Wu Qiulan
二、2号系统功能调用——显示输出
功能:向输出设备输出一个字符。
入口参数:DL=输出字符的ASCII码。
出口参数:无
例:MOV DL,′A′; “A”为要求输出字符的ASCII码
MOV AH,2
INT 21H
Wu Qiulan
三、6号系统功能调用——直接控制台输入输出
功能:从键盘输入一个字符,或输出一个字符到屏幕。
入口参数:如果DL=0FFH,表示是从键盘输入字符;
否则表示输出,DL=输出字符的代码。
出口参数:输入时,ZF=0表有键按下,AL=字符的ASCII码;
ZF=1时,表示无键按下。
输出时,无出口参数。
Wu Qiulan
例:MOV DL,0FFH
MOV AH ,6
INT 2lH ;把键盘输入的一个字符送入AL 中
MOV DL,61H
MOV AH ,6 ;将DL 中的字符 “a”送屏幕显示
INT 21H
注:与1号、2号系统功能调用不同之处在于不检查Ctrl+Break。
四、9号系统功能调用——显示字符串
功能:将指定的内存缓冲区中的字符串送屏幕显示。
入口参数:DS∶DX指向缓冲区中字符串首址,字符串以 “$”
字符作为结束标志。
出口参数:无
说明:显示输出时按Ctrl+C (Break)键,结束程序。
Wu Qiulan
例7.1 在屏幕上显示字符串: “How are you”。
DATA SEGMENT
BUF DB ‘How are you $’ ;定义缓冲区字符串
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX ,DATA
MOV DS,AX
MOV DX,OFFSET BUF
MOV AH ,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
五、0AH号系统功能调用
功能:从标准输入设备读一个字符串。
入口参数:DS∶DX=输入缓冲区首址。
出口参数:接收到的输入字符串在缓冲区中。
说明:1、缓冲区第一个字节为缓冲区最大容量;
文档评论(0)