资源描述:
《汇编语言程序设计教学资料-7项目七答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、项目考核填空题1.传统文件管理方式与扩充文件管理方式。2.程序或数据。3.树型结构。4.绝对移动方式,相对移动方式,绝对倒移方式。简答题1.答:错误代码为:(1)06(2)03(4)192.答:此操作将文件长度置为0,写新文件,原文件内容被清除。3.答:文件结尾的部分信息就没有被写入磁盘,从而造成写入的文件不完整。4.答:ASCPATHDB‘D:PATIENT.LST’,0编程题1.对文件文件PATIENT.LST,它的每个记录包含:病例号(patientnumber):5字符,姓名(name)
2、:20字符,城市(city):20字符,街道(streetaddress):20字符,出生年月(mmddyy):6字符,性别(M/Fcode):1字符,病房号(roomnumber):2字符,床号(bednumber):2字符,(1)定义病人记录的各个域(2)定义保存文件代号的变量FHANDLE(3)建文件(4)把PATNTOUT中的记录写入(5)关文件(6)以上文件操作包括测试错误参考源程序如下:(1)PATNTOUTEQUTHISBYTEpatientDB5DUP(?)nameDB20DUP(
3、?)cityDB20DUP(?)streetDB20DUP(?)mmddyyDB6DUP(?)M_FcodeDB?roomDB2DUP(?)bedDB2DUP(?),0AH,0DHCOUNT=$-PATNTOUT;记录长度(2)FHANDLEDW?(3)MOVAH,3CH;建文件功能MOVCX,00;普通文件属性LEADX,ASCPATHINT21HJCERRORMOVFHANDLE,AX;保存文件代号(4)MOVAH,40H;写文件功能MOVBX,FHANDLE;取文件代号MOVCX,COUNT
4、;记录长度LEADX,PATNTOUT;记录的首地址INT21HJCERRORCMPAX,COUNT;所有的字节都写入了吗?JNEERROR1(5)MOVAH,3EH;关闭文件功能MOVBX,FHANDLE;取文件代号INT21HJCERROR(6)文件操作的测试错误已包括在(3)、(4)、(5)的操作中。2.编写建立并写入磁盘文件的程序。允许用户从键盘键入零件号(3字符),零(配)件名称(12字符),单价(1个字)。程序使用文件代号式建立含有这些信息的文件。注意要把单价从ASCII码转换为二进制
5、数。参考源程序如下:TITLEHANCREAT.EXE;利用文件代号式建立文件程序;-------------------------------------------------------------.modelsmall.stack100h.dataprompt1db'PleaseinputPart#:$';提示输入零件号prompt2db'PleaseinputDescription:$';提示输入零件名称prompt3db'PleaseinputPrice:$';提示输入单价maxle
6、ndb13;最大输入长度,输入字符串功能的缓冲区actlendb?;实际输入长度bufferdb13DUP('');输入字符串缓冲区crlfdb0dh,0ah,'$'pathnamedb'filename.lst',0handledw?dtadb19DUP('');DTAerrcdedb0;错误处理指示opnmsgdb'***openerror***',0dh,0ahwrtmsgdb'***writeerror***',0dh,0ah;-------------------------------
7、------------------------------beginprocfarmovax,@datamovds,axmoves,axmovax,0600hcallscren;清屏callcurs;设置光标callcreath;建立文件cmperrcde,0;建立错误吗?jnza0;错误,转结束contin:callproch;记录处理cmpactlen,0;输入的字符串长度为0,结束输入吗?jnecontin;不结束,继续callclseh;结束输入,关闭文件a0:movax,4c00h;退
8、出程序,返回DOSint21hbeginendp;-------------------------------------------------------------;建立文件creathprocnearmovah,3chmovcx,0;普通属性leadx,pathnameint21hjcbbb;建立文件错误吗?movhandle,ax;没有错,保存文件代号retbbb:leadx,opnmsg;建立文件错误callerrm;显示出错信息retcreathendp;-----