您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 汇编语言-实验五---输入输出程序设计
实验五输入输出程序设计一、实验目的1)掌握输入输出程序的编写方法。2)熟悉系统功能调用的方法。3)熟悉动画程序的编写方法。二、实验内容1)在CRT上每隔一秒连续显示字符0-9。编程提示为了使输出的字符之间有空格,在每一个循环中输出一个0-9的字符和一个空格。为了输出0-9,置寄存器BL初值为0,每循环一次使其增量。为了保证输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND0FH指令屏蔽高4位。2)用系统功能调用将‘HELLO’由键盘输入,再从屏幕输出‘***HELLO***’。3)编制在屏幕上画线的子程序,调用该子程序画一矩形。4)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底部。5)创建一磁盘文件,保存从键盘输入的字符串。6)编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。7)编写程序将屏幕分割成格状,每一格涂上不同颜色,格数从键盘输入。8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。三、源程序EXAM5-1STACKSEGMENTSTACKDB1024DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKSTART:MOVBL,0LP:MOVDL,20HMOVAH,2INT21HMOVAL,BLADDAL,0DAAANDAL,0FHMOVBL,ALPUSHBXORAL,30HMOVDL,ALMOVAH,2INT21HMOVBX,3E8HLP2:MOVCX,176H;延时1msLP1:PUSHFPOPFLOOPLP1DECBXJNZLP2POPBXINCBLJMPLPCODEENDSENDSTART执行程序EXAM5-1·EXE,屏幕上依次循环显示一个数字一个空格:0123456789……EXAM5-2STACKSEGMENTSTACKDB1024DUP(0)STACKENDSDATASEGMENTBUFFDB6,7DUP(?),‘$’DATAENDSINPUTMACROBUFEMOVDX,OFFSETBUFEMOVAH,0AHINT21HENDMPUTCHARMACROCHARMOVDL,CHARMOVAH,02HINT21HENDMCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXINPUTBUFF;读取字符串➝BUFFPUTCHAR0DHPUTCHAR0AH;光标另起一行MOVCX,0003HNEXT:PUTCHAR2AHLOOPNEXTMOVCL,BUFF+1SUBCH,CHMOVBX,OFFSETBUFF+2BEGIN:MOVAL,[BX]PUTCHARALINCBXLOOPBEGINMOVCX,0003HNEXT1:PUTCHAR2AHLOOPNEXT1MOVAH,4CHINT21HCODEENDSENDSTART执行程序EXAM5-2·EXE,输入HELLO↙屏幕上显示结果:***HELLO***EXAM5-5NAMEEXAM6SSTACKSEGMENTSTACK’stack’DB1024DUP(?)SSTACKENDSDATASEGMENTASKNAMEDB0DH,0AH,’Enterthe’DB’destfilename:$’ASKCONTDB0DH,0AH,’Enterthestring’DB’asfilecontent:’0dh,0ah,’$’FILEBUFDB62,63DUP(?)HAND_DDW?MSGMERDB0DH,0AH,0AHDB’Directoryfull’,0DH,0AH,’$’MSGWERDB0DH,0AH,0AHDB’Diskfull’,0DH,0AH,’$’MSGSUCDB0DH,0AH,0AH,DB’WritefileisSuccessful’DB0DH,0AH,’$’DATAENDSDISPLYMACROTEXTMOVDX,OFFSETTEXTMOVAH,09HINT21HENDMCRHANDMACROPATH,ATTRMOVDX,OFFSETPATH;文件名MOVCL,ATTR;文件属性XORCH,CHMOVAH,3CHINT21HENDMWRHANDMACROHAND,BUFF,BYTEMOVBX,HANDMOVDX,OFFSETBUFFADDDX,2MOVCL,BYTEXORCH,CHMOVAH,40HINT21HENDMCLHANDMACROHANDMOVBX,HANDMOVAH,3EHINT21HENDMCODESEGMENTPROGPROCFARASSUMECS:CODE,DS:DATA,SS:SSTACKPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXDISPLYASKNAME;提示输入文件名MOVDX,OFFSETFILEBUFMOVAH,0AHINT21HMOVDI,OFFSETFILEBUF[2]MOVBL,FILEBUF[1]XORBH,BHMOVBYTEPTR[BX][DI],00HCRHANDFILEBUF[2],0;创建并打开新文件JCCRTERRMOVHAND_D,AX;存文件句柄DISPLYASKCONT;提示键入文件内容MOVDX,OFFSETFILEBUFMOVAH,0AHINT21HWRHANDHAND_D,FILEBUF,FILEBUF[1]JCWRITERRCLHANDHAND_DDISPLYMSGSUCJMPEXITCRTERR:DISPLYMSGMERJMPEXITWRITERR:DISPLYMSGWEREXIT:RETPROGENDPCODEENDSENDPROG
本文标题:汇编语言-实验五---输入输出程序设计
链接地址:https://www.777doc.com/doc-6400413 .html