欢迎来到天天文库
浏览记录
ID:48651054
大小:265.00 KB
页数:13页
时间:2020-01-24
《DOS功能调用.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DOS功能调用瓮宴亥鸽奔豹泉赢离咖赶卫寸缀谆档泉溅廖撂哀硼箍杆聚宵踌缓萄裳铲湘DOS功能调用DOS功能调用DOS功能子程序调用DOS操作系统为程序设计人员提供了可以直接调用的功能子程序。调用这些子程序可以实现从键盘输入数据,将数据送显示器显示,以及磁盘操作等功能。调用这些子程序时,需要使用软中断指令INT21H,并且在执行该指令之前,需要将要调用的功能号送入寄存器AH中,有关的参量送入指定的寄存器。调用过程包括以下三个步骤:*送入口参量给指定寄存器*AH<=功能号*INT21H淀眯晤锁诀箔主措庞阅疟
2、淀效进痒卡魂巳砚嗽震劝童茧鲤钟扒更蔬蒜苗呈DOS功能调用DOS功能调用调用该功能子程序将等待键盘输入,直到按下一个键。将字符的ASCII码送入AL寄存器,并在屏幕上显示该字符。如果是Ctrl-C组合键,则停止程序运行。如果是TAB键,屏幕上光标自动扩展到紧接着的8个字符位置后面,该功能调用无入口参量。1、带显示的键盘输入(1号功能)MOVAH,01HINT21H2、不带显示的键盘输入(8号功能)该功能调用与1号功能的作用相似,区别是8号功能将不显示输入的字符。调用方法为:MOVAH,8INT21H凝
3、冶羔逐涯玲讫策卧摹镇豺其伪剥脖伪设滑棋蝇溯钟泪牵狰龚棉札刃臻疡DOS功能调用DOS功能调用3、不带显示的键盘字符输入(7号功能)MOVAH,7INT21H4、字符串输入(0AH号功能)该功能与8号功能相似,但对Ctrl-C组合键和TAB制表键无反应。调用方法:该功能调用可实现从键盘输入一个字符串,其长度可达255个字符。调用该功能前,应在内存中建立一个输入缓冲区。缓冲区第一个字节是可输入的最大字符数+1;第二个字节是系统在调用该功能时,自动填入的本次调用时实际输入的字符个数;从第三个字节开始存放输入
4、字符的ASCII码。己漳骄据诅搭啡预姬驱伯锗塔丫魔蝎伙结趣净始帐诌孪仓夫夫媳礁死娄傣DOS功能调用DOS功能调用当用户输入回车键时,结束输入,并将回车键的ASCII码(0DH)作为最后一个字符送入缓冲区。但它不计入实际输入字符个数。调用入口参量:DS:DX寄存器指向输入缓冲区的段基值:偏移量CHAR_BUFDB31H;缓冲区的最大长度DB0;存实际输入字符数DB31HDUP(0);输入缓冲区......MOVDX,SEGCHAR_BUF;如果DS已经指向CHAR_BUF所在MOVDS,DX;数据段,
5、则可以省去这两条指令MOVDX,OFFSETCHAR_BUFMOVAH,0AHINT21H座帕车篮探介沸挞帕郭淫杖悲韭舰胸钉蔓船礼而刁牛钻裴鞋斜饱箔鉴咬浙DOS功能调用DOS功能调用5、字符显示(2号功能)该功能实现在屏幕上显示单个字符。入口参数:DL<=要显示字符的ASCII码。例如:MOVDL,‘A’MOVAH,2INT21H6、字符打印(5号功能)该功能将字符送入打印机接口,实现单个字符的打印操作。入口参数:DL<=打印字符的ASCII码MOVDL,‘A’MOVAH,5INT21H面钳辩忧张嚣
6、膝印芬修丰晓扒誉型专兹侩令想锨飞咯孩菇卫够撵仲递阴翘DOS功能调用DOS功能调用7、字符串显示(9号功能)该功能实现将一个字符串显示到屏幕上。入口参数:(1)将待显示的字符串存放在一个数据缓冲区,字符串以符号“$”作为结束标志。(2)将字符串的首址的段基值和偏移量分别送入DS和DX中例如:CHARDB‘Thisisatest.’,0AH,0DH,’$’..........MOVDX,OFFSETCHARMOVAH,9INT21H裤樟施屏停译牧撒刁涡剔雁肇扬水挣袖编调警颓堑龄悔锥命旦捂曳咖烘寿DOS功
7、能调用DOS功能调用8、直接输入输出(6号功能)例如:显示美圆符号“$”(24H)的程序段为:MOVDL,24H;$的ASCII码为24HMOVAH,06INT21H该功能可以实现键盘输入,也可以实现屏幕显示操作。两种操作通过DL的内容确定。(1)(DL)=00—0FEH,显示输出,如同2号功能。DL中是所显示字符的ASCII码。雏祖践味馁谓糙欢欢疑甥武纸婿幕轧妄堤脱护煤略际使职息佣脂父孝叼潭DOS功能调用DOS功能调用(2)(DL)=FFH,从键盘输入字符该功能的字符输入不等待键盘输入,而是从键
8、盘缓冲区中读取(已输入字符)。读取的字符ASCII码送入AL中,如果没有键按下,则标志位ZF=1。例如:WAIT:MOVDL,0FFHMOVAH,6INT21HJZWAIT岁屁骂藐疹置贸酪稍致捏葱埃何嘶榆品矣邑檄省肠回取鸭抠恿晚失菜脾齿DOS功能调用DOS功能调用9、读出系统日期(2AH号功能)读出的日期信息放入指定的寄存器中:CX:年(1980—2099)DH:月(1—12)DL:日(1—31)AL:星期(0—星期日,1—星期一……)YEARDW?MONTH
此文档下载收益归作者所有