计算机组成原理与汇编实验报告_第1页
计算机组成原理与汇编实验报告_第2页
计算机组成原理与汇编实验报告_第3页
免费预览已结束,剩余16页可下载查看

下载本文档

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

文档简介

1、计算机组成原理与汇编实验报告姓名:学号:学院:信息科学与工程学院班级:实验1存储器实验? 实验目的掌握静态存储随机存储器RAM的工作特性掌握静态存储随机存储器RAM的读写方法? 实验设备74LS273(片),静态存储器 MEM0RY16 (片),与门(一片),与非 门(一片),单脉冲(一片),开关若干,灯泡若干? 实验原理在微机系统中,常用的静态RAM有6116、6264、62256等。在本实验中使用的是6116。6116为2KX8位的静态RAM其逻辑图3.1如下:6116弘缶 VCCI, 0:-7WR-OSes GXD图3.1 6116逻辑图其中A010为11根地址线,1/007为8根数据线

2、,CS为片选端,0E为数据输出选通端,WR为写信号端。其工作方式见下表3-1 : 表3-1工作方式表控制信号CS0EWR数据线读LLH输入写LXL输出非选1HXX高阻态实验所用的半导体静态存储器电路原理如图 3.2所示,实验中的静态存储器 一片6116(2KX 8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273 给出。地址灯AD0-AD7与地址线相连,显示地址线内容。数据开关经一三态门(74LS245连至数据总线,分时给出地址和数据图3.2存储器实验原理图因地址寄存器为8位,接入6116的地址A7A0,而高三位A8 A10接地, 所以其实际容量为256字节。6116有三个控制线

3、:CE(片选线)、0E(读线)、 W(写线)。当片选有效(CE=0时,0E=时进行读操作,WE=0时进行写操作。 本实验中将0E常接地,在此情况下,当CE=0 WE=0时进行读操作,CE=0 WE=1 时进行写操作,其写时间与T3脉冲宽度一致。控制信号SW-B为低电平有效,控 制信号LDAR为高电平有效。? 实验步骤1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设 计流程栏中。搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另 一组件的引脚端,即完成连线)。搭建好的实验流程图如图3.3所示rriWELDARSW-B了1 卞1114&_D4- .U2-D0I

4、s:1蚌 MEM ORY6116 (%IZ 11 ID V T iff 4 9 31 D74LS273 (Qi17 IE IS U 3“ 11CL阻夢隅图3.3存储器实验流程图2. 初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源。3. 写存储器。给存储器的00、01、02、03、04地址单元中分别写入数据11H12 H、13 H、14 H、15 H。由图3.2存储器实验原理图看出,由于数据和地址全由一个数据开关给出,因此要分时地给出。下面的写存储器要分两个步骤,第一步写地址,先关掉存储器的片选(CE=1 ,打开地址锁存器门控信号(LDAR=1 ,打开数据开关三态门(SW-

5、B=0,由开关 给出要写入的存储单元的地址,双击单脉冲产生 T3脉冲将地址输入到地址锁存 器;第二步写数据,关掉地址锁存器门控信号(LDAR=0,打开存储器片选,使 之处于写状态(CE=0 WE=1,由开关给出此单元要写入的数据,双击单脉冲 产生T3脉冲将数据写入到当前的地址单元中。写其他单元依次循环上述步骤。写存储器流程如图3.4所示(以向00号单元写入11H为例)。SW-B=1SW-B=OCE=1SW-B=OCE=1TT)AR=1l址亿SW-B=OCE=O WElLDAR=O 严JLSW-B=OLDAR=OSV-B=1J图3.4写存储器流程图4. 读存储器。依次读出第00、01、02、03

6、、04号单元中的内容,观察上述各单元中的内 容是否与前面写入的一致。同写操作类似,读每个单元也需要两步,第一步写地址,先关掉 存储器的片选(CE=1,打开地址锁存器门控信号(LDAR=1,打开数据开关三态门(SW-B=0, 由开关给出要写存储单元的地址,双击单脉冲产生 T3脉冲将地址输入到地址锁 存器;第二步读存储器,关掉地址锁存器门控信号(LDAR=0,关掉数据开关三 态门(SW-B=1,片选存储器,使它处于读状态(CE=0 WE=0,此时数据总线 上显示的数据即为从存储器当前地址中读出的数据内容。 读其他单元依次循环上 述步骤。读存储器操作流程如图3.5所示(以从00号单元读出11H数据为

7、例)SWB=0CE=1J(SW-B=0rSW*B=l、CE=1CE=OWE=OLDAR=1LDAR=0l丿L图3.5读存储器流程图? 思考与分析1. 由两片6116 (2K*8)怎样扩展成(2K*16)或(4K*8)的存储器?怎样连线?观察思考1.按图4.4-5连接实验线路,向存储器中指定的地址单元输入数据,地址先输入AR寄存器,在地址灯上显示;再将数据送入总线后,存到指定的存储单 元,数据在数据显示灯和数码显示管显示。从存储器中指定的地址单元读出数据,地址先输入AR寄存器,在地址灯显示; 读出的数据送入总线,通过数据显示灯和数码显示管显示。(1) 将时序电路模块中的和H23排针相连。将时序电

8、路模块中的二进制开关 “STOP设置为“RUN状态、将“STEP 设置为“ STEP状态。(2) 准备排线13条:8芯4条,2芯9条。按图4.4-5连接实验线路,仔细 查线无误后接通电源。L【m YEHFTThTi厂ZTi.I O 1 OBUS UKI7R1T dpvlcf;D76TL0_JI 卄日 EU-B 2JLCa wn v/h曲IMTSWI T- .NIT图4.4-5存储器实验接线图 向存储器指定的地址送入数据,如:向 00单元中输入11,步骤如图4.4-6:速裁开关杯幵COOOOOOOO三态门地址寄存器r IDOOCOOOC)图4.4-6 向地址寄存器AR中输入地址00的流程图操作步

9、骤:SW-B=1从输入开关输入:00000000打开输入三态门:SW-B=0将地址打入地址锁存器中:LDAR=1按START发T3脉冲观察并记录地址灯的变化:地址灯由 1101001111111111 输入要存放的数据“11”步骤如图4.4-7 :图4.4-7 输入要存放的数据“11 ”的流程图 操作步骤:SW-B=1从输入开关输入:00010001 打开输入三态门:SW-B=0 关闭地址寄存器:LDAR=0将数据写入存储单元:CE=0WE=1 按START发T3脉冲输入数据在数码管上显示:LED-B=0 发W/R脉冲 观察并记录数据显示灯和数码显示管的变化:数据显示灯变为00010001数码

10、管显示11 按照“、”的步骤继续向“00”下面的4个地址中输入下述数据地址数据备注0011已输入0112已输入0213已输入0314已输入0415已输入数据显示灯变为00010010数码管显示12数据显示灯变为00010011数码管显示13数据显示灯变为00010100数码管显示14数据显示灯变为00010101数码管显示15(6)从存储器指定的地址中读出数据。步骤如图4.4-8 :图4.4-8 从00中读出数据的流程图 操作步骤:SW-B=1禁止存储器读写:CE=1从输入开关输入:00000000 打开输入三态门:SW-B=0将地址打入地址锁存器中:LDAR=1按START发T3脉冲 关闭输

11、入三态门:SW-B=1 关闭地址寄存器:LDAR=0从存储器中读出数据:CE=0WE=0数据在数码显示管显示:LED-B=0发W/R脉冲同样从其它4个地址:01, 02, 03, 04中读出数据,观察地址显示灯、 数据显示灯和数码显示管的变化,并检查是否和输入的数据一致。地址显示灯11111111在T3脉冲变为00000000 数据显示灯0000000在SW-B=1后变为11111111 数码显示管发W/R脉冲之后变为FF2. 在进行存储器操作(写/读)是不是必须先往地址寄存器(AR)存入所访问 的存储器单元地址?答:是,从存储器中指定的地址单元读出数据,地址先输入AR寄存器才能 进行读写操作

12、。3. T3在本实验中起了哪些作用,如何区分它们?答:T3可以进行手动发脉冲。根据在此之前所进行的操作进行区分 。4. 在进行存储器读写操作时,CE和WE言号有没有先后顺序?为什么?答:有,应先对CE进行操作,再对WE4行操作。因为CE禁止存储器读写, 只有将CE=0时WE=(时才能从存储器中读出数据。六、试验心得本次实验中,首先连接线路时应该着重注意接线端口的对应,避免出现排线方向错误对实验结果的影响,同时要仔细对照输入的0或1。通过此次实验我们对存储器有一个重新整体的认识,同时也是自己在课堂上的知识得使实践和理解,为以后更深的学习打下基础。实验二(汇编语言):从键盘接受用户所输入的不超过

13、20个的099的数,在用户完成输入后对用 户所输入的数据进行排序并输出。要求定义子程序。实验要求:1)在虚拟实验平台中选择元器件并搭建存储实验2)完成汇编语言程序设计、编写、调试、运行。3)撰写实验报告实验报告模板:1)实验目的完成从键盘接受用户所输入的不超过 20个的099的数,在用户完成输入后对用 户所输入的数据进行排序并输出。并定义子程序。2)实验平台简介模块层次图本次实验值输入10个数作为测试 系统结构图(1)主程序流程图(2)冒泡排序子程序流程图bubblesort将10放到ex中3 功能模块设计说明(1) main 模块输入:从键盘输入十个有符号十进制整数输出:在屏幕上显示排好序的

14、十个十进制整数功能:通过对in put , bubblesort , output三个模块的调用实现将屏幕上输 入的10个十进制有符号整数进行冒泡排序,然后将排好序的10个十进制有符号 整数显示在屏幕上。(2)in put 模块输入:从键盘上输入十个有符号十进制整数。各个整数之间用逗号隔开,最后以回车符结束。输出:把这十个有符号十进制整数存入 buf数组里面。功能:屏幕上首先显示一行提示信息: “ Please in put ten decimal in tegers and use the comma as separation :” 意思就是要求用户输入 10个十进制有符 号整数,并且用逗

15、号作为分隔符。用户开始输入,如果用户输入了除数字、逗号、 以及负号以外的符号,屏幕上将显示:“error !”然后自动退出程序,不继续执 行。如果用户没有输满10个数,其余数将为0代替。输完后按回车键表示输入 完毕。(3)bubblesort 模块输入:从buf数组里面取数。输出:将排好序的数存到buf数组里。功能:利用冒泡排序法对输入的数进行排序。冒泡排序法的基本思想就是让相邻的两个数进行比较,如果前面的比后面的大,就将两个数调换次序,如果小, 就不调换,这样每一次参加排序的数中最大的数就到了最后面,通过n-1次排序就可以完成对所有的数的排序。(4)output 模块输入:从buf数组里面取

16、出排好序的数。输出:把排好序的数在屏幕上显示出来,各整数之间用逗号隔开。功能:屏幕上首先显示一行提示信息:“The result is :”。然后换一行显示 排序好的数。(5)char_int 模块输入:从键盘取得一个有符号十进制整数。输出:把该数转化为二进制数并存入 bx寄存器。功能:把从键盘取得的一个十进制数转换为二进制数,并将该数存入bx寄存器中(6)int_char 模块输入:从bx寄存器取出一个二进制数。输出:在屏幕上显示一个有符号十进制整数。功能:把bx寄存器中的一个二进制数通过模块dec_div转换为十进制数,并在屏幕上显示出来。(7)dec_div 模块输入:从bx寄存器中取得

17、需转换为十进制的数。输出:在屏幕上显示一位十进制数。功能:把bx寄存器中的二进制数除以相应的十的幕,并在屏幕上显示一位商。余数保存在bx寄存器中。(8)crlf 模块输出:向系统发出回车、换行符。功能:起到回车、换行的作用。4)实验代码datarea segme ntbuf dw 100 dupcou nt =10flag db 0mess1 db Please in put ten decimal in tegers and use the comma as separatio n:$mess2db error!$mess3db The result is: $datarea ends pr

18、og nam segme ntassume cs:prog nam,ds:datarea start:push ds sub ax,ax push ax mov ax,datarea mov ds,ax call in putcmp ax,10000dje en dallcall bubblesortcall output en dall: mov ah,4ch int 21h in put proc lea dx,mess1 mov ah,09 int 21h call crlf mov si,0 mov cx,co unt en ter: call char_i nt dec cx cmp

19、 dl, je store cmp dl,13 je exit2 jne errorstore: mov bufsi,bx add si,2 jmp en tererror: call crlf lea dx,mess2 mov ah,09 int 21h mov ax,10000d jmp exit3exit2: mov bufsi,bx call crlfexit3: ret in put endpJbubblesort proc mov cx,co unt dec cxlg4: mov di,cx mov si,0lg2: mov ax,bufsi cmp ax,bufsi+2 jle

20、lg3lg5: xchg ax,bufsi+2 mov bufsi,ax lg3: add si,2 loop lg2mov cx,di loop Ig4 ret bubblesort endp output proclea dx,mess3 mov ah,09 int 21h call crlfmov si,0 mov di,co unt n ext1: mov bx,bufsi cmp bl,0jge n ext4 mov dl,-mov ah,2 int 21h neg bx n ext4: call in t_char mov dl, mov ah,02 int 21h add si,2 dec di jnz n ext1 call crlf retoutput endp char_i nt proc mov bx,0 mov flag,0 n ewchar: mov ah,1 int 21h mov dl,al cmp al,2dh jnz n ext2 mov flag,1 jmp n e

温馨提示

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

评论

0/150

提交评论