汇编语言课程设计.doc_第1页
汇编语言课程设计.doc_第2页
汇编语言课程设计.doc_第3页
汇编语言课程设计.doc_第4页
汇编语言课程设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇汇编编 程程序序设设计计课课程程设设计计报报告告 ( 2011 - 2012 年度第年度第 2 学期学期) 题目题目 专业专业计算机科学与技术计算机科学与技术 学生姓名学生姓名王王* 班级班级b 计算机计算机 091 学号学号0910704101 指导教师指导教师 完成日期完成日期2011 年年 6 月月 21 日日 题目 目目 录录 1 概 述1 1.1 课程设计目的 1 1.2 课程设计内容 1 2 系统需求分析1 2.1 系统目标 1 2.2 主体功能 1 2.3 开发环境 1 3 系统概要设计1 3.1 系统总体分析规划 1 3.2 系统流程图 1 4 系统详细设计 1 附 录3 附录 1 源程序清单 .3 java 程序设计课程设计报告(2010) 3 学生成绩管理系统的设计学生成绩管理系统的设计 1 概 述 1.1 课程设计目的 本程序设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础 上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设 计方法,提高分析问题、解决问题的综合应用能力。 1.2 课程设计内容 课题:磁盘文件管理系统 2 系统需求分析 2.1 系统目标 通过在 dos 中执行该程序实现对文件的相关操作。 2.2 主体功能 1.功能菜单的编制; 2.可以创建新的文件; 3.可以向文件中写入内容; 4.可以读取文件中内容,并显示在屏幕上; 2.3 开发环境 在 dos 环境中应用 tasm50 实现 3 系统概要设计 3.1 系统总体分析规划 根据要求:1.功能菜单的编制; 2.可以创建新的文件; 3.可以向文件中写入内容; 4.可以读取文件中内容,并显示在屏幕上; 大致分析如下: 1.功能菜单的调出由子程序 menu 实现 2.要求中的 2、3、4 三条要求皆在功能菜单中通过键入 1、2、3、4 选择相应的功能。 java 程序设计课程设计报告(2010) 4 键入 1 表示创建新的文件,由子程序 create 实现; 键入 2 表示写入内容到文件,由子程序 write 实现; 键入 3 表示读文件内容并显示,由子程序 entry、read 实现; 键入 4 表示退出,即退出当前执行内容。 (注:此处所提到的子程序与代码中的定义相同相同。) java 程序设计课程设计报告(2010) 5 3.2 系统流程图系统流程图 出现错出现错 误提示误提示 出现成功提示出现成功提示 功能菜单调出功能菜单调出 功能选择功能选择 创建文件创建文件 开始开始 创建成创建成 功?功? 出现错出现错 误提示误提示 打开文件打开文件 打开成打开成 功?功? 写入内容写入内容 写入成写入成 功?功? 关闭文件关闭文件 关闭成关闭成 功?功? 出现成功提示出现成功提示 键入键入 1 键入键入 2 打开文件打开文件 出现出现 错误错误 提示提示 打开成打开成 功?功? 读文件读文件 读取成读取成 功?功? 显示内容显示内容 关闭文件关闭文件 关闭成关闭成 功?功? 提示成功提示成功 退出退出 结束结束 键入键入 4 键 入 3 y y y y y y y n n n n n n n java 程序设计课程设计报告(2010) 6 4 系统详细设计(功能实现及详细分析) 1.菜单功能的实现 菜单功能由子程序 me 实现,在 me 中仅是输出 menu,此功能运用 dos 中的 09h 调 用即可,而达成目标的操作则是在 data 中对 menu 进行定义实现的。 代码如下: data segment menu db 0dh,0ah,*,0dh,0ah db * menu *,0dh,0ah db *-*,0dh,0ah db * 1.create file *,0dh,0ah db * 2.write to file *,0dh,0ah db * 3.read file *,0dh,0ah db * 4.quit *,0dh,0ah db *-*,0dh,0ah db * choice(1-4) *,0dh,0ah db *,0dh,0ah,$ 2创建文件的实现 创建文件由子程序 create 实现,通过运用 dos 中的 3ch 调用即可。 由于相关文件的操作比较复杂,因此在相关方面有较多解释,而相对输入输出比较 简单,则不予叙述,以下文件打开、关闭、读取、写入皆如此。 文件创建调用时 由 ds:dx 提供路径以及文件名; cf 用来判定操作是否成功,cf=0 时,表示成功,cf=1 时表示失败; 操作成功则由 ax 存储文件代号,失败则由 ax 存储错误代码; cx 用来存放文件属性,cx=0 时表示为普通文件; 文件属性是用来表示“活动”文件的代号, “活动”文件可以理解为使用中文件。 例如以下代码: mov ah 3ch lea dx pathname mov cx 0 int 21h 若 pathname 以被定义为“d:ab.dat”则表示将在 d 盘 a 文件夹中创建名为 b.dat 的文件 java 程序设计课程设计报告(2010) 7 3.写入文件内容的实现 文件内容的写入由 entry、write 实现。 其中子程序 entry 用于输入想要写入的语句; 而将内容写如文件的是子程序 write, 大致分为三步:打开文件,写入内容,关闭文件, 文件的打开: 文件的打开通过运用 dos 中的 3dh 调用实现, 由 ds:dx 确定文件路径级文件名, 由 cf 判定是否成功, ax 存放相应的文件代号或错误代码, al 存放存取代码, 存取代码用于表示打开方式,0 表示可读,1 表示可写,2 表示可读可写,3 表示退出。 内容的写入: 内容的写入通过运用 dos 中的 40h 调用实现, 由 ds:dx 表示地址, bx 存放文件号, cx 表示写入的字节数。 文件的关闭: 文件的关闭通过运用 dos 中的 3eh 调用实现, 其余则与文件的打开类似。 例如以下代码: mov ah 40h lea dx buffer mov bx handle mov cx 60 int 21h 则表示往当前文件中写入 buffer 中前 60 字节的内容。 4.文件的读取 文件的读取由子程序 read 实现。 大致分为三步:打开文件,写入内容,关闭文件, 由于打开与关闭以介绍,则只介绍读取 文件的读取: 文件的读取通过运用 dos 中的 3fh 调用实现, 有 ds:dx 表示存放地址, bx 表示文件号, cx 表示读取的字节数, 例如以下代码: mov ah 3fh lea dx buffer mov bx handle mov cx 6o java 程序设计课程设计报告(2010) 8 int 21h 则表示读取当前文件中的前 60 字节并存放到 duffer 中, 而读取内容的显示则由 dos 中的 9h 调用实现。 5.退出 当前程序的退出通过运用 dos 中的 4ch 调用实现 java 程序设计课程设计报告(2010) 9 附附 录录 附录 1 源程序清单 data segment menu db 0dh,0ah,*,0dh,0ah db * menu *,0dh,0ah db *-*,0dh,0ah db * 1.create file *,0dh,0ah db * 2.write to file *,0dh,0ah db * 3.read file *,0dh,0ah db * 4.quit *,0dh,0ah db *-*,0dh,0ah db * choice(1-4) *,0dh,0ah db *,0dh,0ah,$ pathname db d:ibm pc.txt,00 handle dw ? buffer1 db 60,0,60 dup (?) buffer2 db 60,0,60 dup (?) huanhuang db ,0dh,0ah,$ chose db 0dh,0ah,please enterthe digital from 1- 4!,0dh,0ah,$ rntery db 0dh,0ah,enter what you want to write to the file!,0dh,0ah,$ str_ok1 db 0dh,0ah,create file successfully!,0dh,0ah,$ str_ok2 db 0dh,0ah,write to file successfullly!,0dh,0ah,$ str_ok3 db 0dh,0ah,read from file successfully!,0dh,0ah,$ str_error1 db create file error!$ str_error2 db open file error!$ str_error3 db write to file error!$ str_error4 db read file error!$ str_error5 db exit from file error!$ data ends code segment assume cs:code,ds:data main proc far start: mov ax,data mov ds,ax mov ax,0600h call me java 程序设计课程设计报告(2010) 10 call choice ret main endp me proc near mov ah,9 lea dx,menu int 21h me endp choice proc near mov ah,1 int 21h cmp al,31h je next1 cmp al,32h je next2 cmp al,33h je next3 cmp al,34h je next4 jmp back next1: call create next2: call entry next3: mov ah,9 lea dx,huanhuang int 21h call read next4: mov ax,4c00h int 21h back: mov ah,9 lea dx,chose int 21h call me ret choice endp create proc near mov ah,3ch lea dx,pathname mov cx,0 int 21h java 程序设计课程设计报告(2010) 11 jc error1 mov handle,ax jmp exit error1: mov ah,1 lea dx,str_error1 int 21h jmp exit1 exit: mov ah,9 lea dx,str_ok1 int 21h exit1: call choice create endp entry proc near mov ah,9 lea dx,rntery int 21h lea dx,buffer1 mov ah,0ah int 21h sub ch,ch mov cl,buffer1+1 add dx,2 call write ret entry endp write proc near mov ah,3dh lea dx,pathname mov al,1 int 21h jc error2 mov handle,ax mov ah,40h lea dx,buffer1+2 mov bx,handle mov cx,60 int 21h jc error3 mov ah,3eh mov bx,handle int 21h java 程序设计课程设计报告(2010) 12 jc error4 jmp back1 error2: mov ah,9 lea dx,str_error2 int 21h jmp exit2 error3: mov ah,9 lea dx,str_error4 int 21h jmp exit2 error4: mov ah,9 lea dx,str_error5 int 21h jmp exit2 back1: mov ax,9 lea dx,str_ok2 int 21h exit2: call choice write endp read proc near mov ah,3dh lea dx,pathname mov al,0 int 21h jc error5 mov handle,ax mov ah,3fh lea dx,buffer2 mov bx,handle mov cx,60 int 21h jc error6 mov ah,9 lea dx,buffer2 int 21h jc error6 mov ah,3eh mov bx,handle int 21h java 程序设计课程设计报告(2010) 13 jc error7 jmp bac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论