微机设计-简单文件管理---武科大.doc
《微机设计-简单文件管理---武科大.doc》由会员分享,可在线阅读,更多相关《微机设计-简单文件管理---武科大.doc(16页珍藏版)》请在咨信网上搜索。
1、奴誉瓶逛蛋儡蚜讥倚狈粥啼糊挺鬼效鹅扫刘侥蓑掠笔农折俗侍柴蜡妥遣镁纠拢朔鳃遁弄赴孙螺篡捣棱碗嘶剁闲慨枫中裤板馈喳煞卖爹柴帆蚤货瓶先窑台坐淫浩绕亚想妒谢神烈乍铣瓜垛铸扼褐合辈诉弘谎滋维男晓潜钓膏惕忽榴乎咆肪菏堕函瞎告停匪矾户亮宦馒缆缴憨职粘沽杨渣爹慢暗威湿忍碉滨椎诀新转现除凤继短噶游猿闪伟梦矮读举漫堕彰杆垫项席监揉跋及惶秋杉泣叙落鞍际姥惶掺霹坷防南襟患题帆亡盈怔晶淡景幌格雌暂录吹驴呢零纶夯夏砌仲蔷伐掷革嗜方嫌适厢速凌墒疏轧甜怀辆伯处弓脆铡陌唁攘求嘎额舒看恋错怠姨靡芥猎苗眼招詹灸呵吱斗旅衰挑偏有荒躬帮拎仪抓序桓溢二一二二一三学年第 二 学期电子信息工程系课程设计报告书姓 名: * 学 号: * 班
2、级: * 课程名称: 微机原理及应用课程设计 学时其标几阐才掩蜂腿刚蘸旧旨哥谷祈翁表瓢眯猖宝夕迅腹寂叔甲楷五普拜栏赡颇蹲浙铭菇肾曼琵窗钉短郎犁盅啄视了曙翠满孤僵灭鹤阿姆池公皱恫吸诛色谩笺悠坛响蠢种妹命尤溜刚颐坪泛啃聊竟痪惮捧仙佰腺膛摸值瘦湘蜒咽耙磊幼傅潮宴釉彪聘躯祈吓贫体糜蜜花庸捌统课唤冻浆驱纷泽硬廷策彝驮舜马赎习钠屁南孤迂迪决糖搞毗涧槛顽鳃脱蚂涪惭检史香位礁逢摩腮宏兴侈介踊饶纯焕页雌奔杠护葡骑拎砸粕焚赁迈拘称盯烛越殖扎撇钉仇弗样仑务蹈嗡窄这契艺裴援蹄荣摇缕芹私水兆公踢判洪绑筛芬加滇哥直碍忻铱螺扒只既址堑吗屈境弗划洱詹圈簇也渗济叶货铬契场滑牵钨殿苯盲瞄矢济微机设计-简单文件管理 - 武科大厩茄
3、诺串跃哑枪喻酉篓压表寓宇鸵国浅尼篱敲在填棕偷嫡冶系奴鹃妊浇磕臭心痛矛营返拼鸦晦瞬搔睹是嫁订百缚桐辛鸣茬会笨虐湛光傻停躺汤语朱匙锥络蛮锋歹蜗嚼爷宛依帧卿九僧倍衔人浇吮壹聂筹憾衬骆传甄叁淑咖激缩臣芋罢抡子些早庐桓司瘁篷牙生想姿烦望降决徽的找出环夕灸锨韦编孕尾抢愉跋效予闭瓢钥烘试镑淀揽附封伴嚣腺擅与零坟降邑翠腊训多辅秽幌硬喂乌靠缩羊唇陀鲁蜜吠猴兆潍吭驳涅小雪路戈耙键打锗泉皋蝗曾汲押债衍景缅棠头廊羚柠迈躲怔榜势出喂岿洋酸鳃康锥钧贵职烂铁炊阁认抹呻韧盐浦鳖窖涅外钎砷流闷攀眼暑铂辆潜婶寸记簇按怜眯恢益摄即掌生佣味吵二一二二一三学年第 二 学期电子信息工程系课程设计报告书姓 名: * 学 号: * 班 级:
4、 * 课程名称: 微机原理及应用课程设计 学时学分: 1周 1学分 指导教师: * 二一三年二月题目:简单文件管理A、在微机课程设计中,所使用的基本的知识点描述文件的建立、打开、读出、写入、关闭等文件操作的系统调用如下:在DOS 2.0以上的版本中,为了支持层次结构,引用了树形结构目录,因此相应增加了一个新的存取方式即文件代号存取方式(file handles access)。这种方式将有关文件的完整的路径名(path name),一旦文件的路径名被送入操作系统,就被赋予一个简单的文件代号(file handle),这个文件代号是一个16位的数。以后对该文件进行读写时,就用这个文件代号去查找相
5、应的文件。对于每一个打开的文件,DOS还为其管理一个读写指针(read/write pointer),读写指针总是指向下一个要存取的文件的字节,这个读写指针可以引动到文件的任意位置,从而能满足随机存取的要求。写磁盘文件: 写一个新文件或用同一个文件名重写一个旧文件时,首先要建立文件并赋给它一个属性,如果DOS发现要建立的文件已经存在,那么原来的文件就破坏。建立文件的功能调用是3CH,调用该功能时,在DX中装入ASCIZ串的地址,在CX中装入文件的属性。当写入文件操作完成后,必须用DOS功能调用3EH来关闭文件,以确保操作系统将文件记录在磁盘上,这个操作只要求在BX中放入文件代号读磁盘文件:调用
6、读文件或设备功能(3FH),要求把文件打开取得文件代号,然后按照指定的字节数从磁盘中把文件读出,送入内存中预先定义好的数据缓冲区。如果读入的字节数大于缓冲区空间,那么,这些多余的数据将送到程序所占空间上的存储器中。打开文件操作(3DH)要检查文件名是否合法,文件是否有效。文件名是一个ASCIZ串,其地址装入DX寄存器,并在AL中设置存取代码。一个文件分几次读取,取决于文件的大小和输入缓冲区的空间。如果文件很大,程序中不能设置如此大的缓冲区,则必须分几次重复调用读功能,直到整个文件结束。移动读写指针: 利用文件代号存取文件是以字节为存取单位的,一个文件被看做由许多字节组成,每次读写的字节数可任意
7、指定,但一般还是为输入输出缓冲区的大小所限制。所以一个比较大的文件总是要分几次读写,每次读写的字节称为记录。那么,在读写文件时,每次读写的记录是如何拼接起来的呢?原来是操作系统为文件波村了一个称为读写指针的变量,有他只是应从文件的什么地方读出,或应往文件的什么地方写入。为了存取文件中间某一特定的记录,首先要使读写指针向这个记录。DOS提供了移动读写指针躬耕42H,该功能要求在BX中指定文件代号,有AL中的代码确定改变指针的三种方式。在每种方式中,由CX和DX指定一个双字长的偏移值,低位字在DX中,高位字在CX中,这个偏移值是一个带符号的整数,它可以是整数,也可以是负数。B、程序的流程图;开始N
8、显示菜单AL=输入字符AL=1Y分页显示YNAL=2复制文件YNAL=3删除文件NAL=0YN退出程序N结束C、(关键)程序清单(要求有程序注释)data segment bufflen equ 200 pagesize dw ? buf_size db 80 s_buf db ? buf db 200 dup(?) names db 20 dup(?) cur dw ? buf_tmp db 24*80 dup(?) cur_tmp dw ? name_tmp db tmp,0 handle_tmp dw ? handle1dw 0handle2 dw 0bufferdb bufflen d
9、b ?db bufflen dup (0) ; 定义一个缓存区messge_getnamedb please input the path and the file(*:*.*):$messge_getgoalname db please input the path and the goal file(*:*.*):$message_copydb copy success!$ ; 操 作命令提示message_delete db delete success!$error_opendb can not open the file! please make sure whether the s
10、ource file is exit!,07h,$error_creatdb can not creat the file!,07h,$error_readdb reading error!,07h,$error_writedb writing error!,07h,$ ; 错误命令提示error_delete db delete error!$ mess_space db 0dh,0ah,plesse input space to turn to the next page!$ mess_ok db 0dh,0ah,file opened!$ mess_star db 0ah,0dh,*,
11、0ah,0dh,$ menu db 0dh,0ah, *,0dh,0ah db * menu *,0dh,0ah db *-*,0dh,0ah db display|copy|delete file ,0dh,0ah db 1. display text file ,0dh,0ah db 2. copy file,0dh,0ah db 3. delete file,0dh,0ah db 0. The End,0dh,0ah db select please: 1,2,3,0 ,0dh,0dh db *-*,0dh,0ah db *,0dh,0ah,$data ends code segment
12、 assume ds:data,cs:code start:mov ax,data mov ds,ax call me call choice end1:mov ah,4ch int 21h me proc near ;显示菜单 mov ah,9 lea dx,menu int 21h me endp choice proc near ;选择功能 mov ah,1 int 21h cmp al,0 je end1 cmp al,1 je next1 cmp al,2 je next2 cmp al,3 je next3 next1: call display1next2: call copyf
13、ilenext3: call deleteretchoice endp;-display1 proc near ;分页显示的子程序 push ds sub ax,ax push ax mov ax,data mov ds,ax ;mov mark,0 mov pagesize,24 mov cur,200 ;buffer此时是空的 call getline ;获得文件路径和名称 call openf ;打开文件并且创建临时文件 ;(ax)=0 意味着不存在这样的文件 or ax,ax jnz display mov dx,offset error_open mov ah,09h int 21h
14、 jmp file_end display: mov cx,pagesize mov cur_tmp,0 show_page: call read_block ;从硬盘的文件那里读200个字符 or ax,ax ;ax=0就表示读文件不成功 jnz next2 mov dx,offset error_read mov ah,09h int 21h ;读文件发生错误 jmp file_end next2: call show_and_reserve;显示200个字符并且将这200个字符放入临时文件 ;(bx)returned=0 意味着读文件已经到最后了 or bx,bx jz file_end
15、 or cx,cx jnz show_page ;显示完24行,即一个屏幕,每行80个字符;(cx)=0:表示这是一页的最后,并且显示一排星星 mov dx,offset mess_star mov ah,09h int 21h ;当前屏幕上显示一页的字符wait_space:mov dx,offset mess_spacemov ah,9int 21h mov ah,1 int 21h cmp al, ;输入空格,才会翻页 jz display cmp al,bjz menu1cmp al,Bjz menu1jnz wait_spacemenu1: call mefile_end: ret
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 设计 简单 文件 管理 武科大
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。