当前位置:文档之家› 计算机组成原理与大全实验报告

计算机组成原理与大全实验报告

计算机组成原理与汇编课程设计实验报告字符统计.asm2.斐波那契数(小于50).asm (29)一、课程设计目标通过课程设计使学生综合运用所学过的计算机原理与汇编知识,增强解决实际问题的能力,加深对所学知识的理解与掌握,提高软硬件开发水平,为今后打下基础。

课程设计的目的和要求:1、使学生巩固和加强《计算机原理与汇编语言》课程的基本理论知识。

2、使学生掌握汇编语言程序设计的方法及编程技巧,正确编写程序。

3、使学生养成良好的编程习惯并掌握调试程序的基本方法。

4、使学生养成规范书写报告文档的能力,撰写课程设计总结报告。

5、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。

12341230000100100100000000010110011000000001011010000000000000000000001本实验设计机器指令程序如下:4)这里做的是个加法运算,第一个加数已经存入到内存的0000 1010单元中,第二个加数是需要手工输入的。

在实验运行面板中点击“运行”按钮,选择“输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样第二个加数就设置好了。

5)在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。

或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令。

观察各个芯片的状态,思考模型机的运行原理。

四、课程设计的要求1、根据题目内容,查阅资料。

2、编写课程设计预习报告。

3、编制程序及调试程序。

4、分析总结,写出课程设计报告,报告中应该包含程序功能与使用说明、程序功能实现方法说明、如流程图与算法参数说明等内容,设计经验体会总结,源程序清561通三、实验设计内容读取文件代码段:MOV AX,DATASMOV DS,AX ;置数据段寄存器;MOV DX,OFFSET FNAMEMOV AX,3D00H ;读打开指定文件JNC OPEN ;打开成功,转 OPENMOV SI,OFFSET ERROR1 ;显示打开不成功提示信息CALL DMESSJMP OVER;OPEN:MOV BX,AX ;保存文件代号;读MOV AL,BUFFER ;文件未结束,取所读字符R1:CLCR2:RETREAD_CHAR ENDP;DMESS PROCDMESS1:MOV DL,[SI]OR DL,DLJZ DMESS2MOV AH,2INT 21HJMP DMESS1DMESS2:RETDMESS ENDPmovJA LOOP1 ; 若IF>41H(A),跳L1比较42H(B) LOOP1:INC CLADD DI,1JMP H1HIGHER2:mov CL,61HLEA DI,ARRAYCMP CH,CL ;若IF<61H(A),OTHERS++ JB OTHERCMP CH,7AH ;若IF>7AH(Z),跳转继续比较JA OTHERH2:CMP CH,CLJE CHAR ;若IF=61H(a),CHAR[0]++2通过该实验充分了解递归程序的用法二、实验内容三、实验设计内容循环递归代码段(主要实现递归调用斐波那契函数)MOV AX,F1 ;ax=0ADD AX,F2 ;ax=1JC EXIT ;若有进位则跳出MOV BX,F2 ;bx=1MOV F1,BX ;f1=1MOV F2,AX ;f2=1CALL OUTPUT ;调用outputMOV CX,0OL1:MOV DX,0DIV BX ;ax=0,dx=1ADD DL,'0';加上30h,使数字3变成字符3 PUSH DXINC CX ;CX=0,每次加1CMP AX,0 ;比较ax=1和0JNZ OL1MOV AH,2 ;字符输出,要输出的字符已经在dl中OL2:POP DXINT 21H31、2、芯3、环境组成原理虚拟实验室采用的是B/S架构,在客户端电脑上的浏览器地址栏中输入正确的地址进行访问即可。

网址为4、实验原理图1 模型机示意图图1中所示模型机包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。

这些部件的动作控制信号都有微控器根据微指令产生。

需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。

模型机详细原理见附件。

5、实验内容00000001本实验设计机器指令程序如下:“输图2 模型机调试窗口6、具体过程实现(1) 控制器把PC中的指令地址送往地址寄存器AR,并发出读命令。

存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。

(2) 指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。

(3) 当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往地址寄存器AR,然后向存储器发出读命令,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。

(4) 当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器AR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令,MDR中的数据即被写入由MAR指示地址的存储单元中。

(5) 一条指令执行完毕后,控制器就要接着执行下一条指令。

为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址,7.MS-DOS 诸多实验题目,解决了许多问题,包括计算机组成与那里和汇编语言。

在充实而忙碌的课程设计同时,最重要的还是巩固并进一步学习了像组成原理和汇编这样更接近低层的软硬件知识,而不再是仅仅局限于像C 、C++或是Java 这样的高级语言开发。

理论学习只是一个学习初期阶段,只有经过了亲身实践操作,才能叫是真正掌握了知识技能。

就像是这个学期的课程设计初期一样,初次开始汇编课设,我对汇编并不是十分了解,只是简简单单懂得几句语言而已或者说只会读懂程序,做几个题而已。

至于如何将它们拼凑到一起组成一个实现一定功能的完整程序,成了我面前巨大的障碍,所以刚开始时,我也是束手无策,毫无头绪。

但是通过对教材的复习,查阅相关文献和网络资料,我慢慢懂得并熟悉了这个过程。

课程设计完了之后,我才真切意识到,低级的东西并不十分简单,恰恰相反,没有艰辛的付出,没有刻苦的努力,任谁也永远不能攻克它。

1BUFFER DB?EOF DB 035 ;以#结束 ;1字节的缓冲区、DATAS ENDS;代码段CODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AX ;置数据段寄存器;MOV DX,OFFSET FNAMEREAD_ERROR:MOV SI,OFFSET ERROR2CALL DMESS;TYPE_OK:MOV AH,3EHINT 21HCALL ENDLINECALL SHOWOVER: MOV AH,07;为了显示INT 21H ;为了显示MOV AH,4CHINT 21H;;置功;读判文件;设文束,取所读字符R1:CLCR2:RETREAD_CHAR ENDP;DMESS PROCDMESS1:MOV DL,[SI]INC SIOR DL,DLJZ DMESS2MOV AH,2INT 21HJA HIGHER2H1:CMP CH,CLJE CHAR ;若IF=41H(A),CHAR[0]++JA LOOP1 ; 若IF>41H(A),跳L1比较42H(B) LOOP1:INC CLADD DI,1JMP H1HIGHER2:mov CL,61HLEA DI,ARRAYINC CHmov [DI],CHOTHER:INC OTHERS ;OTHERS++;比较结束RETPUTCH ENDPSHOW PROCLEA SI,ARRAYMOV DI,41HLOOP3:LEA DX,STRING1 ;字符串的输出Number ofJB LOOP3MOV AH,4CHINT 21HRETSHOW ENDPENDLINE PROC NEAR;控制输出格式,输出回车换行子程序MOV AH,02HMOV DL,0AH; INT 21H ;输出换行符MOV AH,02HMOV DL,0DH; INT 21H ;输出回车符RETDISPLAY ENDPCODES ENDSEND START2、斐波那契数(小于50).asm:DATAS SEGMENTM1 DB 13,10,'Fibonacci number Below 50 is: $' N DW 8F1 DW 0F2 DW 1DATAS ENDSCODES SEGMENTJC EXIT ;若有进位则跳出MOV BX,F2 ;bx=1MOV F1,BX ;f1=1MOV F2,AX ;f2=1CALL OUTPUT ;调用outputMOV DL,' ';每个数字后的空格MOV AH,2 INT 21HDEC NJNZ LP EXIT:MOV AH,4CHLOOP OL2RET CODES ENDS END START、。

相关主题