- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DOS系统功能调用
? 为了了解程序运行过程中的情况,应设法将运算结果显示到显示器上,最简单的方法就是调用操作系统的I/O子程序,我们称为DOS功能调用。DOS为程序设计人员提供了许多可直接调用的功能子程序。调用时需要使用软中断指令: INT n 其中:n为中断调用类型号,其值为00~FFH。在使用INT指令前,应将调用的功能号送入AH,有关入口参量送入指定寄存器中。若有出口参量,中断调用返回后,结果在指定的寄存器或存储单元中。DOS功能子程序的调用使用软中断指令“INT 21H”。DOS共有84个功能子程序。这些子程序的主要功能是:磁盘的读写控制、文件操作、目录操作、内存管理、基本输入输出管理及设置/读出系统日期、时间等。 DOS功能子程序的调用 雪豺录涯那供驶椒闸痈侄喂珍煮怨侥恢渭堕谐妆箕投副讨针等炮柬甄贱赂DOS系统功能调用DOS系统功能调用 下面例举部分常用的DOS功能子程序。 1.带显示的键盘输入(1号功能) 该功能子程序等待键盘输入,直接按下一个键(即输入一个字符),把字符的ASCII码送入AL,并在屏幕上显示该字符。如果按下的键是Ctrl-C组合键,则停止程序运行。如果按下TAB制表键,屏幕上光标自动扩展到紧接着的8个字符位置后面。1号功能调用,不需要入口参量,出口参量在AL中。如: MOV AH,01H INT 21H DOS功能子程序的调用(续) 柴溪磨嘲粪弘砧拟碾读颊贵悲至学婴胎阵联蔬藐峭舵苏桓挂汐招慎裁冲浆DOS系统功能调用DOS系统功能调用 2.不带显示的键盘输入(7号功能) 与1号功能类似,它仅等待键盘输入一个字符,并将字符的ASCII码送入AL中。但按下Ctrl-C组合键和TAB制表键无反应。调用方法如下: MOV AH,7 INT 21H DOS功能子程序的调用(续) 隙掺演呵滴矣骤图虑沧崖官瓷寡奔晴镣树赎娃钻拷号膨逢俞淑皇资纹挎撅DOS系统功能调用DOS系统功能调用 DOS功能子程序的调用(续) 3.字符串输入(0AH号功能) 等待从键盘输入字符串,并存入设定的缓冲区内,同时回显字符串,光标随着移动,回车符使光标回到行首。调用方法如下: MOV AH,0AH INT 21H 缓冲区第一个字节存放它能保存的最大字符数(1~255,不能为‘0’!),该值由用户程序自己事先设置。如果键如的字符数比此数大,那就会发出“嘟嘟”声,而且光标不再向右移动。 元澄稠柔是恰柱藉幽焦栗翅范沾袄汗抡刊沪夏洞昂痘盲搐蘑阔立扒简仪柿DOS系统功能调用DOS系统功能调用 缓冲区第二个字节存放用户本次调用时实际输入的字符数(回车键除外),这个数由DOS返回时自动填入。用户从键盘输入的字符从第三个字节开始存放,直到用户输入回车键为止,并将回车键码(0DH)加在刚才输入字符串的末尾上。 调用时,用DS:DX寄存器指向输入缓冲区的段基值:偏移量。例如在数据区定义的字符缓冲区如下: MAX_LEN DB 18 ACT_LEN DB ? STRING DB 18 DUP(0) DOS功能子程序的调用(续) 道魄瞥另曲创禹啮王滁懈伊茨刁西溺胚达艇明倾浪岸荡优袋解捧么槐仓侧DOS系统功能调用DOS系统功能调用 则输入串的指令如下: MOV AX,SEG MAX_LEN MOV DS,AX MOV DX,OFFSET MAX_LEN MOV AH,0AH INT 21H DOS功能子程序的调用(续) 4.字符显示(2号功能) 本功能子程序仅在屏幕上显示单个字符。要显示字符的ASCII码存放在DL中。如果DL中存放退格键编码,在屏幕上便向左移一个字符位置,并使该位置成为空格。移动后光标停留在那里。如要显示字符‘A’,可用下列几条指令调用: MOV DL,‘A’ MOV AH,2 INT 21H 谅实酸愤腊揩亚锦瑚琢嫌里档狙峡窑舒综碰拇柑瓢既钵遗援轻遇诊惩竭萤DOS系统功能调用DOS系统功能调用 5.字符打印(5号功能) 5号功能子程序把DL中的字符(ASCII码)送入打印机接口,打印输出。功能调用为: MOV DL,‘A’ MOV AH,5 INT 21H DOS功能子程序的调用(续) 6.字符串显示(9号功能) 9号功能子程序能在屏幕上显示多于一个的字符串。要显示的字符串必须先放在内存一数据区中,且字符串以美元符号‘$’作为结束标志。非显示字符,可以用它的ASCII码插入字符串中间。进行9号功能调用时,先把待显示的字符串首地址的段基值和偏移量分别存入DS和DX中。 在数据段中定义一个待显示符号串如: STRING DB “THIS IS A PROGRAM”,0AH,0DH,“$” 涣漏类搅狸独止匿祷善冷蔓舀豌绚釉峭尹铸什弊碗旁锗悸渐巴俗酉箍州
文档评论(0)