计算机组成与汇编课程设计报告

上传人:cl****1 文档编号:503797822 上传时间:2023-01-28 格式:DOC 页数:22 大小:516KB
返回 下载 相关 举报
计算机组成与汇编课程设计报告_第1页
第1页 / 共22页
计算机组成与汇编课程设计报告_第2页
第2页 / 共22页
计算机组成与汇编课程设计报告_第3页
第3页 / 共22页
计算机组成与汇编课程设计报告_第4页
第4页 / 共22页
计算机组成与汇编课程设计报告_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《计算机组成与汇编课程设计报告》由会员分享,可在线阅读,更多相关《计算机组成与汇编课程设计报告(22页珍藏版)》请在金锄头文库上搜索。

1、CENTRALSOUTHUNIVERSITY计算机组成与汇编课程设计报告学生姓名汪锋指导教师杨希学院信息科学与工程学院专业班级计科 0802完成时间2011年 7 月目录1设计 内容22设计 目的23概要 设计24详细 设计25程序 代码96 运行结果207设计 总 结20参考文 献21一、设计内容1输入2030 之间的n 值,用递归计算Fibonacci数,以十进制数输出.2编写一拷贝程序,要求在命令行指定源文件名和目标文件名.3编写一个成绩统计程序,接收一批(最多20 个)从键盘录入的0-100 之间的十进制格式的分数值,无数据直接回车时结束成绩录入。然后显示录入的总人数,总分,平均分值(

2、十进制整数格式),显示优秀,良好,中等,及格和不及格人数。(注: 90以上优秀80 以上良好70 以上中等60 以上及格60 以下不及格 )4虚拟平台的模型机实验二、设计目的课程设计是计算机原理与汇编语言教学过程中的重要环节。本课程设计主要目的是使计算机专业学生深入学习计算机原理与汇编语言知识,进一步提高学生计算机原理与汇编语言综合能力和程序设计技能,锻炼运用计算机原理与汇编语言解决实际问题的能力。三、概要设计1、实验一是Fibonacci数列的求值,可通过递归调用实现。2、实验二是要求复制文件,通过给出的文件名找到并打开文件,然后将文件内容读入内存,建立一个新文件,将内存中的内容写入心文件中

3、。3、实验三要求对学生成绩进行统计,并输出相关信息。可先将输入数据读入一个数组中,每读入一个数据,计算器家 1,将读入的所有数据相加得到总分,并对每个数据进行比较,统计相应等级。4、实验三是虚拟实验,要求通过给出的各种芯片和元器件,连接成一个虚拟机,并进行相关的指令操作。四、详细设计1、 Fibonacci数列求值算法思想是先将输入的字符存入数组中,然后将其转化为十进制数,再通过调用递归函数实现求值,最后将结果转化为字符串后输出。主要代码如下:数据段的定义:data segment;数据段bufdb 3,?,3 dup(?)buf1 db 5 dup(?)db $buf2 db 0flag d

4、b 1mess1db enter the number:,$mess2db 13,10,result:,$buf3 db 1,24 dup(0)buf4 db 1,24 dup(0)data ends输入参数并将参数转化为十进制数lea dx,mess1;提示 输入mov ah,9int 21hmov dx,offset buf;输入参数mov ah,0ahint 21hlea si,buf;计算参数的 值push axmov al,0sub byte ptr si+2,30hadd al,byte ptr si+2递归调 用的子程序code2 segment;子程序assumecs:code

5、2,ds:data,ss:ssegsum proc farlea si,buf3cmp dl,buf2jb sum1jmp exitsum1:inc dllea di,buf4mov cx,25s1:mov al,simov bl,diadd di,alcmp byte ptr di,10djb s2sub byte ptr di,10dadd byte ptr si+1,1s2:mov si,blinc diinc siloop s1call sumexit :retsum endpcode2 ends将结果输出mov dl,0dh;输出mov ah,2int 21hmov dl,0ahmo

6、v ah,2int 21h2、文件复制文件复制主要算法流程为先将 输入的文件名存入一个 缓冲区并打开文件,打开文件后,以512 个字节为单 位将文件内容 读入到内存 缓冲区中,知道源文件末尾。读完文件后,根据 输入的目标文件名 创建文件,然后同 样以 512 字节为单 位将内存 缓冲区中的字符串写入目标文件中,写操作完成后,关 闭文件。其主要代码 如下:数据段:dataSEGMENTmess1DBPlease,input file name:,0DH,0AH,24Hmess2DB0DH,0AH, Please,input destination file name:,07H,0DH,0AH,2

7、4HfnfDB0DH,0AH, file hasnot existed!,07H,0DH,0AH,24HfdfDB0DH,0AH, Destination file hasexisted!,07H,0DH,0AH,24HfdeDB0DH,0AH, Destination path has not existed!,07H,0DH,0AH,24HfreDB0DH,0AH, reading error.,07H,0DH,0AH,24HfweDB0DH,0AH, writting error.,07H,0DH,0AH,24HfcsDB0DH,0AH, File copyed succeed.,0DH

8、,0AH,24HfbufferDB128;缓冲区DB?fnameDB128 DUP (?) ;字符串名fnum_sDW?;源文件号fnum_dDW?; 新文件号bufferDB512 DUP (?) ;字符串内容dataENDS存入文件名称:full0:LEA DX,mess1;提示信息 输出MOV AH,9INT 21HCLDMOV CX,128;将文件名存入 fname 中MOV AL,0LEA DI,fnameREP STOSB字符读入内存:readf:MOVBX,fnum_s;取源文件号MOV CX,512;读出 512 个字符MOV DX, OFFSET bufferMOV AH,3

9、FHINT 21HJNC writef;读成功,则写LEA DX,fre;不成功,显示错误 信息,关闭文件,并结束程序MOV AH,9INT 21HJMPexit字符写入目标文件:writef: MOV BX,fnum_d;取新文件号MOV CX,AX;按实际读 入字数写文件MOV AH,40HINT 21HJNC cmpcx; 写成功LEA DX,fwe;不成功,显示错误信息,关闭文件,并结束程序MOV AH,9INT 21HJMP exit关闭文件:exit:MOVAH,3EH;关闭文件INT 21HMOV BX,fnum_sMOV AH,3EHINT 21HMOV AX,4C00HINT

10、 21H3、成绩统计 程序算法思想是先将键盘输入的字符串成绩转化为十进制后存入内存缓冲区中,读入的同时进行计数。然后通过循环语句实现成绩的评定统计与累加过程,将总分除以计数器即得平均分。最后将所得数据转化为字符串后显示出来。主要代码如下:数据段:DA TA SEGMENTSTRING1DBPlease Input Score:,$STRING2 DBThe total number is:,$STRING3 DBThe sum is:,$STRING4 DB*,0AH,0DH, $ENTER1DB 0AH,0DH, $SCOREDW 60 DUP(?);分配存 储空间TMPDB 0,0,0,0

11、S5DW0;定义变量S6DW0S7DW0S8DW0S9DW0S10 DW0TOTALSCORE DB 0DA TA ENDS输入:INPUT:;输入一个字符MOVAH,1INT21HCMP AL,30HJB ENTER2CMP AL,39HJNB INPUTMOV AH,AL;AB=A*10+BMOV BH,10MOV AL,BLMUL BHMOV BL,ALJMP INPUT显示总人数:NUM:;显示总人数MOVDX, OFFSET STRING2;输出 “ thetotal number is:”MOVAH,09HINT21HMOV AX,DI;output the nuber of studentsCALLB_TO_DCALLOUTTMP计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号