计算机原理汇编程序实验报告的总结,计算机组成原理及汇编实验报告

本文详细记录了一次计算机组成原理和汇编实验,涉及总线基本实验的设计、步骤、结果分析,以及汇编语言编程实验,包括循环程序、调试技巧和代码实现。通过实践学习了逻辑器件、总线通信和汇编语言应用,强调了理论与实践结合的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机组成原理及汇编实验报告

(13页)

dbade939ce732eb459d38bce220616c0.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

17.90 积分

中南大学中南大学计算机组成原理及汇编实验报告计算机组成原理及汇编实验报告姓姓 名名: : 学学 号号: : 专业班级专业班级: : 指导教师指导教师: : 学学 院院: : 信息科学与工程学院信息科学与工程学院 计算机组成原理实验计算机组成原理实验实验实验 1 总线基本实验总线基本实验一、实验目的一、实验目的(1)掌握静态存储随机存储器 RAM 的工作特性(2)掌握静态存储随机存储器 RAM 的读写方法二、实验设备二、实验设备74LS374(一片),74LS245(一片),74LS273(一片),静态存储器 MEMORY 6116(一片),8 位数据排线(一片),与门(两片),与非门(一片),单脉冲(三片),开关若干,灯泡若干。三、实验原理三、实验原理总线传输实验框图如图4.1所示,它将几种不同的设备挂至总线上,有存储器、输入 设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控 制 它们,就可实现总线信息传输。总线传输实验框图 总线基本实验要求如下:根据挂在总线上的几个基本部件,设计一个简单的流程。 (1)输入设备将一个数输入R0 寄存器。 (2)输入设备将另一个数输入地址寄存器。 (3)将R0 寄存器中的数写入到当前地址的存储器中。 (4)将当前地址的存储器中的数用 LED 数码管显示。四、实验步骤四、实验步骤(1) 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端, 即完成连线)。搭建好的实验流程图如图 4.3 所示。(2)初始化各芯片的控制信号,仔细检查无误后点击 【电源开/关】按钮接通电源。总线基本实验流程图 (3)实验的具体操作步骤如图4.2 所示。 首先应关闭所有三态门(SW-B=1,CS=1,R0-B=1,LED-B=1),并将关联的信号置 为:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。然后参照如下操作流程,先 给数据开关置数,打开数据输出三态门,开关LDR0置1,并双击旁边的单脉冲,使产生一 个上升沿将数据输入到R0 中;然后继续给数据开关置数,开关LDAR置1 ,并双击旁边的 单脉冲,使产生一个上升沿将数据输入到AR 中;关闭数据开关三态门 ,打开R0 寄存器 输出控制(开关LDR0和开关R0-B都置0),使存储器处于写状态(W/R=0、CS=0)将R0 中 的数写到存储器中;关闭存储器片选,关闭R0 寄存器输出(开关R0-B置0),使存储器处 于读状态(W/R=1、CS=0)。实验步骤图五、实验结果及结果分析五、实验结果及结果分析实验截图六、实验心得体会六、实验心得体会通过本次本次实验:(1)了解了一些逻辑器的组成结构(2)掌握一些逻辑器的工作原理(3)验证了各逻辑器件的组合功能(4)了解了总线和各个器件之间的工作过程。通过亲自动手,能更好的理解逻辑器件的组成及功能。同时实验中遇到各种问题,解 决后,让自己的知识更加牢固。同时也意识到自己的不足,需要更加的努力!汇编语言实验汇编语言实验实验实验 2 汇编语言编程实验汇编语言编程实验一、实验目的一、实验目的(1)掌握循环程序的设计方法(2)掌握汇编语言源程序的编辑、汇编、连接及调试过程。(3)进一步熟悉利用 DEBUG 程序修改参数的方法,并检查和验证结果的正确性。(4)学会针对不同的问题,选用不同的组织循环的方法。二、实验设备二、实验设备PC 机及 masm for windows 软件。三、实验要求三、实验要求(1)编辑一个指定的汇编语言源程序,并对其进行汇编、连接和运行。(2)利用 DEBUG 进行程序调试,掌握常用命令的使用方法,观察运行结果。(3)汇编语言上机操作,掌握循环程序的过程和汇编实现原理,进一步熟练掌握DEBUG操作指令以及汇编语言源程序的编辑、汇编、连接及调试过程。四、实验内容四、实验内容实验一:编程计算 1~100 的和实验二:编程计算 S=1+2*3+3*4+4*5+……+N*(N+1),N 由用户输入,将结果在屏幕显示实验三:编程计算 SUM=1!+2!+3!+4!+5!,将结果输出,需要有子程序五、程序源代码五、程序源代码实验一程序代码如下:实验一程序代码如下:DATA SEGMENT SUM1 DW 0,13,10,'$'DATA ENDS STACK1 SEGMENT S DB 1000 DUP( 0 )STACK1 ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK1 START: MOV AX, DATA MOV DS, AX MOV AX, 0 MOV CX, 0 LOOP1: ADD AX, CX INC CX CMP CX, 101 JL LOOP1 MOV SUM1, AX lea di ,sum1 call cv mov ah,9 lea dx,sum1 int 21h jmp ok cv: push cx push dx xor cx,cx mov si,10 s0: xor dx,dx inc cx div si push dx cmp ax,0 jnz s0 s1: pop dx add dl,“0“ mov byte ptr [di],dl inc di loop s1 mov al,20h s2: cmp byte ptr [di],0 jz s3 cmp byte ptr [di],43h jz s3 mov byte ptr [di],al inc di jmp s2 s3: pop dx pop cx ret ok: MOV AH,4CH INT 21H CODE ENDS END START实验二程序代码如下:实验二程序代码如下:DATAS SEGMENTs dw ?;此处输入数据段代码n dw ? DATAS ENDS STACKS SEGMENTdw 64 dup(?);此处输入堆栈段代码STACKS ENDS CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START:loop1: clc ;此指令清除 cf 标志位 cf=0 mov ah,1h ;通过给 AH 寄存器赋值,然后调用 INT 21H 指令,;计算机就会根据 AH 寄存器中的值执行相应的操作;其中 1H 是键盘输入并回显,AL 中有输入字符 int 21h cmp al,0dh ;比较是不是回车键,不改变操作数,只改变标志位,若 ZF=1,则表示 两数相等 je print ;ZF=1,转至标号处执 表示输入完毕 cmp al,'0' jz rotate ;ZF=1,转至标号处执 stc ;此指令设置 cf 为 1rotate: rcl bx,1 ;注意这里是带进位左移,程序的思想所在 jmp loop1 ;无条件转移print:mov n,bx MOV AX,DATASMOV DS,AXmov bx,0001hmov dl,02h lop2:mov al,blinc dl;加 1mul dl;无符号数乘法 AX=oprd*aladd bx,axcmp ax,n;与 n 比较jna lop2;不高于转移mov s,bxmov ch,4mov cl,4 lop1:rol bx,clmov dl,bland dl,0Fhcmp dl,09hjbe next;低于等于转移 add dl,7 next:add dl,30hmov ah,2int 21hdec chjnz lop1;非零转移MOV AH,4CHINT 21H CODES ENDSEND START实验三程序代码如下:实验三程序代码如下:DATA SEGMENTOUTPUT_TIPS DB 10, 13, “1! + 2! + 3! + 4! + 5! = $“NNN DW 1 DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATA START:MOV AX, DATAMOV DS, AXMOV BX, 2 ;0、1 的阶乘都是 1LOP:MOV AX, BXMOV CX, AXCALL FACTOR ;用递归方法计算阶乘ADD AX, NNNMOV NNN, AXINC BXCMP BX, 6JNE LOPMOV AX, NNNDISP:PUSH AXMOV DX, OFFSET OUTPUT_TIPSMOV AH, 9 ;显示字符串.INT 21HPOP AXMOV BX, 10MOV CX, 0 L1:MOV DX, 0DIV BXPUSH DXINC CXAND AX, AXJNZ L1 L2:POP DXADD DL, 48MOV AH, 2INT 21HLOOP L2 EXIT:MOV AH, 4CHINT 21H FACTOR PROC NEAR ;阶乘.DEC CX ;CX=2~8CMP CX, 1 ;=1 ?JE FACTOR_E ;为 1 就退出PUSH CX ;非 1 压栈保存CALL FACTOR ;递归调用,把 CX 一次次的减一POP CX ;弹出一个个递减的数值MUL CX ;乘到 AXFACTOR_E:RET ;AX=(2~8)! FACTOR ENDP ;简洁明了,无与伦比CODE ENDSEND START六、运行结果六、运行结果实验一调试实验一调试实验一运行结果实验一运行结果实验二调试实验二调试实验二运行结果实验二运行结果实验三调试实验三调试实验三运行结果实验三运行结果七、实验总结七、实验总结通过本次上机实验,学习了数值转换,循环,中断,分支结构等知识点。在课堂中听 到的关于汇编语言中的循环和分支程序的知识点,我们将它实践化了,使得我们更深一步 的认识和理解了循环程序和分支程序。在实验中,暴漏出来的问题就是,对于一些符号它 所代表的是什么还是不熟悉,导致程序出现问题,因此,以后还要多看书,多练习,加强 这方面的记忆。这次实验所学到的印象最深的就是 LOOP 循环以及有符号数跳转 JLE。总体上来讲,有些知识点理解的还不到位,希望通过以后的练习能加强对这些知识点 的理解。实验过程中,遇到很多问题,比如程序一的编写,基本上都是学习书本以及依靠 书本多做题才编出来的,仅有的几次上机实验,要抓紧时间学习和交流,时间挺少的。在 今后的学习和生活中,我们都需要相互学习、相互交流,共同进步。学习是一个循序渐进 的过程。 通过这次实验,使我了解到运行调试程序的不易,今后一定更加努力,把程序做到最 好!对于不足之处,会积极改正。掌握汇编语言程序编辑、汇编、连接、运行以及利用 DEBUG 调试程序的方法。加深对循环和分支程序结构的理解,掌握循环和分支结构程序设 计的方法,熟练汇编语言程序上机调试的方法和过程。能够独立自主的编辑代码解决一些 小问题,对汇编有了初步的了解。但仍有很多需要学习的地方! 关 键 词: 计算机 组成 原理 汇编 实验 报告

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

