计算机组成原理与汇编实验报告
计算机组成原理与汇编实验报告
计算机组成原理与汇编实验报告姓名:学号:学院:信息科学与工程学院班级:实验1 存储器实验实验目的⏹掌握静态存储随机存储器RAM的工作特性⏹掌握静态存储随机存储器RAM的读写方法实验设备74LS273(一片),静态存储器MEMORY 6116(一片),与门(一片),与非门(一片),单脉冲(一片),开关若干,灯泡若干实验原理在微机系统中,常用的静态RAM 有6116、6264、62256 等。
在本实验中使用的是6116。
6116 为2K╳8 位的静态RAM,其逻辑图3.1如下:图3.1 6116逻辑图其中A0~10 为11 根地址线,I/O0~7 为8 根数据线,CS 为片选端,OE 为数据输出选通端,WR 为写信号端。
其工作方式见下表3-1:表3-1工作方式表实验所用的半导体静态存储器电路原理如图3.2 所示,实验中的静态存储器一片6116(2K×8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。
地址灯AD0—AD7 与地址线相连,显示地址线内容。
数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。
图3.2 存储器实验原理图因地址寄存器为8 位,接入6116 的地址A7—A0,而高三位A8—A10 接地,所以其实际容量为256 字节。
6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。
当片选有效(CE=0)时,OE=0时进行读操作,WE=0时进行写操作。
本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。
控制信号SW-B 为低电平有效,控制信号LDAR 为高电平有效。
实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。
搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。
计算机组成实验报告
计算机组成实验报告计算机组成实验报告(共3篇)篇一:《计算机组成与结构》实验报告11 .实验目的:1).学习和了解TEC-2000 十六位机监控命令的用法;2).学习和了解TEC-2000 十六位机的指令系统;3).学习简单的TEC-2000 十六位机汇编程序设计;2.实验内容:1).使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容;2).使用 A 命令写一小段汇编程序,U 命令反汇编刚输入的程序,用G 命令连续运行该程序,用T、P 命令单步运行并观察程序单步执行情况;3、实验步骤1).关闭电源,将大板上的COM1 口与PC 机的串口相连;2).接通电源,在PC 机上运行PCEC.EXE 文件,设置所用PC 机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可;3).置控制开关为00101(连续、内存读指令、组合逻辑、16 位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。
其它实验相同;4).按一下“RESET”按键,再按一下“START”按键,主机上显示:TEC-2000 CRT MONITOR Version 1.0 April 2001Computer Architectur Lab.,Tsinghua University Programmed by He Jia >5).用R 命令查看寄存器内容或修改寄存器的内容a.在命令行提示符状态下输入:R↙;显示寄存器的内容图片已关闭显示,点此查看图片已关闭显示,点此查看b.在命令行提示符状态下输入:R R0↙;修改寄存器R0 的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格主机显示:寄存器原值:_在该提示符下输入新的值,再用R 命令显示寄存器内容,则R0 的内容变为0036。
图片已关闭显示,点此查看6).用D 命令显示存储器内容在命令行提示符状态下输入:D 2000↙会显示从2000H 地址开始的连续128 个字的内容;连续使用不带参数的 D 命令,起始地址会自动加128(即80H)。
计算机组成原理实验报告
计算机组成原理实验报告实验目的,通过本次实验,深入了解计算机组成原理的相关知识,掌握计算机硬件的基本组成和工作原理。
实验一,逻辑门电路实验。
在本次实验中,我们学习了逻辑门电路的基本原理和实现方法。
逻辑门电路是计算机中最基本的组成部分,通过逻辑门电路可以实现各种逻辑运算,如与门、或门、非门等。
在实验中,我们通过搭建逻辑门电路并进行实际操作,深入理解了逻辑门的工作原理和逻辑运算的实现过程。
实验二,寄存器和计数器实验。
在本次实验中,我们学习了寄存器和计数器的原理和应用。
寄存器是计算机中用于存储数据的重要部件,而计数器则用于实现计数功能。
通过实验操作,我们深入了解了寄存器和计数器的内部结构和工作原理,掌握了它们在计算机中的应用方法。
实验三,存储器实验。
在实验三中,我们学习了存储器的原理和分类,了解了不同类型的存储器在计算机中的作用和应用。
通过实验操作,我们进一步加深了对存储器的认识,掌握了存储器的读写操作和数据传输原理。
实验四,指令系统实验。
在本次实验中,我们学习了计算机的指令系统,了解了指令的格式和执行过程。
通过实验操作,我们掌握了指令的编写和执行方法,加深了对指令系统的理解和应用。
实验五,CPU实验。
在实验五中,我们深入了解了计算机的中央处理器(CPU)的工作原理和结构。
通过实验操作,我们学习了CPU的各个部件的功能和相互之间的协作关系,掌握了CPU的工作过程和运行原理。
实验六,总线实验。
在本次实验中,我们学习了计算机的总线结构和工作原理。
通过实验操作,我们了解了总线的分类和各种总线的功能,掌握了总线的数据传输方式和时序控制方法。
结论:通过本次实验,我们深入了解了计算机组成原理的相关知识,掌握了计算机硬件的基本组成和工作原理。
通过实验操作,我们加深了对逻辑门电路、寄存器、计数器、存储器、指令系统、CPU和总线的理解,为进一步学习和研究计算机组成原理奠定了坚实的基础。
希望通过不断的实践和学习,能够更深入地理解和应用计算机组成原理的知识。
计算机组成原理与大全实验报告
计算机组成原理与汇编课程设计实验报告字符统计.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架构,在客户端电脑上的浏览器地址栏中输入正确的地址进行访问即可。
计算机组成原理实验1-汇编语言实验
微处理器与接口技术实验指导实验一监控程序与汇编语言程序设计实验一、实验要求1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。
2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。
3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。
4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。
善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。
二、实验目的【1】学习和了解TEC-XP16教学实验系统监控命令的用法;【2】学习和了解TEC-XP16教学实验系统的指令系统;【3】学习简单的TEC-XP16教学实验系统汇编程序设计。
三、实验注意事项(一)实验箱检查【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。
【2】五位控制开关的功能示意图如下:【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】(二)软件操作注意事项【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。
即选定的是用户实验时通讯线接的PC机的端口;【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试;【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试;【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。
(三)联机通讯失败自检如果上述的硬件和软件的操作都正确,联机却依旧失败,可以进行如下测试:【1】测试PC机的串口是否能正常工作,或是换一台PC或换同一台PC的另一个串口再试,在换串口时要将TEC-XP16实验系统断电,换完后重新启动实验系统和软件;【2】检查机器上的元器件插接是否正确(建议用户对照能够正常通讯的实验系统进行详细检查),有没有被学生动过,尤其是扩展内存和扩展I/O接口时,芯片方向是否插对,片选信号有没有连接;【3】检查相应的短路子是否连接正确;【4】建议教师预留一台运行正常的TEC-XP16实验系统备用,机器出问题后可以对照检查。
计算机组成原理与汇编实验报告.
计算机组成原理与汇编实验报告.计算机组成原理与汇编课程设计实验报告⽬录⼀、课程设计⽬标 (3)⼆、课程设计基本要求 (3)三、课程设计的内容 (3)四、课程设计的要求 (5)五、实验详细设计 (5)1.统计⽂件中各字母出现的频率 (5)2.⽤递归计算50以内Fibonacci 数, 以⼗进制数输出 (9)3.虚拟平台模拟机实验 (11)六、使⽤说明 (19)七、总结与⼼得体会 (19)⼋、参考⽂献 (20)九、附录 (20)1.字符统计.asm (20)2.斐波那契数(⼩于50).asm (29)⼀、课程设计⽬标通过课程设计使学⽣综合运⽤所学过的计算机原理与汇编知识,增强解决实际问题的能⼒,加深对所学知识的理解与掌握,提⾼软硬件开发⽔平,为今后打下基础。
课程设计的⽬的和要求:1、使学⽣巩固和加强《计算机原理与汇编语⾔》课程的基本理论知识。
2、使学⽣掌握汇编语⾔程序设计的⽅法及编程技巧,正确编写程序。
3、使学⽣养成良好的编程习惯并掌握调试程序的基本⽅法。
4、使学⽣养成规范书写报告⽂档的能⼒,撰写课程设计总结报告。
5、通过查阅⼿册和⽂献资料,培养学⽣独⽴分析问题和解决问题的能⼒。
⼆、课程设计的基本要求1、认真查阅资料,独⽴完成设计任务,每道题都必须上机通过。
2、编写预习报告,写好代码,上机调试。
3、独⽴思考,培养综合分析问题解决问题和调试程序的能⼒。
4、按时完成课程设计,写出课程设计报告。
三、课程设计的内容1、给定⼀个英⽂ASCII码⽂件,统计⽂件中英⽂字母的频率,以⼗进制形式输出。
2、⽤递归计算50以内Fibonacci 数, 以⼗进制数输出.3、虚拟平台的模型机实验,具体要求如下:1)选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2)搭建实验流程:根据原理图1和电路图(见附件),将已选择的组件进⾏连线。
3)输⼊机器指令:选择菜单中的“⼯具”,再选择“模型机调试”,在指令输⼊窗⼝中输⼊如下指令:00000000000100000000100100100000000010110011000000001011010000000000000000000001本实验设计机器指令程序如下:4)这⾥做的是个加法运算,第⼀个加数已经存⼊到内存的0000 1010单元中,第⼆个加数是需要⼿⼯输⼊的。
汇编实验报告(详细版)
计算机组成与汇编语言(实验报告)内容: 实验一、六、七、八院系专业:计算机学院计算机科学与技术姓名:xxxxxxxxx学号:*******xxxxx完成时间:2012年12月1日计算机组成与汇编语言实验报告printf("输入的二进制数不正确!!");break;}}}if(a[15]=='1')s++;for(i=1;i<16;i++){if(a[15-i]=='1')s+=(1<<i);}printf("二进制: ");puts(a);printf("对应的十进制为: ");printf("%d\n",s);}程序1运行结果:实验情况与体会:运行过程中出现过不能判断是否输错的情况以及权位判断有误等情况,经过思考和修改后修改正确,说明理解好二进制与十进制之间的转换过程很重要。
编程过程中主要碰到的问题是,不够十六位的时候要在前面补零。
转换方法主要是除二求余的方法。
注:篇幅不够,可以另外附页。
计算机组成与汇编语言实验报告姓名xxxx 学号2011004xxxx 计分专业软件工程班级xxxxx 实验日期2012年 12 月 1日实验名称实验六分支结构程序设计实验目的●熟悉有符号定点数的表示。
●掌握原码、补码、反码之间的相互转换程序设计。
实验内容说明:该程序中X=23,Y=45,他们之差的绝对值为22,用16进制表示为0016H,即图中显示的结果2.调试程序2:DATA SEGMENTADD AL, 07HLP4: ADD AL, 30H ;将低四位转化为相应的ASCII码并以字符形式输MOV DL, ALMOV AH, 2INT 21HMOV AH, 4CHINT 21HCODE ENDSEND START上机运行该程序并检查运行结果是否正确。
上机实验过程:说明:求出三个数里面的最大数73;3. 编写程序1:编程实现从键盘输入一位数字,判断其奇偶性,并在屏幕上输出一个标志,若为奇数,则输出1,否则输出0。
计算机组成原理与汇编语言实验报告一
《计算机组成原理与汇编语言》实验报告一一、实验目的:编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
通过本次实验,学习、掌握运行汇编程序的相关知识。
二、实验内容:1、熟悉实验用微机的软、硬件配置(1)硬件:Intel Celeron 500GHz CPU、128M内存(8M作共享显存)、intel810芯片主板、集成i752显卡、maxtro20G硬盘、ps/2接口鼠标、PS/2接口键盘。
(2)软件:DOS 操作系统Windows98 seMASM汇编语言程序2、熟悉运行汇编语言所需的应用程序汇编程序使MASM连接程序使用LINK程序调试程序使用DEBUG程序3、熟悉汇编语言源程序上机操作过程(1)编辑源文件(选择可使用的文本编辑器)(2)汇编源程序文件(3)连接目标文件(4)运行可执行文件4、汇编操作举例用edit编辑myprog.asm文件;(见下图)用MASM.exe编译myprog.asm生成myprog.obj文件;C:\masm\bin> masm.exe由图中可以看出:0 个警告错误0个严格错误汇编通过,生成mygrog.obj目标文件(如果有严格错误,汇编不能通过,必须返回编辑状态更改程序。
)用link.exe命令链接myhprog.obj生成myprog.exe文件!C:\masm\bin> link.exeC:\masm\bin> myprog.exe运行程序结果为:屏幕显示“Hi! This is a dollar sign terminated string.”三、实验总结:1、可以在DOS或Windows状态编辑汇编源程序2、可以使用EDIT 或记事本编辑汇编源程序,源程序必须以.asm为扩展名。
在记事本中保存文件时,可以加双引号“myprog.asm”,文件名就不会出现myprog.asm.txt的错误3、熟悉相关的DOS 命令cd 进入子目录mkdir 建立子目录xcopy *.* /s 拷贝当前目录下所有文件及子目录format a: 格式化A盘4、在Windows 系统下运行汇编程序,有时会有问题,建议大家熟悉DOS命令,DOS编辑工具,在DOS状态下运行汇编程序。
汇编计算机组成实验报告计科07 吴加跃
计算机组成原理与汇编实验报告班级:计科07学号:0909092807姓名:吴加跃实验一:冒泡排序一、实验目的熟练掌握汇编语言编写程序,熟悉编程环境,掌握课堂所学习的编程语言。
并且熟悉运用冒泡算法。
实现对已知数据的冒泡排序。
二、实验内容1、用记事本或各类编辑器编写一个冒泡排序的汇编程序。
2、对编写的程序进行编译,运行得出正确结果。
三、实验步骤1.在记事本中输入以下代码:DATAS SEGMENT ;数据段DATA1 DB 31H,32H,38H,34H,37H ;定义DATA1为被加数DATA2 DB 34H,35H,39H,37H,31H ;定义DATA2为加数DATAS ENDS STACKS SEGMENT ;堆栈段STA DB 64 DUP(0) ;(伪指令)为STA预留64个字节的存储空间SP_TOP DB 0 ;定义SP_TOP单元的数值为0STACKS ENDS CODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATAS,ES:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX ; 设置数据段 MOV AX,STACKSMOV SS,AX ; 设置堆栈段LEA SP,SP_TOP ; 设置栈顶指针 MOV SI,OFFSET DATA1 ;把DATA1偏移量地址赋予SI MOV BX,05 ;CALL DISPL ; 显示被加数CALL CRLF ; 回车、换行MOV SI,OFFSET DATA2 ; 把DATA2偏移量地址赋予SIMOV BX,05 ;CALL DISPL ; 显示加数CALL CRLF ; 回车、换行MOV DI,OFFSET DATA1 ; 把DATA1偏移量地址赋予DICALL ADDA ;调用ADDA子程序,实行加法运算 MOV BX,05 ;CALL DISPL ; 显示结果CALL CRLF ; 回车、换行MOV AX,4C00H ;INT 21H ;调用DOS21H功能,返回 CRLF PROC NEAR ;回车、显示功能过程定义,属性为NEARMOV DL,0DH ;把回车的ASCII码0DH传给DLMOV AH,02H ;送DOS 的中断调用功能号INT 21H ; DOS 的中断调用 MOV DL,0AH ; 把换行的ASCII码0AH传给DLMOV AH,02H ; 送DOS 的中断调用功能号INT 21H ; DOS 的中断调用RET ; 返回CRLF ENDP ;完成过程定义 DISPL PROC NEAR ;显示功能过程定义,属性为NEAR DSL: MOV AH,02 ;送显示功能号MOV DL,[SI+BX-1] ;显示字符串中一字符INT 21H ; DOS 的中断调用DEC BX ;BX减1,修改偏移量JNZ DSL ;如果BX未减到零,跳到DSL执行指令RET ;返回DISPL ENDP ;完成显示功能子程序定义 ADDA PROC NEAR ;实行加法运算子程序过程定义,属性为NEARMOV DX,SIMOV BP,DIMOV BX,05 TRAN_HEX: SUB BYTE PTR[SI+BX-1],30H ;把ASCII码数转化为十六进制SUB BYTE PTR[DI+BX-1],30HDEC BX ; BX减1,修改偏移量JNZ TRAN_ HEX ; 如果BX未减到零,跳到TRAN_ HEX执行指令MOV SI,DXMOV DI,BPMOV CX,05 ; 包括进位,共5位CLC ;进位标志位CF清零(clear carry flag)THE_ADD: MOV AL,[SI]MOV BL,[DI]ADC AL,BL ; 带进位相加,把结果存在AXAAA ;进行AAA调整,非结合BCD码的加法调整MOV [SI],AL ; 结果送被加数区INC SI ;SI加1INC DI ;DI加1(指向下一位)LOOP THE_ADD ;循环MOV SI,DXMOV DI,BPMOV BX,05 TRAN_ASCI: ADD BYTE PTR[SI+BX-1],30HADD BYTE PTR[DI+BX-1],30H;使用PTR转换属性并相加,将十六进制数转化为ASCII表示DEC BX ; BX减1,修改偏移量JNZ TRAN_ASCI ; 如果BX未减到零,跳到TRAN_ASCI 执行指令RET ;返回ADDA ENDP ;加法子程序定义完成 CODES ENDS ;代码段完成END START2.在cmd窗口dos环境中对上述排序程序进行编译,运行。
计算机组成原理综合实验报告
计算机组成原理综合实验报告一、实验目的本次计算机组成原理综合实验旨在深入理解计算机组成的基本原理,通过实际操作和设计,巩固所学的理论知识,并培养实践动手能力和创新思维。
二、实验设备本次实验所使用的设备包括计算机硬件实验平台、数字逻辑实验箱、示波器、万用表等。
三、实验内容1、运算器实验设计并实现一个简单的运算器,能够完成加法、减法、乘法和除法运算。
通过实验,深入理解运算器的工作原理,包括数据的输入、运算过程和结果的输出。
2、控制器实验构建一个基本的控制器,实现指令的读取、译码和执行过程。
了解控制器如何控制计算机的各个部件协同工作,以完成特定的任务。
3、存储系统实验研究计算机的存储系统,包括主存和缓存的工作原理。
通过实验,掌握存储单元的读写操作,以及如何提高存储系统的性能。
4、输入输出系统实验了解计算机输入输出系统的工作方式,实现与外部设备的数据传输。
四、实验步骤1、运算器实验步骤(1)确定运算器的功能和架构,选择合适的逻辑器件。
(2)连接电路,实现加法、减法、乘法和除法运算的逻辑。
(3)编写测试程序,输入不同的数据进行运算,并观察结果。
2、控制器实验步骤(1)分析控制器的工作流程和指令格式。
(2)设计控制器的逻辑电路,实现指令的译码和控制信号的生成。
(3)编写测试程序,验证控制器的功能。
3、存储系统实验步骤(1)连接存储单元,设置地址线、数据线和控制线。
(2)编写读写程序,对存储单元进行读写操作,观察数据的存储和读取情况。
(3)通过改变缓存策略,观察对存储系统性能的影响。
4、输入输出系统实验步骤(1)连接输入输出设备,如键盘、显示器等。
(2)编写程序,实现数据的输入和输出。
(3)测试输入输出系统的稳定性和可靠性。
五、实验结果1、运算器实验结果通过测试程序的运行,运算器能够准确地完成加法、减法、乘法和除法运算,结果符合预期。
2、控制器实验结果控制器能够正确地译码指令,并生成相应的控制信号,使计算机各个部件按照指令的要求协同工作。
计算机组成原理 实验报告
计算机组成原理实验报告计算机组成原理实验报告引言:计算机组成原理是计算机科学与技术专业的重要课程,通过学习该课程,我们可以深入了解计算机的工作原理和内部结构。
本次实验旨在通过实际操作,加深对计算机组成原理的理解,并掌握一些基本的计算机硬件知识。
实验目的:1. 理解计算机的基本组成部分,包括中央处理器(CPU)、存储器、输入输出设备等;2. 掌握计算机的运行原理,了解指令的执行过程;3. 学习使用计算机组成原理实验箱,进行实际的硬件连接和操作。
实验过程:1. 实验一:组装计算机本次实验中,我们需要从零开始组装一台计算机。
首先,我们按照实验指导书的要求,选择合适的硬件组件,包括主板、CPU、内存、硬盘等。
然后,我们将这些硬件组件逐一安装到计算机箱中,并连接好电源线、数据线等。
最后,我们将显示器、键盘、鼠标等外设连接到计算机上。
2. 实验二:安装操作系统在计算机组装完成后,我们需要安装操作系统。
本次实验中,我们选择了Windows 10作为操作系统。
首先,我们将Windows 10安装盘插入计算机的光驱中,并重启计算机。
然后,按照安装向导的指引,选择安装语言、时区等相关设置。
最后,我们根据自己的需求选择安装方式,并等待操作系统安装完成。
3. 实验三:编写并执行简单的汇编程序在计算机组装和操作系统安装完成后,我们需要进行一些简单的编程实验。
本次实验中,我们选择了汇编语言作为编程工具。
首先,我们编写了一个简单的汇编程序,实现两个数相加的功能。
然后,我们使用汇编器将程序翻译成机器码,并将其加载到计算机的内存中。
最后,我们通过调试器来执行这个程序,并观察程序的执行结果。
实验结果与分析:通过本次实验,我们成功地组装了一台计算机,并安装了操作系统。
在编写并执行汇编程序的实验中,我们也成功地实现了两个数相加的功能。
通过观察程序的执行结果,我们发现计算机能够按照指令的顺序逐条执行,并得到正确的结果。
这进一步加深了我们对计算机的工作原理的理解。
计算机组成原理实验报告精品9篇
计算机组成原理实验报告课程名称计算机组成原理实验学院计算机专业班级学号学生姓名指导教师20年月日实验一:基础汇编语言程序设计实验1实验目的●学习和了解TEC-XP+教学实验监控命令的用法;●学习和了解TEC-XP+教学实验系统的指令系统;●学习简单的TEC-XP+教学实验系统汇编程序设计。
2实验设备及器材●工作良好的PC机;●TEC-XP+教学实验系统和仿真终端软件PCEC。
3实验说明和原理实验原理在于汇编语言能够直接控制底层硬件的状态,通过简单的汇编指令查看、显示、修改寄存器、存储器等硬件内容。
实验箱正如一集成的开发板,而我们正是通过基础的汇编语言对开发板进行使用和学习,过程中我们不仅需要运用汇编语言的知识,还需要结合数字逻辑中所学的关于存储器、触发器等基本器件的原理,通过串口通讯,实现程序的烧录,实验箱与PC端的通讯。
4实验内容1)学习联机使用TEC-XP+教学实验系统和仿真终端软件PCEC;2)学习使用WINDOWS界面的串口通讯软件;3)使用监控程序的R命令显示/修改寄存器内容、D命令显示存储内容、E命令修改存储内容;4)使用A命令写一小段汇编程序,U命令反汇编输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
5实验步骤1)准备一台串口工作良好的PC机器;2)将TEC-XP+放在实验台上,打开实验箱的盖子,确定电源处于断开状态;3)将黑色的电源线一段接220V交流电源,另一端插在TEC-XP+实验箱的电源插座里;4)取出通讯线,将通讯线的9芯插头接在TEC-XP+实验箱上的串口"COM1"或"COM2"上,另一端接到PC机的串口上;5)将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),6)控制开关的功能在开关上、下方有标识;开关拨向上方表示"1",拨向下方表示"0","X"表示任意,其他实验相同;7)打开电源,船型开关盒5V电源指示灯亮;8)在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为"1"或"2",其他的设置一般不用改动,直接回车即可; (8)按一下"RESET"按键,再按一下"START"按键,主机上显示:6实验截图及思考题【例3】计算1到10的累加和。
计算机组成原理和汇编语言实验报告
计算机组成原理和汇编语言实验报告专业班级:计算机0801班实验一、汇编:冒泡排序1、实验内容:定义一个字数组序列:1567,25,46,4560,678,1234,32540。
用冒泡排序对该数组由小到大排序,并将排序结果以十进制数字的形式在屏幕上显示出来。
2、实验原理:程序首先定义了要排序的数组,然后对其在原数组内进行冒泡排序。
冒泡排序是基于交换排序的一种算法,它依次两两比较待排序的元素,若为逆序则进行交换。
每趟冒泡都将待排元素序列中的最大量交换到最后位置。
冒泡过程共需进行n(n-1)/2次比较,直到全部元素有序为止。
数组有序以后,进行输出的工作。
依次从小到大,将元素转换为十进制数的ASCII码值来输出,并在输出每个数时,增加输出回车换行来使输出结果清晰。
3、实验代码:;-------------------------PROGRAM BEGINS---------------------------;----------------------------DEFINE DS-------------------------------DATA SEGMENTTIME DW 0 ;THE LOOP TIME OF THE OUTER LOOPCHU DW 10 ;USED TO CONVERT THE NUM TO DECIMAL DTY DW 1567,25,46,4560,678,1234,32540 ,'$' ;DEFINE THE ARRARYRESULT DB ?DATA ENDS;-----------------------------DEFINE CS-----------------------------CODE SEGMENT "CODE"ASSUME CS:CODE ,DS:DATASTART:MOV AX,DATAMOV DS,AXAGAIN:MOV CX, 6 ;THE LOOP NUM OF THE INER LOOP MOV BP,12 ;NUM OF THE BYTESAGAIN1:MOV AX,DTY[BP]CMP DTY[BP-2],AX ;CMP WITH THE FORMER BYTEJBE NEXT ;JMP IF BELOW OR EQUALXCHG AX,DTY[BP-2] ;IF ABOVE,THEN CHANGEXCHG AX,DTY[BP]NEXT:SUB BP,2 ;POINT TO THE FORMER ONEDEC CXCMP CX,TIME ;IS IT DONE?JE NEXT1 ;DONEJMP AGAIN1 ;NOT DONE YETNEXT1:INC TIMECMP TIME,6 ;IS IT DONE?JE NEXT3 ;DONEJMP AGAIN ;NOT DONE YETNEXT3:MOV TIME,0 ;RENEW THE DATAMOV BP,0CHANGE:MOV RESULT[5],13 ;FINISH OF THE NUMMOV RESULT[6],10MOV RESULT[7],'$'MOV AX,WORD PTR DTY[BP] ;THE DW TO OUTPUTMOV CX,5 ;LOOP NUMMOV BX,4 ;TWO BITS * 4 =WORD CHANGE1:MOV DX,0DIV CHU ;DX:AX/CHUMOV RESULT[BX],DL ;THE REMAINDERADD RESULT[BX],30H ;TO DECIMALDEC BX ;POINT TO THE FORMER TWO BITS LOOP CHANGE1MOV CX,4MOV BX,0FIND0:CMP RESULT[BX], '0' ;IS IT ZERO?JNE FINAL ;NOT ZEROADD BX,1 ;ZEROLOOP FIND0FINAL:LEA DX, RESULT[BX] ;OUTPUTMOV AH,09HINT 21HADD BP, 2 ;POINT TO NEXT WORDINC TIMECMP TIME,7 ;IS IT DONE?JNE CHANGE ;NOT NONEMOV AH,4CHINT 21HCODE ENDSEND START;--------------------PROGRAM ENDS--------------------实验二算术逻辑运算实验一、实验目的1.掌握简单运算器的组成以及数据传送通路。
计算机组成原理实验报告
当x≥0时;x原=x;当x≤0时;x原=2^n-1-x或2^n-1+|x|;“^”表示指数..
B反码
1.如果真值是正数;反码的最高位为“0”;其余各位与真值的对应位相同;
2.如果真值是负数;反码的最高位为“1”;其余各位将真值的各位取反;
5.如果两个操作数没有超出补码的表示范围;而运算结果超出补码的表示范围;称为“溢出”;结果大于补码的表示范围的上限;称为“上溢”;结果小于补码的表示范围的上限;称为“下溢”..
6.通常有两种判断溢出的方法;一是双符号位法;即两个操作数以及结果均用两个符号位变形补码;如果结果的两个符号位一致;表示没有溢出;如果不一致;表示溢出..最高的一位始终表示运算结果的正确的符号:0为正或上溢;1为负或下溢..
1.乘数最低位的后面增加一个附加位;初值为0..在运算过程中;和乘数一起做右移..
2.为防止溢出;设三个符号位;在运算过程中;最高位才表示真正的符号..
3.每一步加的值取决于移位后的乘数寄存器的最低两位和附加位的值..
4补码一位乘法运算
1.乘数和被乘数都以补码表示本程序允许数值位4位;符号位一位;运算结果也是补码..运算过程中;为防止溢出;加法器需使用两位符号位..
图 1-1 静态 RAM 6264的电路
由于地址寄存器为 8位;故接入 6264的地址为 A0~A7;而高 4位 A8~A12接地;所以其实际使用容量为 256 字节..6264 有四个控制线:CS1 第一片选线、CS2 第二片选线、OE读线、WE写线..其功能如表 1-1所示..CS1片选线由 CE`控制对应开关 CE、OE读线直接接地、WE写线由 W/R`控制对应开关 WE、CS2直接接+5V..图中信号线 LDAR由开关 LDAR提供;手动方式实验时;跳线器 LDAR拨在左边;脉冲信号 T3由实验机上时序电路模块 TS3提供;实验时只需将 J22跳线器连上即可;T3的脉冲宽度可调..
计算机组成原理实验报告
计算机组成原理实验报告计算机组成原理实验报告引言:计算机组成原理是计算机科学与技术专业的重要课程之一,通过实验可以更好地理解和掌握计算机的组成原理。
本篇实验报告将介绍我们在计算机组成原理实验中所进行的实验内容和实验结果。
实验一:逻辑门电路设计在这个实验中,我们学习了逻辑门电路的设计和实现。
通过使用门电路,我们可以实现与门、或门、非门等基本逻辑运算。
我们首先学习了逻辑门电路的真值表和逻辑代数的基本运算规则,然后根据实验要求,使用逻辑门电路设计了一个简单的加法器电路,并通过仿真软件进行了验证。
实验结果表明,我们设计的加法器电路能够正确地进行二进制数的加法运算。
实验二:数字逻辑电路实现在这个实验中,我们进一步学习了数字逻辑电路的实现。
通过使用多路选择器、触发器等数字逻辑元件,我们可以实现更复杂的逻辑功能。
我们首先学习了多路选择器的原理和使用方法,然后根据实验要求,设计了一个4位二进制加法器电路,并通过数字逻辑实验板进行了搭建和测试。
实验结果表明,我们设计的4位二进制加法器能够正确地进行二进制数的加法运算。
实验三:存储器设计与实现在这个实验中,我们学习了存储器的设计和实现。
存储器是计算机中用于存储和读取数据的重要组成部分。
我们首先学习了存储器的基本原理和组成结构,然后根据实验要求,设计了一个简单的8位存储器电路,并通过实验板进行了搭建和测试。
实验结果表明,我们设计的8位存储器能够正确地存储和读取数据。
实验四:计算机硬件系统设计与实现在这个实验中,我们学习了计算机硬件系统的设计和实现。
计算机硬件系统是计算机的核心部分,包括中央处理器、存储器、输入输出设备等。
我们首先学习了计算机硬件系统的基本原理和组成结构,然后根据实验要求,设计了一个简单的计算机硬件系统,并通过实验板进行了搭建和测试。
实验结果表明,我们设计的计算机硬件系统能够正确地进行指令的执行和数据的处理。
结论:通过这些实验,我们深入学习了计算机组成原理的相关知识,并通过实践掌握了计算机组成原理的基本原理和实现方法。
0909123025陈友物联网1202班《计算机组成原理与汇编实验报告》
计算机组成原理与汇编学院:信息科学与工程学院专业班级:物联网工程1202班指导老师:贺建飚________学号:0909123225姓名:刘钦实验一二进制转十六进制一、实验原理基本原理:由于十六进制数基数是2的四次幂,所以一个二进制转换为十六进制,如果是整数,只要从它的低位到高位每4位组成一组,然后将每组二进制数所对应的数用十六进制表示出来。
如果有小数部分,则从小数点开始,分别向左右两边按照述方法进行分组计算。
二、实验目的(1) 掌握循环程序的设计方法(2)掌握汇编语言源程序的编辑、汇编、连接及调试过程。
(3)进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。
(4) 学会针对不同的问题,选用不同的组织循环的方法。
(5)掌握键盘接收数据的方法,并了解键盘数据显示时需要转换为ASCII码及转换原理。
三、实验内容编写程序,将键盘键入的4位2进制转换为等值的16进制数,并在屏幕上显示。
四、实验结果(实验结果截图及实验结果说明);---------------------------------------------------------;输入二进制数,转为十六进制后输出;---------------------------------------------------------.model small.dataMAX_BIN db 100 ;二进制长度限制REAL_LEN db ? ;实际的输入BIN_DATA db 100 dup(?) ;存储输入的01RADIX_DATA db 1,2,4,8 ;2^x(x=0,1,2,3)MSG_PROM db 'Please input binary code :','$'MSG_ERR db 'Input error,you must enter 0 or 1 !',13,10,'$' MSG_RLT db 'The binary code to hex is:','$'BIN_TO_HEX db 100 dup(?).code;---------------------------------------------------------;屏幕输出以'$' 结尾的字符串,OPR为字符串变量;--------------------------------------------------------- macPutTxt macro OPRmov dx,offset OPRmov ah,09hint 21hendm;---------------------------------------------------------;屏幕打印回车换行符,用到寄存器;--------------------------------------------------------- macPutEnt macromov dl,0dhmov ah,02hint 21hmov dl,0ahmov ah,02hint 21hendm;--------------------------------------------------------- ;子过程,测试输入的数据是否是二进制;如果不是则置ax 为1,否则置为2;--------------------------------------------------------- subTestData proc farpush bxpush cxmov ax,2mov bx,0nextTest: mov cl,byte ptr BIN_DATA[bx]cmp cl,0dh ;回车jz exitTestinc bxcmp cl,30h ;是否是0jz nextTestcmp cl,31h ;是否是1jz nextTestmov ax,1exitTest: pop cxpop bxretsubTestData endp;---------------------------------------------------------;子过程,二进制转十六进制,结果存于BIN_TO_HEX ;--------------------------------------------------------- subBinToHex proc farirp reg,<ax,bx,si,di> ;保存寄存器push regendmmov ax,'$'push ax ;设置哨兵'$'mov al,REAL_LENmov si,axmov ax,0mov di,-1next: dec simov bh,byte ptr BIN_DATA[si] inc dicmp si,0jz hexonecmp di,3jz hexonecmp bh,30hjz next ;该位为0add al,byte ptr RADIX_DATA[di] jmp nexthexone: cmp bh,30hjz pushhexadd al,byte ptr RADIX_DATA[di]pushhex: cmp al,10jb digitadd al,55 ;55 = 'A'-10jmp pushokdigit: add al,30h ;30h = '0'pushok: push axcmp si,0jz resetsimov di,-1mov al,0jmp nextresetsi: mov si,0pophex: pop axmov byte ptr BIN_TO_HEX[si],alinc sicmp ax,'$'jnz pophexirp reg,<di,si,bx,ax> ;恢复寄存器pop regendmretsubBinToHex endp;---------------------------------------------------------;---------------------------------------------------------main proc farmov ax,@datamov ds,axmacPutTxt MSG_PROMlea dx,MAX_BINmov ax,0c0ah ;先清空键盘缓冲区,然后键盘输入字符串int 21hmacPutEnt ;打印回车call subTestDatacmp ax,1jz errorcall subBinToHexmacPutTxt MSG_RLTmacPutTxt BIN_TO_HEXjmp exiterror: macPutTxt MSG_ERRexit: mov ah,4chmain endpend main五、实验心得通过这次实验,我对汇编语言有了更进一步的认识,加强了我用汇编语言编程的能力,也加深了我对二进制到十六进制转换的了解,相信在接下来的学习中,我会更加熟悉汇编这门课程。
计算机组成原理实验报告
计算机组成原理实验报告一、实验目的本次计算机组成原理实验的主要目的是深入理解计算机的内部结构和工作原理,通过实际操作和观察,巩固和拓展课堂上学到的理论知识,培养实践动手能力和解决问题的能力。
二、实验设备本次实验所使用的设备包括计算机主机、逻辑分析仪、示波器、面包板、各种芯片(如 74LS 系列、8255 芯片等)、导线若干。
三、实验内容1、算术逻辑运算单元(ALU)实验通过使用芯片搭建一个简单的算术逻辑运算单元,实现加法、减法、与、或等基本运算,并观察运算结果。
2、存储单元实验构建一个存储单元,了解存储器的读写操作和存储原理,包括随机存储器(RAM)和只读存储器(ROM)。
3、控制器实验设计一个简单的控制器,实现指令的译码和执行,理解计算机如何按照指令序列进行工作。
4、总线结构实验研究计算机内部的总线结构,包括数据总线、地址总线和控制总线,了解它们在信息传输中的作用。
四、实验原理1、算术逻辑运算单元算术逻辑运算单元是计算机中进行算术和逻辑运算的核心部件。
它通常由加法器、减法器、逻辑门等组成。
通过对输入的操作数进行相应的运算操作,产生输出结果。
2、存储单元存储器用于存储程序和数据。
随机存储器(RAM)可以随时读写,但其数据在断电后会丢失;只读存储器(ROM)中的数据在制造时就已确定,只能读取不能修改,且断电后数据不会丢失。
3、控制器控制器是计算机的指挥中心,负责从存储器中取出指令,对指令进行译码,并产生控制信号,控制各个部件的操作。
4、总线结构总线是计算机内部各个部件之间传输信息的公共通道。
数据总线用于传输数据,地址总线用于传输地址信息,控制总线用于传输控制信号。
五、实验步骤(1)按照实验电路图,在面包板上正确连接 74LS 系列芯片,如74LS181 等,构建加法器和逻辑运算电路。
(2)通过改变输入信号的值,使用逻辑分析仪观察输出结果,验证运算的正确性。
2、存储单元实验(1)使用芯片搭建随机存储器(RAM)和只读存储器(ROM)电路。
计算机组成原理与汇编语言实验四80x86汇编语言程序开发实验
计算机组成原理与汇编语言实验四80x86汇编语言程序开发实验计算机组成原理与汇编元程序设计实验报告实验四80x86汇编语言程序开发实验1.汇编语言程序上机过程,实验步骤:(1)用用文字编辑工具(EDITPLUS)将源程序输入,保存文件其扩展名为.ASM;(2)用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。
若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过;(3)用LINK将.OBJ文件连接成可执行的.EXE文件;(4)在DOS状态下运行LINK产生的.EXE文件;2.编写一个汇编程序,实现下面的功能:(1)在数据段中定义10个标题msg0到msg9,标题的内容任意;(2)采用1号DOS功能子程序,输入0到9中任意1个数值,然后显示对应的msg0到msg9中的某一个标题;(3)如果输入数值10,则显示输出全部10个标题;(4)程序循环执行,直到输入ESC键,程序结束;(5)根据1的步骤,编译链接生产exe文件,并测试程序的功能;源程序代码(截图)data segmentmsg0 db 'xxx',0dh,0ah,'$'msg1 db '学号',0dh,0ah, '$'msg2 db 'q',0dh,0ah, '$'msg3 db 'w',0dh,0ah, '$'msg4 db 'e',0dh,0ah,'$'msg5 db 'r',0dh,0ah,'$'msg6 db 't',0dh,0ah,'$'msg7 db 'y',0dh,0ah,'$'msg8 db 'u',0dh,0ah,'$'msg9 db 'i',0dh,0ah,'$'msg10 db' xxxq w e r t y u i',0dh,0ah,'$'data endscode segmentAssume cs:code,ds:datastart:mov ax,datamov ds,axagain:mov ah,01int 21hcmp al,'0'jz zerocmp al,'1'jz onecmp al,'2'jz twocmp al,'3'计算机组成原理与汇编元程序设计实验报告cmp al,'4' jz fourcmp al,'5'jz fivecmp al,'6'jz sixcmp al,'7'jz sevencmp al,'8'jz eightcmp al,'9'jz ninecmp al, 'a'jz allcmp al,1bhjz exitzero:mov dx,offset msg0 jmp outputone:mov dx,offset msg1 jmp outputtwo:mov dx,offset msg2 jmp output three:mov dx,offset msg3 jmp outputfour:mov dx,offset msg4 jmp outputfive:mov dx,offset msg5 jmp outputsix:mov dx,offset msg6 jmp output seven:mov dx,offset msg7 jmp output eight:mov dx,offset msg8jmp outputnine:mov dx,offset msg9计算机组成原理与汇编元程序设计实验报告all: mov dx,offset msg10jmp outputoutput:mov ah,09int 21hjmp againexit: mov ah,4chint 21hcode endsend start程序功能测试(截图)分析(手写)实验总结(手写):。
计算机组成原理与汇编实验报告
计算机组成原理与汇编实验报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)计算机组成原理与汇编课程设计实验报告目录一、课程设计目标 (3)二、课程设计基本要求 (3)三、课程设计的内容 (3)四、课程设计的要求 (5)五、实验详细设计 (5)1.统计文件中各字母出现的频率 (5)2.用递归计算50以内Fibonacci 数, 以十进制数输出 (9)3.虚拟平台模拟机实验 (11)六、使用说明 (19)七、总结与心得体会 (19)八、参考文献 (20)九、附录 (20)1. 字符统计.asm (20)2. 斐波那契数(小于50).asm (29)一、课程设计目标通过课程设计使学生综合运用所学过的计算机原理与汇编知识,增强解决实际问题的能力,加深对所学知识的理解与掌握,提高软硬件开发水平,为今后打下基础。
课程设计的目的和要求:1、使学生巩固和加强《计算机原理与汇编语言》课程的基本理论知识。
2、使学生掌握汇编语言程序设计的方法及编程技巧,正确编写程序。
3、使学生养成良好的编程习惯并掌握调试程序的基本方法。
4、使学生养成规范书写报告文档的能力,撰写课程设计总结报告。
5、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。
二、课程设计的基本要求1、认真查阅资料,独立完成设计任务,每道题都必须上机通过。
2、编写预习报告,写好代码,上机调试。
3、独立思考,培养综合分析问题解决问题和调试程序的能力。
4、按时完成课程设计,写出课程设计报告。
三、课程设计的内容1、给定一个英文ASCII码文件,统计文件中英文字母的频率,以十进制形式输出。
2、用递归计算50以内Fibonacci 数, 以十进制数输出.3、虚拟平台的模型机实验,具体要求如下:1)选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2)搭建实验流程:根据原理图1和电路图(见附件),将已选择的组件进行连线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理与汇编实验报告Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT计算机组成原理与汇编课程设计实验报告目录一、课程设计目标 (3)二、课程设计基本要求 (3)三、课程设计的内容 (3)四、课程设计的要求 (5)五、实验详细设计 (5)1.统计文件中各字母出现的频率 (5)2.用递归计算50以内Fibonacci 数, 以十进制数输出 (9)3.虚拟平台模拟机实验 (11)六、使用说明 (19)七、总结与心得体会 (19)八、参考文献 (20)九、附录 (20)1.字符统计.asm (20)2.斐波那契数(小于50).asm (29)一、课程设计目标通过课程设计使学生综合运用所学过的计算机原理与汇编知识,增强解决实际问题的能力,加深对所学知识的理解与掌握,提高软硬件开发水平,为今后打下基础。
课程设计的目的和要求:1、使学生巩固和加强《计算机原理与汇编语言》课程的基本理论知识。
2、使学生掌握汇编语言程序设计的方法及编程技巧,正确编写程序。
3、使学生养成良好的编程习惯并掌握调试程序的基本方法。
4、使学生养成规范书写报告文档的能力,撰写课程设计总结报告。
5、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。
二、课程设计的基本要求1、认真查阅资料,独立完成设计任务,每道题都必须上机通过。
2、编写预习报告,写好代码,上机调试。
3、独立思考,培养综合分析问题解决问题和调试程序的能力。
4、按时完成课程设计,写出课程设计报告。
三、课程设计的内容1、给定一个英文ASCII码文件,统计文件中英文字母的频率,以十进制形式输出。
2、用递归计算50以内Fibonacci 数, 以十进制数输出.3、虚拟平台的模型机实验,具体要求如下:1)选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2)搭建实验流程:根据原理图1和电路图(见附件),将已选择的组件进行连线。
3)输入机器指令:选择菜单中的“工具”,再选择“模型机调试”,在指令输入窗口中输入如下指令:00000000000100000000100100100000000010110011000000001011010000000000000000000001本实验设计机器指令程序如下:4)这里做的是个加法运算,第一个加数已经存入到内存的0000 1010单元中,第二个加数是需要手工输入的。
在实验运行面板中点击“运行”按钮,选择“输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样第二个加数就设置好了。
5)在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。
或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令。
观察各个芯片的状态,思考模型机的运行原理。
四、课程设计的要求1、根据题目内容,查阅资料。
2、编写课程设计预习报告。
3、编制程序及调试程序。
4、分析总结,写出课程设计报告,报告中应该包含程序功能与使用说明、程序功能实现方法说明、如流程图与算法参数说明等内容,设计经验体会总结,源程序清单。
5、实验过程由指导老师监督,听从老师安排和督导。
6、每次任务完成后由指导老师逐个的检查实验内容、结果并评分,不符合要求的重写五、实验详细设计1)统计文件中各字母出现的频率一、实验原理在程序中,以是否读到ASCII码为0作为字符串末尾结束的标志;读取文件,并对文件中的字符串进行逻辑判断(不同字母之间各自对应的ASCII码),统计字符数。
二、实验目的经过该实验知道如何通过编写汇编程序读取文件并且读取文件中内容;通过分支程序设计来统计字符数,三、实验设计内容读取文件代码段:MOV AX,DATASMOV DS,AX ;置数据段寄存器;MOV DX,OFFSET FNAMEMOV AX,3D00H ;读打开指定文件INT 21HJNC OPEN ;打开成功,转 OPENMOV SI,OFFSET ERROR1 ;显示打开不成功提示信息CALL DMESSJMP OVER;OPEN:MOV BX,AX ;保存文件代号GO: CALL READ_CHAR ;从文件中读一个字符JC READ_ERROR ;如读出错,则转CMP AL,EOF ;读到文件结束符吗JZ TYPE_OKCALL PUTCHJMP GO将文件内容推入栈中,并输出:READ_CHAR PROCMOV CX,1MOV DX,OFFSET BUFFER ;置缓冲区地址MOV AH,3FH ;置功能调用号INT 21H ;读 JC R2 ;读出错,转CMP AX,CX ;判断文件是否结束MOV AL,EOF ;若文件已经结束,置文件结束符JB R1 ;文件确定已经结束,转到MOV AL,BUFFER ;文件未结束,取所读字符R1:CLCR2:RETREAD_CHAR ENDP;DMESS PROCDMESS1:MOV DL,[SI]INC SIOR DL,DLJZ DMESS2MOV AH,2INT 21HJMP DMESS1DMESS2:RETDMESS ENDPPUTCH PROCPUSH DXMOV DL,ALMOV AH,2INT 21HPOP DX文件主体部分(对所读字符ASCII码进行比较判断并统计字符数):mov CL,41HLEA DI,ARRAYMOV CH,ALCMP CH,CL ;若IF<41H(A),OTHERS++JB OTHERCMP CH,5AH ;若IF>5AH(Z),跳转继续比较JA 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,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]++JA LOOP2 ; 若IF>61H(a),跳L02比较62H(b)LOOP2:INC CLADD DI,1JMP H2CHAR:XOR CH,CHMOV CH,[DI]INC CHmov [DI],CHOTHER:INC OTHERS ;OTHERS++;比较结束四、实验截图2)用递归计算50以内Fibonacci 数, 以十进制数输出一、实验目的通过该实验充分了解递归程序的用法二、实验内容三、实验设计内容循环递归代码段(主要实现递归调用斐波那契函数)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 DL,' ';每个数字后的空格MOV AH,2INT 21HDEC NJNZ LPEXIT:MOV AH,4CHINT 21H ;返回DOS输出斐波那契数:OUTPUT:MOV BX,10MOV CX,0OL1:MOV DX,0DIV BX ;ax=0,dx=1ADD DL,'0';加上30h,使数字3变成字符3PUSH DXINC CX ;CX=0,每次加1CMP AX,0 ;比较ax=1和0JNZ OL1MOV AH,2 ;字符输出,要输出的字符已经在dl中OL2:POP DXINT 21HLOOP OL2RET四、实验结果3)虚拟平台的模型机实验设计1、实验目的1)掌握模型机的基本原理和结构2)掌握机器指令与微程序的对应关系;3)掌握机器指令的执行流程;2、实验设备74LS181芯片两片,memory 6116一片,微程序控制存储器芯片一片,编译器芯片一片,八位同步计数器芯片一片,ALU_G芯片一片,PC_G芯片一片,74LS273芯片若干,输入,输出芯片各一片,选择器芯片若干,连接器芯片若干,灯泡若干,开关若干等。
3、环境组成原理虚拟实验室采用的是B/S架构,在客户端电脑上的浏览器地址栏中输入正确的地址进行访问即可。
网址为4、实验原理图1 模型机示意图图1中所示模型机包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。
这些部件的动作控制信号都有微控器根据微指令产生。
需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。
模型机详细原理见附件。
5、实验内容1)选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2)搭建实验流程:根据原理图1和电路图(见附件),将已选择的组件进行连线。
3)输入机器指令:选择菜单中的“工具”,再选择“模型机调试”,在指令输入窗口中输入如下指令:00000000000100000000100100100000000010110011000000001011010000000000000000000001本实验设计机器指令程序如下:4)这里做的是个加法运算,第一个加数已经存入到内存的0000 1010单元中,第二个加数是需要手工输入的。
在实验运行面板中点击“运行”按钮,选择“输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样第二个加数就设置好了。
5)在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。
或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令。
观察各个芯片的状态,思考模型机的运行原理。
图2 模型机调试窗口6、具体过程实现(1) 控制器把PC中的指令地址送往地址寄存器AR,并发出读命令。
存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。
(2) 指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。
(3) 当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往地址寄存器AR,然后向存储器发出读命令,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。