第12章BIOS与DOS中断-课件

上传人:痛*** 文档编号:241639264 上传时间:2024-07-12 格式:PPT 页数:57 大小:298KB
返回 下载 相关 举报
第12章BIOS与DOS中断-课件_第1页
第1页 / 共57页
第12章BIOS与DOS中断-课件_第2页
第2页 / 共57页
第12章BIOS与DOS中断-课件_第3页
第3页 / 共57页
点击查看更多>>
资源描述
键盘键盘 I/O 显示器显示器 I/O 打印机打印机 I/O 串行通信口串行通信口I/O 文件操作文件操作I/O第第12章章 BIOS 和和 DOS 中断中断子程序调用子程序调用 主程序主程序 CALL SUBP 子程序子程序 RETDOS/BIOS调用调用 源程序源程序 INT n DOS/BIOS 例行程序例行程序 IRET实现机制不同实现机制不同实现机制不同实现机制不同BIOS和和DOS基本调用基本调用调用方法:调用方法:1、将、将调用参数调用参数装入装入指定的指定的寄存器中;寄存器中;2、BIOS或或DOS功能号功能号装入装入AH;3、如需如需子功能号子功能号,把它装入,把它装入AL;4、按中断号按中断号调用调用DOS或或BIOS中断中断(INT);5、检查或取得、检查或取得返回参数返回参数。例:例:DOS调用:键盘输入,显示输出调用:键盘输入,显示输出MOVAH,01;DOS功能号功能号:键盘输入键盘输入 INT 21H ;DOS调用调用MOVCHAR,AL ;返回参数返回参数:(AL)MOVDL,A;调用参数调用参数:输出字符输出字符MOVAH,02;DOS功能号功能号:显示输出显示输出INT 21H;DOS调用调用1.1.键盘键盘键盘键盘I/OI/O(1)BIOS键盘中断键盘中断(INT16HINT16H)AH功能功能返回参数返回参数0从键盘读一字符从键盘读一字符AL=字符码,字符码,AH=扫描扫描码码1读键盘缓冲区的字符读键盘缓冲区的字符如如ZF=0,AL=字符码,字符码,AH=扫描码扫描码如如ZF=1,缓冲区空缓冲区空2取键盘状态字节取键盘状态字节AL=键盘状态字节键盘状态字节字符数字键字符数字键字符码为字符码为ASCII码码功能键、控制键功能键、控制键字符码为字符码为0对应一个扫描码对应一个扫描码(2)DOS键盘中断键盘中断(INT21HINT21H)AHAH功功能能调用参数调用参数返回参数返回参数 1 1从键盘输入一个字符并回显在屏幕上从键盘输入一个字符并回显在屏幕上AL=字符字符6 6读键盘字符,不回显读键盘字符,不回显DL=0FFH若有字符可取,若有字符可取,AL=字符,字符,ZF=0若无字符可取,若无字符可取,AL=0,ZF=17 7 从键盘输入一个字符,不回显从键盘输入一个字符,不回显AL=字符字符8 8从键盘输入一个字符,不回显,从键盘输入一个字符,不回显,AL=字符字符检测检测Ctrl-BreakA A输入字符到缓冲区输入字符到缓冲区DS:DX=缓冲区首址缓冲区首址 B B读键盘状态读键盘状态AL=0FFH有键入,有键入,AL=00无键入无键入C C清除键盘缓冲区,清除键盘缓冲区,AL=键盘功能号键盘功能号并调用一种键盘功能并调用一种键盘功能(1,6,7,8或或A)例例:输入字符串到缓冲区输入字符串到缓冲区STRINGSTRING DATASEGMENTDATASEGMENTMAXLENDB32MAXLENDB32,0,32DUP(?)ACTLENDB?MAXLENDB32,33DUP(?)STRINGDB32DUP(?)DATAENDSDATAENDSCODESEGMENTLEADX,MAXLENMOV AH,0AH0AHINT21HCODEENDSEND32568H61H70H70H79H0DHMAXLENACTLENSTRING2.2.显示器显示器I/OI/O文本方式文本方式ASCII字符字符7654321076543210前景前景000=黑黑111=白白亮度亮度0=正常亮度正常亮度1=加强亮度加强亮度闪烁闪烁0=正常显示正常显示1=闪烁显示闪烁显示背景背景000=黑黑111=白白单色属性单色属性76543210前景前景闪烁闪烁背景背景BLRGBIRGB16色属性色属性(1)BIOS显示中断显示中断INT10H(2)功能号功能号AH=0,1,2,3,5,6,7,8,9,0AH,0EH13H(p.328)(3)例:清除屏幕例:清除屏幕(4)movah,6;屏幕初始化屏幕初始化(5)mov al,0;全屏空白全屏空白(6)mov bh,7;卷入行属性卷入行属性(7)mov ch,0;左上角行号左上角行号(8)mov cl,0;左上角列号左上角列号(9)mov dh,24;右下角行号右下角行号(10)mov dl,79;右下角列号右下角列号(11)int10h;BIOS调用调用(12)定义窗口例例:在品红背景下,显示在品红背景下,显示5个浅绿色闪烁的星号。个浅绿色闪烁的星号。MOVAH,09;光标位置下显示光标位置下显示MOVAL,*;显示字符显示字符MOVBH,0;显示页显示页0MOVBL,0DAH;11011010(表表9.7)MOVCX,05;显示次数显示次数INT 10H ;BIOS调用调用例例:在屏幕上以在屏幕上以红底红底兰字兰字显示字符串:显示字符串:“WORLDSCENERY”STRING DBWORLDSCENERY;定义在定义在ES段段LEN_TR DW 13 MOV AL,3;8025,16色文色文 本方式本方式MOV AH,0INT10HMOV BP,SEGSTRINGMOV ES,BP;串地址串地址ES:BPMOV BP,OFFSETSTRINGMOV CX,LEN_STR;串长度串长度MOV DX,0;起始行列起始行列MOV BX,0041H;01000001(属性)属性)MOV AL,1;子功能子功能MOV AH,13H;显示字符串显示字符串INT10H(2)DOS显示功能调用中断显示功能调用中断INT21HINT21H AH功功能能调调用用参参数数2显示一个字符显示一个字符(检验检验Ctrl-Break)DL=字符字符光标跟随字符移动光标跟随字符移动6显示一个字符显示一个字符(不检验不检验Ctrl-Break)DL=字符字符光标跟随字符移动光标跟随字符移动9显示字符串显示字符串DS:DX=串地址串地址串必须以串必须以串必须以串必须以$结束结束结束结束,光标跟随串移动光标跟随串移动例:显示字符串例:显示字符串MESSAGEDBThesortoperationisfinished.,13,10,$MOVMOVAHAH,9 9MOVDXMOVDX,SEGMESSAGESEGMESSAGEMOVMOVDSDS,DXDXMOVMOVDXDX,OFFSETMESSAGEOFFSETMESSAGEINT21HINT21H3.3.打印机打印机I/OI/O(p.336)INTAH功功能能调用参数调用参数返回参数返回参数2121HH5 5打印一个字符打印一个字符DL=字符字符17H0打印一个字符打印一个字符AL=字符字符AH=状态字节状态字节并回送状态字节并回送状态字节DX=打印机号打印机号17H1初始化打印机初始化打印机DX=打印机号打印机号AH=状态字节状态字节回送状态字节回送状态字节17H2回送状态字节回送状态字节DX=打印机号打印机号AH=状态字节状态字节例例:打印字符串打印字符串TEXT(DOS)TEXTDBHello,everybody!COUNTEQU$TEXT;COUNT=17MOVCX,COUNTMOVBX,0NEXT:MOVAH,5MOVAH,5 MOVDL,TEXTBXMOVDL,TEXTBX INT21HINT21HINCBXLOOPNEXT例例:打印字符串打印字符串TEXT(BIOS)TEXTDBHello,everybody!COUNTEQU$TEXTMOVCX,COUNTMOVBX,0NEXT:MOVAH,0MOVAH,0 MOVAL,TEXTBXMOVAL,TEXTBX MOVDX,0MOVDX,0;打印机号打印机号打印机号打印机号 INT17HINT17HINCBXLOOPNEXT4.串行通信口串行通信口I/O(1)DOS 串行通信口功能串行通信口功能(INT 21H)AH功功 能能调用参数调用参数返回参数返回参数3读字符读字符AL=读入的数据读入的数据4写字符写字符DL=写入的数据写入的数据(2)BIOS 串行通信口功能串行通信口功能(INT 14H)AH功功 能能调用参数调用参数返回参数返回参数0初始化串行通信口初始化串行通信口AL=初始化参数初始化参数AH=通信口状态通信口状态DX=通信口号通信口号AL=modem状态状态1向向通信口写字符通信口写字符AL=所写字符所写字符成功:成功:AL=字符字符DX=通信口号通信口号失败:失败:AH=口状态口状态2从从通信口读字符通信口读字符DX=通信口号通信口号成功:成功:AL=字符字符COM1=0,COM2=1失败:失败:AH=口状态口状态3取取通信口状态通信口状态DX=通信口号通信口号AH=通信口状态通信口状态COM1=0,COM2=1AL=modem状态状态例例1.从串行口输入字符从串行口输入字符MOV AH,3 ;读字符读字符INT 21H ;DOS调用调用MOV CHAR,AL ;(AL)=读入字符读入字符 CHAR DB 0例例2.初始化初始化COM1端口端口MOV AH,0 ;读字符读字符MOV DX,0 ;COM1MOV AL,0C3H ;4800,n,1,8INT 14H ;BIOS调用调用 END 磁盘文件存取操作程序设计磁盘文件存取操作程序设计n磁盘文件管理DOS功能调用n磁盘文件存取操作程序设计举例磁盘文件存取技术磁盘文件存取技术 n 对对于于磁磁盘盘上上以以文文件件形形式式组组成成的的信信息息,可以通过以下方式访问:可以通过以下方式访问:n 使用一些实用程序如使用一些实用程序如WORDWORD、EDITEDIT等;等;n 使用使用INT 21HINT 21H的文件管理功能;的文件管理功能;n 通通过过目目录录项项、文文件件分分配配表表找找到到文文件件所所在在扇扇区区,从而访问它。从而访问它。磁盘文件管理磁盘文件管理DOS功能调用功能调用 nDOS提供了使用文件描述字(句柄)的文件操作功能调用,使得用户可以从逻辑角度使用文件,而不是从物理角度使用磁盘存储器。n可以将程序和数据以文件的形式进行存储、修改及读出等,避开了对磁盘存储器设备具体的复杂的管理和操作。表表 标准字符设备句柄标准字符设备句柄常用句柄式文件管理功能建立文件(功能号建立文件(功能号3CH)功能:创建指定的文件。功能:创建指定的文件。调调用用参参数数:AHAH3CH3CH,DS:DXDS:DX指指向向要要创创建建的的文文件件说说明明字字符符串串,该该串串应应以以0 0结结尾尾。CXCX文文件件属属性性,属属性性可可以以组组合合,例例如如06H06H为为隐隐含含的的系系统统文文件件。标标准准文文件件属属性性为为0 0,即即该该文文件件可可读读写。写。返回参数:若调用成功,则返回参数:若调用成功,则CFCF0 0,AXAX文件文件句柄句柄(handle)(handle),否则,否则CFCF1.1.说明:若创建成功,建议把说明:若创建成功,建议把AXAX中返回的文件中返回的文件句柄保存在一个变量中,以便后边对该文句柄保存在一个变量中,以便后边对该文件的操作。若说明的文件已经存在,则该件的操作。若说明的文件已经存在,则该文件长度被截文件长度被截0 0。调用格式:MOV DX,OFFSET BUFFER;DS:DX指 向文件标识符MOV AH,3CHMOV CX,文件属性代码INT 21H打开文件(功能号打开文件(功能号3DH)调用格式:MOV DX,OFFSET BUFFER ;DS:DX指向文件标识符MOV AH,3DHMOV AL,0(或1,2)INT 21H 功能:在指定或缺省的磁盘目录下查找并打开指定的文件,为读写文件返回一个文件描述字。调调用用参参数数:AHAH3DH3DH,DS:DXDS:DX指指向向要要打打开开的的文件说明字符串,该串应以文件说明字符串,该串应以0 0结尾。结尾。AL AL访问模式。访问模式。返返回回参参数数:若若调调用用成成功功,则则CFCF0 0,AXAX文件句柄。否则文件句柄。否则CFCF1 1,AXAX错误码。错误码。说说明明:若若打打开开成成功功,建建议议把把AXAX中中返返回回的的文文件件句句柄柄保保存存在在一一个个变变量量中中,以以方方便便后后边边对该文件的操作。对该文件的操作。错误类型码错误类型码 错误类型码含义1无效功能号 2文件未找到 3路径未找到或文件不存在 4无文件描述字或打开文件太多 5拒绝存取(访问失败)6无效文件描述字 7内存文件控制块被破坏 8存取码无效,无效访问 12存取码无效,无效访问 13无效数据 15指示了无效的驱动器 关闭文件(功能号关闭文件(功能号3EH)调用格式:MOV AH,3EHMOV BX,文件描述字INT 21H 功能:将内部缓冲区中的文件送磁盘,关闭文件。若文件被修改,则目录项中的日期、时间和文件大小被修改。调用参数:调用参数:AHAH3EH3EH,BXBX文件句柄。文件句柄。返返回回参参数数:若若调调用用成成功功,则则CFCF0 0。否否则则CFCF1 1,AXAX错误码。错误码。说说明明:BXBX中中的的文文件件句句柄柄应应是是由由前前边边的的成成功功创创建建或或打打开开文文件件功功能能得得到到的的。若若3EH3EH功功能能调调用用成成功功,则则把把内内部部缓缓冲冲区区的的内内容容全全部部放放入入盘盘中中,关关闭闭文文件件,并并释释放放文文件件句句柄柄以以供供它它用用。若若文文件件被被修修改改或或扩扩充充,在在目目录录项项中中的的日日期期、时时间间和和文文件长度均被修改。件长度均被修改。读文件(功能号读文件(功能号3FH)调用格式:MOV DX,OFFSET BUFFER ;指向文件存入的缓冲区MOV BX,文件描述字MOV CX,文件的字节数MOV AH,3FHINT 21H 功能:按照有效的文件描述字,从磁盘文件的当前指针下读文件到缓冲区,长度由CX决定。调调用用参参数数:AHAH3FH3FH,BXBX文文件件句句柄柄,CXCX要要读的字节数,读的字节数,DS:DXDS:DX读缓冲区的首地址。读缓冲区的首地址。返返回回参参数数:若若调调用用成成功功,则则CFCF0 0,AXAX实实际际读读的的字字节节数数,若若AXAX0 0,则则表表示示文文件件结结束束。若调用失败,则若调用失败,则CFCF1 1,AXAX错误码。错误码。说说明明:该该功功能能的的文文件件句句柄柄也也可可以以是是预预定定义义的的标标准准设设备备(如如键键盘盘),此此时时可可以以实实现现从从标标准设备读字符的功能。准设备读字符的功能。写文件(功能号写文件(功能号40H)调用格式:MOV AH,40HLEA DX,BUFFER ;DS:DX指向数据缓冲区MOV BX,文件描述字MOV CX,数据长度(字节数)INT 21H 功能:按照有效的文件描述字,把缓冲区数据写到磁盘文件当前指针下,长度由CX决定。调调用用参参数数:AHAH40H40H,BXBX文文件件句句柄柄,CXCX要要写写的字节数,的字节数,DS:DXDS:DX写缓冲区的首地址。写缓冲区的首地址。返返回回参参数数:若若调调用用成成功功,则则CFCF0 0,AXAX实实际际写写的的字字节节数数,若若AXAX0 0,则则表表示示盘盘满满。若若调调用用失失败,则败,则CFCF1 1,AXAX错误码。错误码。说说明明:该该功功能能的的文文件件句句柄柄也也可可以以是是预预定定义义的的标标准准输输出出设设备备(如如显显示示器器),此此时时可可以以实实现现输输出到设备的功能。出到设备的功能。移动读写指针(功能号移动读写指针(功能号42H)调用格式:MOV AH,42HMOV AL,移动方式码MOV BX,文件描述字MOV CX,位移量的高位字MOV DX,位移量的低位字INT 21H 功能:文件被打开之后,以指定的方式将读写指针移动到文件中需要的位置,以后的读写就从文件的这个位置开始,它提供了在文件中进行随机存取的能力。调调用用参参数数:AHAH42H42H,BXBX文文件件句句柄柄,CX:DXCX:DX指指针针移移动动的字节数,的字节数,ALAL方式码,其中:方式码,其中:ALAL0,0,从从文文件件首首开开始始移移动动文文件件指指针针(位位移移量量为为正正);ALAL1,1,从从当当前前位位置置移移文文件件指指针针(位位移移量量可可正正可可负负);ALAL2,2,从文件尾开始移动文件指针从文件尾开始移动文件指针(位移量可正可负位移量可正可负)。返返回回参参数数:若若调调用用成成功功,则则CFCF0 0,DX:AXDX:AX新新指指针针位位置置(从文件头开始的绝对字节位移)。(从文件头开始的绝对字节位移)。说说明明:若若调调用用成成功功,对对该该文文件件的的下下一一次次读读或或写写将将从从新新的的文文件件指指针针位位置置开开始始操操作作。若若使使ALAL2 2,CX:DXCX:DX0 0,则则从返回的指针位置得到文件长度。从返回的指针位置得到文件长度。利用文件句柄存取文件过程利用文件句柄存取文件过程n 打开或创建文件打开或创建文件移动文件指针到所需位置移动文件指针到所需位置(若顺序存取则由操作系统自动调整)(若顺序存取则由操作系统自动调整)置置CX为要读或写的字节数为要读或写的字节数进行读或写操作进行读或写操作关闭文件关闭文件读或写结束?读或写结束?NY1 1文件管理功能宏指令库文件管理功能宏指令库n程序程序 (文件名:(文件名:filefuc.macfilefuc.mac)nclrscr clrscr;功能功能:清屏清屏 入口入口:无无 出口出口:无无ncursor cursor;功能功能:置光标置光标n ;入口入口:DH:DL:DH:DL 行行,列出口列出口:无无 nputs macro row,col,sputs macro row,col,s;功能功能:在指定位置显示在指定位置显示n;字符串字符串 入口入口:s:s:字符串变量字符串变量(以以$结束结束)出口出口:无无nnewfile macro pathnam,msg6newfile macro pathnam,msg6;功能功能:创建文件创建文件n;入口入口:pathnam:pathnam:文件说明文件说明 n;出口出口:al=1:al=1成功成功,=0,=0失败失败nopenfile macro pname,msg2openfile macro pname,msg2;功能功能:打开文件打开文件 n;入口入口:pname:pname:文件说明文件说明n;出口出口:al=1:al=1成功成功,=0,=0失败失败 nwritefile macro length,buf,msg5writefile macro length,buf,msg5;功能功能:写文件写文件 n;入口入口:length:length:写字节数写字节数 buf:buf:缓冲区首址缓冲区首址n;出口出口:al=1:al=1 成功成功,=0,=0失败失败 nreadfile macro length,buf,msg3readfile macro length,buf,msg3;功能功能:读文件读文件 n;入口入口:length:length:读字节数读字节数 buf:buf:缓冲区首址缓冲区首址n;出口出口:al=1:al=1 成功成功,=0,=0失败失败nclosefile macro msg4closefile macro msg4;功能功能:关闭文件关闭文件n ;入口入口:无无 出口出口:al=1:al=1成功成功,=0,=0失败失败nLoadDs macro dataLoadDs macro data ;功能功能:给给DSDS赋值赋值n ;入口入口:数据段名数据段名:data:data出口:无出口:无nreturn macroreturn macro ;功能功能:返回返回DOSDOSn;入口入口:无无出口出口 无无2 2文件管理功能程序举例文件管理功能程序举例n 建立文件n在d盘的masm子目录下创建一个数据文件fdata.dat,为以后的读写使用。若创建成功,则显示“Create file ok!”,然后关闭该文件,返回DOS。在创建及关闭fdata.dat文件时若遇到错误,则显示相关的错误提示信息。文件名:文件名:filec.asmfilec.asmninclude filefuc.macn purge openfile,writefile,readfilendata segmentn msg0 db Create file ok!$n msg4 db Close file error!,$n msg6 db Create file error!,$n filehandle dw 0 ;文件句柄n name1 db d:masmfdata.dat,0 ;以0结尾的需创建的文件说明 ndata ends ncode segmentcode segmentnmain proc farmain proc farn assume cs:code,ds:data assume cs:code,ds:data n LoadDs dataLoadDs data;给给DSDS赋值赋值n clrscrclrscr;清屏清屏n newfile name1,msg6newfile name1,msg6;创建文件创建文件n puts 10,10,msg0puts 10,10,msg0;在指定位置显示信息在指定位置显示信息n closefile msg4closefile msg4;关闭文件关闭文件n returnreturn;返回返回DOSDOSn main endp main endpn code ends code endsn end main end main 写文件写文件n 实实 现现 写写 文文 件件 功功 能能。它它 首首 先先 打打 开开d:masmfdata.datd:masmfdata.dat文文件件;接接着着在在该该文文件件中中写写入入信信息息“Write Write demo!”demo!”;然然后后关关闭闭它它;最最后后返返回回DOSDOS。若若写写入入成成功功,则则显显示示“Write Write file file ok!”ok!”。在在对对fdata.datfdata.dat文文件件操操作作时时若若遇遇到到错错误误,则则显显示示相相关关的的错错误误提示信息。提示信息。文件名:文件名:filew.asmfilew.asmninclude filefuc.macinclude filefuc.macnpurge newfile,readfilepurge newfile,readfilendata segmentdata segmentnmsg0 db Write file ok!$msg0 db Write file ok!$nmsg2 db Open file error!,$msg2 db Open file error!,$nmsg4 db Close file error!,$msg4 db Close file error!,$nmsg5 db Write file error!,$msg5 db Write file error!,$nbuffer db Write demo!,0dh,0ahbuffer db Write demo!,0dh,0ahnct equ$-bufferct equ$-buffernfilehandle dw 0filehandle dw 0nname1 db d:masmfdata.dat,0 name1 db d:masmfdata.dat,0 ndata endsdata ends ncode segmentcode segmentnmain proc farmain proc farn assume cs:code,ds:data assume cs:code,ds:data n LoadDs data LoadDs datan clrscr clrscrn openfile name1,msg2 openfile name1,msg2;打开文件打开文件n writefile ct,buffer,msg5writefile ct,buffer,msg5;写文件写文件n puts 10,10,msg0puts 10,10,msg0n closefile msg4 closefile msg4n return returnnmain endpmain endpncode endscode endsn end main end main 读文件读文件n实实现现读读文文件件并并显显示示其其内内容容的的功功能能。它它首首先先打打开开d:masmfdata.datd:masmfdata.dat文文件件;接接着着在在该该文文件件中中读读出出信信息息;然然后后关关闭闭fdata.datfdata.dat文文件件;最最后后返返回回DOSDOS。若若读读取取成成功功,则则显显示示“Read Read file file ok!”ok!”。在在对对fdata.datfdata.dat文文件件操操作作时时若若遇遇到到错错误误,则则显显示示相相关关的的错错误误提提示示信信息息。为为了了验验证证其其读读取取的的正正确确性性,在在读读文文件件的的前前后后均均调调用用了了putsputs宏宏指指令令显显示示bufferbuffer中中的的信信息息,若若程程序序运运行行正正确确,两两次显示的信息应不相同。次显示的信息应不相同。文件名:文件名:filer.asmfiler.asmninclude filefuc.macinclude filefuc.macnpurge newfile,writefilepurge newfile,writefilendata segmentdata segmentnmsg0 db Read file ok!$msg0 db Read file ok!$nmsg2 db Open file error!,$msg2 db Open file error!,$nmsg3 db Read file error!,$msg3 db Read file error!,$nmsg4 db Close file error!,$msg4 db Close file error!,$nbuffer db 13 dup(r)buffer db 13 dup(r)n db$db$nct equ$-bufferct equ$-buffernfilehandle dw 0filehandle dw 0nname1 db d:masmfdata.dat,0 name1 db d:masmfdata.dat,0 ndata endsdata endsncode segmentcode segmentn assume cs:code,ds:data assume cs:code,ds:data n LoadDs data LoadDs datan clrscr clrscrnmain proc farmain proc farn openfile name1,msg2 openfile name1,msg2n puts 10,10,buffer puts 10,10,buffern readfile ct,buffer,msg3 readfile ct,buffer,msg3;读文件读文件n puts 12,10,bufferputs 12,10,buffern ;显示从显示从d:masmfdata.datd:masmfdata.dat中读出的信息中读出的信息n puts 14,10,msg0puts 14,10,msg0nclosefile msg4closefile msg4n return returnnmain endpmain endpncode endscode endsn end main end mainn程程序序运运行行成成功功后后,在在屏屏幕幕上上显显示示以以下下信信息:息:n rrrrrrrrrrrrr rrrrrrrrrrrrr n n Write demo!Write demo!n n Read file ok!Read file ok!四、四、字符设备句柄式输入输出字符设备句柄式输入输出 n程序:是从键盘输入一串字符并输出到显示器的例子。程序程序ninclude filefuc.macinclude filefuc.macnpurge newfile,closefilepurge newfile,closefilendata segmentdata segmentnmsg db error!$msg db error!$nbuffer db 60 dup()buffer db 60 dup()nct equ$-bufferct equ$-buffern db 0dh,0ah,$db 0dh,0ah,$nfilehandle dw 0filehandle dw 0ndata ends data ends ncode segmentcode segmentnmain proc farmain proc farn assume cs:code,ds:data assume cs:code,ds:data n Loadds data Loadds datan clrscr clrscrn readfile ct,buffer,msg readfile ct,buffer,msg ;从键盘读从键盘读n mov filehandle,1 mov filehandle,1 ;标准输出设备标准输出设备;(显示器)文件句柄(显示器)文件句柄n writefile ct,buffer,msg writefile ct,buffer,msg;写到显示器写到显示器n puts 10,10,bufferputs 10,10,buffern return returnnmain endpmain endpncode endscode endsn end main end mainn 程程序序运运行行时时首首先先等等待待从从键键盘盘输输入入字字符符串串,直直到到输输入入回回车车键键结结束束。然然后后在屏幕上显示输入的信息。在屏幕上显示输入的信息。n 可可以以看看到到,该该程程序序也也调调用用了了宏宏指指令令库库filefuc.macfilefuc.mac中中读读写写文文件件的的宏宏指指令令,它它把把设设备备当当文文件件一一样样对对待待,屏屏蔽蔽了了设设备之间的差异,使用起来十分简便。备之间的差异,使用起来十分简便。Thank you拯畏怖汾关炉烹霉躲渠早膘岸缅兰辆坐蔬光膊列板哮瞥疹傻俘源拯割宜跟三叉神经痛-治疗三叉神经痛-治疗
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!