倾情奉献,完全可以照抄。实验一 运算器实验实验二 移位运算实验实验三 存储器读写和总线控制实验附加实验 总线控制实验实验五 微程序设计实验 一、实验目的: 1. 掌握运算器的组成及工作原理; 2. 了解4位函数发生器74LS181的组合功能,熟悉运算器执行算术操作和逻辑操作的具体实现过程; 3. 验证带进位控制的74LS181的功能。 二、预习要求: 1. 复习本次实验所用的各种数字集成电路的性能及工作原理; 2. 预习实验步骤,了解实验中要求的注意之处。 三、实验设备: EL-JY-II型计算机组成原理实验系统一套,排线若干。 ... ... ... 八、行为结果及分析: 实验数据记录如下表: DR1 DR2 S3S2S1S0 M=0(算术运算) M=1 Cn=1无进位 Cn=0有进位 (逻辑运算) 理论值 实验值 理论值 实验值 理论值 实验值 04H 06H 0 0 0 0 F=(04) F=(04) F=(05) F=(05) F=(05) F=(05) 04H 06H 0 0 0 1 F=(0A) F=(0A) F=(0B) F=(0B) F=(FC) F=(FC) 04H 06H 0 0 1 0 F=(FD) F=(FD) F=(FE) F=(FE) F=(00) F=(00) 04H 06H 0 0 1 1 F=(FF) F=(FF) F=(00) F=(00) F=(FD) F=(FD) 04H 06H 0 1 0 0 F=(04) F=(04) F=(05) F=(05) F=(F9) F=(F9) 04H 06H 0 1 0 1 F=(0A) F=(0A) F=(0B) F=(0B) F=(F9) F=(F9) 04H 06H 0 1 1 0 F=(FD) F=(FD) F=(FE) F=(FE) F=(FD) F=(FD) 04H 06H 0 1 1 1 F=(FF) F=(FF) F=(00) F=(00) F=(00) F=(00) 经过比较可知实验值与理论值完全一致。 此次实验的线路图的连接不是很难,关键是要搞清楚运算器的原理,不能只是盲目的去连线。在线路连接完成后,就按照要求置数,然后查看结果,与理论值比较。如果没有错误就说明前面的实验中没有出现问题;否则,就要重新对照原理图检查实验,找出错误,重新验证读数。 九、设计心得、体会: 这次课程设计我获益良多,平时我们能见到的都是计算机的外部结构,在计算机组成原理的学习中,逐步对计算机的内部结构有了一些了解,但始终都停留在理论阶段。而在本次实验,让我们自己设计8位运算器并验证验证运算器功能发生器(74LS181)的组合功能,让我对运算器的内部结构有了更深的了解,并且对计算机组成原理也有了更深层次的理解,同时这次课程设计还锻炼了我的实验动手能力,也培养了我的认真负责的科学态度。 这次课程设计要求连线仔细认真,不能有半点错误,在刚做这个实验的时候,我就由于粗心没有正确的设置手动开关SW-B和ALU-B,导致存入的数据不正确。 我在连线过程中也自己总结出了避免出错的方法,就是在接线图上将已经连接好的部分作上记号,连接完后再检查一遍各个分区的条数是否和实验接线图上的一样,如果一样就可以进行下面的实验步骤,就算出错了,改起来也容易多了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值