文档库 最新最全的文档下载
当前位置:文档库 › 中南大学计算机原理与汇编实验报告(截图完整)

中南大学计算机原理与汇编实验报告(截图完整)

中南大学《计算机原理与汇编》实验报告

学生姓名

学号

专业班级

指导教师雷向东

学院信息科学与工程学院

完成时间 2010年12月

实验2 算术逻辑运算实验

一、实验目的

1.掌握简单运算器的组成以及数据传送通路。

2.验证运算功能发生器(74LS181)的组合功能。

二、实验设备

74LS181(两片),74LS273(两片), 74LS245(一片),开关若干,灯泡若干,单脉冲一片。

三、实验原理

实验中的运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。

74LS181:完成加法运算。

74LS273:输入端接数据开关,输出端181。在收到上升沿的时钟信号前181和其输出数据线之间是隔断的。在收到上升沿信号后,其将输出端的数据将传到181,同时,作为触发器,其也将输入的数据进行保存。因此,通过增加该芯片,可以通过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到181芯片的不同引脚之中。

74LS245:相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后将其打开,可以使181的运算结果输出并显示到灯泡上。

四、实验步骤及结果分析

1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

图1 运算器实验流程图

2.搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。搭建好的实验流程图如图1所示。具体操作如下:

①将74LS273芯片的0-7号引脚(数据端从低到高)及9号引脚(复位端)接到开关上,8号引脚接至单脉冲组件,左右两个74LS273芯片分别保存参与运算的数据A和B。接着把两个74LS273组件的11-14号引脚(数据的低四位)分别接到74LS181组件(左)的0-7号引脚上,其中0-3号引脚为A的低四位,4-7号引脚为B的低四位。同样的,把两个74LS273组件的15-18号引脚(数据的高四位)分别接到74LS181组件(右)的0-7号引脚上,其中0-3号引脚为A 的高四位,4-7号引脚为B的高四位。

②74LS181的8-12号引脚(S0-S3、M)接到开关上控制逻辑/算术运算。把低位的74LS181芯片(左)的13号引脚(CN端)由开关控制,高位的74LS181芯片(右)的13号引脚CN与低位的74LS181的15号进位输出相连。

③最后,把两个74LS181芯片的16-19号引脚顺序接到74LS245的0-7接口上。74LS245芯片的8、9号引脚接开关,11―18号输出引脚(低位到高位)接灯泡,作为运算器结果的显示。

初始化各芯片的控制信号, 数据开关置上相应的数据。

3.初始化各芯片的控制信号,数据开关置上相应的数据(A置为65H,B置为A7H)。结果如图2所示。

图2 实验连线图

4.点击“运行”按钮,分别点击左右两个单脉冲组件,把参与运算的数据B和A置入两个锁存器中。通过改变S3,S2,S1,S0,M,CN的组合来实现不同的功能,根据连接到245的灯泡显示情况,可以对输入数据和输出结果进行检验(因为当ALU的控制信号位1111时其将直接输出A,为1010时直接输出B),74LS181的功能见表2-1, A和B分别表示参与运算的两个数,“+”表示逻辑或,“加”表示算术求和。

表2-1

5.通过前面的操作,我们将A置为65H,B置为A7H。然后改变运算器的控制电平S3,S2,S1,S0,M,CN的组合,观察运算器的输出,填入表2-2中,并和理论值进行比较,验证74LS181的功能。

表2-2

实验4 移位运算实验

一.实验目的

1.掌握移位寄存器的工作原理及其应用。

2.熟悉移位寄存器的逻辑功能及实现各种移位功能的方法。

二.实验设备

74LS194组件一片,单脉冲一个,开关若干,灯泡若干

三.实验原理

移位寄存器是一种由触发器连接组成的同步时序电路,每个触发器的输出连到下一级触发器的数据输入,所有触发器共用一个时钟脉冲源,在时钟脉冲的作用下,存储在移位寄存器中的二进制信息,逐位左移或右移。

移位寄存器原理框图如图4所示:

图4 移位寄存器原理框图

在上图中,每一个方框A、B、C、D代表一位寄存器。如果移位寄存器原状态为1000,A输入接地,每送一个CP时钟之后,数码“1”由A―D 的方向移动一位,若逐级移动,它就实现了寄存器的串行输入——串行输出的移位工作方式。

四.实验步骤及结果分析

1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

2.搭建实验流程:将已选择的组件进行连线,搭建好的实验流程图如图5所示。

图5 移位寄存器实验流程图

3. 验证74LS194双向移位寄存器的逻辑功能。

芯片引脚如下: 0-3号引脚是4个并行输入端A ~D ,4,5号是和右移输入端DSR 和左移输入端DSL ,6、7号引脚是S0、S1两个控制输入端,8号是复位端RD (低电平有效)为“异步清零”输入端,9、10号引脚分别是CP 时钟脉冲和电源信号,11-14号为QA ~QD 输出端,15号引脚是接地端。它能实现清零、存数、移位、保持等功能。

①清零:给RD 一个低电平,则清除原寄存器中的数码,实现QA 、QB 、QC 、QD 清零。结果如图4-1、4-2。

图4-1 当S1=S0=1,置入数据D 3D 2D 1D 0=0111 图4-2 RD=0,清除原寄存器中的数码

②存数:当S1=S0=1时,CP 上升沿到达时,触发器被置为

QAn+1=A,QBn+1=B,QCn+1=C,QDn+1=D,移位寄存器处于“数据并行输入”状态。结果如图4-3。

图4-3 当S1=S0=1时,RD=1,置入数据D 3D 2D 1D 0=1010,输出为Q 3Q 2Q 1Q 0=1010。

③移位:S1=0,S0=1,CP 上升沿到达时,触发器被置为QAn+1=DSR,QBn+1=QAn, QCn+1=QBn,QDn+1=QCn,这时移位寄存器处在“右移”工作状态。S1=1,S0=0,CP 上升沿到达时,触发器被置为QAn+1=QBn,QBn+1=QCn,QCn+1=QDn,QDn+1= DSL ,这时移位寄存器处在“左移”工作状态。

图4-4 当S1=S0=1时,RD=1,置入数据D 3D 2D 1D 0=1110,输出为Q 3Q 2Q 1Q 0=1110。

图4-5 S1=0,S0=1,CP上升沿到达时,移位寄存器处在“右移”工作状态。

输出为Q

3Q

2

Q

1

Q

=1100。

图4-6 S1=1,S0=0,CP上升沿到达时,移位寄存器处在“左移”工作状态。

输出为Q3Q2Q1Q0=0110。

④保持:当S1=S0=0时,Qin+1= Qin ,移位寄存器处在“保持”工作状态。

图4-7 当S1=S0=0时,移位寄存器处在“保持”工作状态,输出为Q 3Q 2Q 1Q 0=0110。

74LS194的真值表

实验5 存储器实验

一.实验目的

1.掌握静态存储随机存储器RAM的工作特性。

2.掌握静态存储随机存储器RAM的读写方法。

二.实验设备

74LS273组件一片,静态存储器MEMORY6116组件一片(是一个2k×8的静态存储器。在本实验中只使用8位地址),单脉冲一个,开关若干,灯泡若干。三.实验原理

本实验所用的静态存储器由一片6116(2K×8)构成,其数据线接至数据开关,地址线由地址锁存器(74LS373)给出。因地址寄存器为8位,接入6116的地址A7-A0,而高三位A8-A10接地,所以其实际容量为256字节。6116有三个控制线:CE(片选线)、OE(读线)、WE(写线)。当片选CE=0,读信号OE=0时,进行读操作,当片选CE=0,写信号WE=1时,进行写操作。由于本实验中将OE常接地,这样,当CE=0、WE=0时进行读操作,CE=0、WE=1时进行写操作,写时间与T3脉冲宽度一致。

四.实验步骤及结果分析

1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

2.搭建实验流程:将已选择的组件进行连线, 74LS273的0―7号输入引脚(数据端)、9号引脚(复位端)分别接到开关上,8号引脚接单脉冲信号,11-18号输出引脚接到静态MEMORY的0-7号地址输入引脚。静态MEMORY的高3位地址输入引脚8―10统一置0,由开关控制,使存储器实际容量为256个字节。11-13号使能端(CE 、WE、OE)分别由开关控制,14-21号数据端同时接入开关和灯泡,进行读写操作,开关控制欲写入存储器的数据,灯泡用于从存储器读出数据的显示。实验流程图如图6所示。

3.设置相应芯片的控制位.(273的9号引脚为1,6116的CE=1,WE=1,OE=0.)

4.写入数据:点击运行按钮,74LS273的连接的地址数据开关作为地址输入端可以自己设置,设置完毕后,双击单脉冲信号,将地址数据输入到74LS273里面去。因为静态MEMORY6116的11号引脚(CE端)为0,12号引脚(WE端)为0时写入数据,所以11,12号引脚置0,13号引脚(OE端)置0,静态MEMORY6116连接的开关作为数据输入端,将数据写到指定的存储器单元中去。输入数据可以由用户自己设置。这样就完成了存储器的写操作,重复上述过程可以完成其他地址的数据写入过程。记录下此时写入各个单元的数据,以便进行读操作时验证。

5.读出数据:把静态MEMORY6116的11号引脚(CE端)和13号(OE端)引脚设置为0,12号引脚(WE端)置为1,然后置地址,触发脉冲,则可以从灯泡中读出相应地址中的数据。完成读操作。检查读的数据与刚记录的数据是否一样。

图5-1 将地址数据输入到74LS273

图5-2 将数据00000101写到指定的存储器单元中

读的数据与刚记录的数据00000101一样。

图5-4 置入错误地址00000101,未读出所记录数据

汇编实验冒泡排序

一.实验目的

1.掌握冒泡排序的主要算法思想。

2.熟悉汇编语言的编程过程。

二.实验设备

计算机一台(含Masm for Windows 开发环境)

三、实验要求

使用汇编语言,将10个有符号十进制整数,通过冒泡排序法进行排序后,将排序好的10个有符号十进制整数输出,显示在屏幕上。

四、实现方法和过程

1.模块层次图

2.系统结构图(1)主程序流程图

(2)冒泡排序子程序流程图

3.功能模块设计说明

(1)main模块

输入:从键盘输入十个有符号十进制整数

输出:在屏幕上显示排好序的十个十进制整数

功能:通过对input,bubblesort,output三个模块的调用实现将屏幕上输入的10个十进制有符号整数进行冒泡排序,然后将排好序的10个十进制有符号整数显示在屏幕上。

(2)input模块

输入:从键盘上输入十个有符号十进制整数。各个整数之间用逗号隔开,最后以‘回车’符结束。

输出:把这十个有符号十进制整数存入buf数组里面。

功能:屏幕上首先显示一行提示信息:“Please input ten decimal integers and use the comma as separation:”。意思就是要求用户输入10个十进制有符号整数,并且用逗号作为分隔符。用户开始输入,如果用户输入了除数字、逗号、以及负号以外的符号,屏幕上将显示:“error!”。然后自动退出程序,不继续执行。如果用户没有输满10个数,其余数将为0代替。输完后按回车键表示输入完毕。

(3)bubblesort模块

输入:从buf数组里面取数。

输出:将排好序的数存到buf数组里。

功能:利用冒泡排序法对输入的数进行排序。冒泡排序法的基本思想就是让相邻的两个数进行比较,如果前面的比后面的大,就将两个数调换次序,如果小,就不调换,这样每一次参加排序的数中最大的数就到了最后面,通过n-1次排序就可以完成对所有的数的排序。

(4)output模块

输入:从buf数组里面取出排好序的数。

输出:把排好序的数在屏幕上显示出来,各整数之间用逗号隔开。

功能:屏幕上首先显示一行提示信息:“The result is:”。然后换一行显示排序好的数。

(5)char_int模块

输入:从键盘取得一个有符号十进制整数。

输出:把该数转化为二进制数并存入bx寄存器。

功能:把从键盘取得的一个十进制数转换为二进制数,并将该数存入bx寄存器中。

(6)int_char模块

输入:从bx寄存器取出一个二进制数。

输出:在屏幕上显示一个有符号十进制整数。

功能:把bx寄存器中的一个二进制数通过模块dec_div转换为十进制数,并在屏幕上显示出来。

(7)dec_div模块

输入:从bx寄存器中取得需转换为十进制的数。

输出:在屏幕上显示一位十进制数。

功能:把bx寄存器中的二进制数除以相应的十的幂,并在屏幕上显示一位商。余数保存在bx寄存器中。

(8)crlf模块

输出:向系统发出回车、换行符。

功能:起到回车、换行的作用。

五、实验结果及分析

1.输入正确的字符时,结果如图1所示。

图1 排序结果

2.输入错误的字符时,如图2所示。

中南大学计算机体系结构实验报告

计算机体系结构实验报告 学院:信息科学与工程学院 专业班级:高赛文的小仙女 指导老师:雷向东 姓名:igot7

目录 实验 1 对指令操作码进行霍夫曼编码 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验过程 (3) 四、实验结果 (14) 实验 2 使用 LRU 方法更新 Cache (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验过程 (15) 四、实验结果 (18) 实验 3 通道处理过程模拟 (20) 一、实验目的 (20) 二、实验内容 (20) 三、实验过程 (21) 四、实验结果 (22) 实验 4 单功能流水线调度机构模拟 (23) 一、实验目的 (23) 二、实验内容 (23) 三、实验过程 (23) 四、运行结果 (24) 实验总结 (24)

实验 1 对指令操作码进行霍夫曼编码 一、实验目的 1.了解和掌握指令编码的基本要求和基本原理 二、实验内容 1.使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对 指令码的长度进行评价。与扩展操作码和等长编码进行比较。 问题描述以及问题分析: 我们举例说明此问题,例如: 有一组指令的操作码共分七类,它们出现概率如 下表所示: P1 P2 P3 P4 P5 P6 P7 0.45 0.30 0.15 0.05 0.03 0.01 0.01 对此组指令进行HUFFMAN 编码正如下图所示: 最后得到的HUFFMAN 编码如下表所示: 最短编码长度为: H=0.45*1+0.30*2+0.15*3+0.05*4+0.03*5+0.01*6+0.01*6=-1.95. 要对指令的操作码进行HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行HUFFAM 编码。此过程的难点构造HUFFMAN 树,进行HUFFAM 编码只要对你所生成的HUFFMAN 树进行中序遍历即可完成编码工作。 三、实验过程 观察上图 1,不难看出构造 HUFFMAN 树所要做的工作:

中南大学 汇编语言实验报告

计算机原理与汇编实验报告 学生姓名 学号 专业班级 指导教师贺建飚 学院信息科学与工程学院 完成时间2014年6月

实验一二进制转十六进制 一、实验目的 (1) 掌握循环程序的设计方法。 (2)掌握汇编语言源程序的编辑、汇编、连接及调试过程。 (3)进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。 (4) 学会针对不同的问题,选用不同的组织循环的方法。 二、实验要求 掌握循环程序的过程和汇编实现原理,进一步熟练掌握DEBUG操作指令以及汇编语言源程序的编辑、汇编、连接及调试过程。 三、实验内容 掌握循环排序算法的思想: 二进制到十六进制转换程序 实验代码如下: assume cs:code code segment main proc far start: mov bx,1111000111110000b ;待转换成十六进制的二进制数mov ch,4 ;设置循环次数 rotate: mov cl,4 ;设置循环左移的位数 rol bx,cl ;将bx中的每位依次循环左移4位, ;每左移一次,把最高位同时移入CF和操作数最低位 mov al,bl and al,0fh ;将al高4位清0,保留从rol循环移位到al低四位的值 add al,30h ;将4位二进制数转换成对应的ASCII码 cmp al,3ah ;判定4位二进制数是否大于9 jl print add al,7h print: mov dl,al ;调用中断程序输出单个字符 mov ah,2 int 21h dec ch ;继续循环,直到循环4次为止 jnz rotate main endp mov ax,4c00h int 21h code ends end 四、实验结果

中南大学计算机原理与汇编实验报告(截图完整)

中南大学《计算机原理与汇编》实验报告 学生姓名 学号 专业班级 指导教师雷向东 学院信息科学与工程学院 完成时间 2010年12月

实验2 算术逻辑运算实验 一、实验目的 1.掌握简单运算器的组成以及数据传送通路。 2.验证运算功能发生器(74LS181)的组合功能。 二、实验设备 74LS181(两片),74LS273(两片), 74LS245(一片),开关若干,灯泡若干,单脉冲一片。 三、实验原理 实验中的运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。 74LS181:完成加法运算。 74LS273:输入端接数据开关,输出端181。在收到上升沿的时钟信号前181和其输出数据线之间是隔断的。在收到上升沿信号后,其将输出端的数据将传到181,同时,作为触发器,其也将输入的数据进行保存。因此,通过增加该芯片,可以通过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到181芯片的不同引脚之中。 74LS245:相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后将其打开,可以使181的运算结果输出并显示到灯泡上。 四、实验步骤及结果分析 1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

图1 运算器实验流程图 2.搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。搭建好的实验流程图如图1所示。具体操作如下: ①将74LS273芯片的0-7号引脚(数据端从低到高)及9号引脚(复位端)接到开关上,8号引脚接至单脉冲组件,左右两个74LS273芯片分别保存参与运算的数据A和B。接着把两个74LS273组件的11-14号引脚(数据的低四位)分别接到74LS181组件(左)的0-7号引脚上,其中0-3号引脚为A的低四位,4-7号引脚为B的低四位。同样的,把两个74LS273组件的15-18号引脚(数据的高四位)分别接到74LS181组件(右)的0-7号引脚上,其中0-3号引脚为A 的高四位,4-7号引脚为B的高四位。 ②74LS181的8-12号引脚(S0-S3、M)接到开关上控制逻辑/算术运算。把低位的74LS181芯片(左)的13号引脚(CN端)由开关控制,高位的74LS181芯片(右)的13号引脚CN与低位的74LS181的15号进位输出相连。 ③最后,把两个74LS181芯片的16-19号引脚顺序接到74LS245的0-7接口上。74LS245芯片的8、9号引脚接开关,11―18号输出引脚(低位到高位)接灯泡,作为运算器结果的显示。 初始化各芯片的控制信号, 数据开关置上相应的数据。

中南大学算法实验报告

中南大学算法分析与设计 实验报告 学生姓名涂茂麟 学号 专业班级计算机科学与技术1303 指导老师 学院信息科学与工程学院 目录

实验一 DFS与BFS 3 实验二最近点对问题 7 实验三拓扑排序 10 实验四 N皇后问题 12 实验五 0-1背包问题 16 实验六最短路径 20 实验一 DFS与BFS 实验目的:实现深度优先算法、宽度优先算法 实现原理: 深度优先搜索: 从图中某顶点v出发: (1)访问顶点v; (2)依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问; (3)若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止。

广度优先搜索: 已知图G=(V,E)和一个源顶点s,宽度优先搜索以一种系统的方式探寻G的边,从而“发现”s所能到达的所有顶点,并计算s到所有这些顶点的距离(最少边数),该算法同时能生成一棵根为s且包括所有可达顶点的宽度优先树。对从s 可达的任意顶点v,宽度优先树中从s到v的路径对应于图G中从s到v的最短路径,即包含最小边数的路径。该算法对有向图和无向图同样适用。 具体设计: 1. 数据结构 采用邻接链表作为图的数据结构。 public class Graph {//图 public VNode[] arrVnode=new VNode[100] ;//头结点数组 public int vexmun,arcmun;//节点总数、边界总数 public int time;//记录打开、关闭节点的时间 } public class VNode {//节点类 public int data;//节点的内容 public boolean visited=false;//是否访问过 public boolean ifclosed=false;//是否被放在关闭的表中 public int distance=10000;//距离某一点的最短距离

中南大学汇编课程设计

中南大学课程设计报告 课题:计算机原理与汇编课程设计题目:输出九九乘法表

目录 摘要 九九乘法表输出是应用masm.exe 、link.exe、debug.exe等汇编语言软件进行编译链接及执行目的程序的方法来实现。并且认识和利用DOS系统下的21h 函数的02功能号来进行单个字符的输出 程序设计的过程中用到循环和子函数的思想。模块化的程序设计思想有利于源代码代码的编写、错误的查找和修改,同时可以分步来调试程序、减少工作量,乘法表的输出没有乘数和被乘数,只有乘积的结果输出。 关键词 汇编语言程序设计、微机原理、九九乘法表、dos中断系统。 一、设计要求 本实验要求将九九乘法口诀表输出在屏幕上。 二、设计思想 九九乘法表输出程序主要用到一个嵌套循环和两个过程,外层循环用bl保存并记录,外循环每执行一次,bl的值加一。内循环用bh保存并记录,如果bh 的值小于bl的值则执行内循环,内循环中每盒bl比较一次,成立则值加一不成立则转到换行,子函数执行,同时也比较外循环是否继续满足条件执行,即比较bl的值是否小于10,小于就执行外循环 否则就结束程序。 设计dis子函数,把内存中的16进制数转换成10进制,设计的disp子函数是把十进制转化成ASCLL码并输出乘积,这样得到的显示的结果就是我们看到的10进制数。 子函数output_ctl的功能是换行,当内循环变量bh的值大于外循环值bl时调用这个函数,使得输出的结果有序,输出的结果更容易体现嵌套循环。 三、实验步骤 (一)、创建文本文件,编写源代码,把文件保存在有masm.exe link.exe等汇编软件的文件夹下,文件的后缀名改为.asm,比如 九九乘法表输出.asm 。 (二、开启电脑,在“开始”—“运行”输入“cmd”命令进入DOS的字符操作界面,编译链接程序代码,查看源程序是否有错误,有错误则加以修改。 (三)、程序编译链接没有错误的情况下执行目标程序,查看结果的输出情况,并用debug命令查看内存的变化。 (四)、按要求撰写设计报告。

中南大学《编译原理》上机实习课程实验报告

编译原理课程实验上机实习 中南大学计算机0706班方文一、目的 加强学生对编译过程的整体认识,而不是个别阶段的实习。 二、实习要求 扩充语句部分:for语句、repeat语句、case语句; 三、PL语言及其编译程序 1.词法分析 2.语法分析 3.语义分析及中间代码生成 4.汇编代码生成 四、扩充 1.扩充repeat语句 扩充文法 <循环语句>::=”repeat”<语句>”until”<表达式> 扩充函数:详见文件夹Assignment 运行示例: 示例代码: program pp; var n,p:integer; procedure p2(n:integer); begin repeat begin call write(n); n:=n-1 end until n=0 end; begin call p2(5) end. 生成中间代码: 0 JMP 0 , 15 ------> 无条件跳转 1 JMP 0 , 2 ------> 无条件跳转 2 ENTP 2 , 4 ------> 进入过程 3 LOD 2 , 3 ------> 装入变量值

4 WRITE 0 , 0 ------> 写指令 5 LODA 2 , 3 ------> 装入变量地址 6 LOD 2 , 3 ------> 装入变量值 7 LIT 0 , 1 ------> 装入常量 8 SUB 0 , 0 ------> 减 9 STO 0 , 0 ------> 将栈顶值存入栈顶次值所指单元 10 LOD 2 , 3 ------> 装入变量值 11 LIT 0 , 0 ------> 装入常量 12 EQ 0 , 0 ------> == 13 JPC 0 , 3 ------> 栈顶值为0时跳转 14 RETP 0 , 0 ------> 过程返回 15 ENTP 1 , 4 ------> 进入过程 16 OPAC 0 , 0 ------> 打开活动记录 17 LIT 0 , 5 ------> 装入常量 18 CALL 1 , 2 ------> 转子 19 ENDP 0 , 0 ------> 程序结束 解释运行结果: Your Output:5 Your Output:4 Your Output:3 Your Output:2 Your Output:1 2.扩充for语句 扩充文法 <循环语句>::=“for”“(”<赋值语句> “;”<表达式> “;”<语句> “)” 扩充函数详见文件夹Assignment 运行示例 示例代码: program pp; var n,p:integer; procedure p1(n:integer;var p:integer); begin for(p:=1;p<=5;p:=p+1) begin call write(p); end end; begin call read(n); call p1(n,p); call read(n);

中南大学 计算机体系结构实验报告

计算机体系结构课程设计 学院:信息科学与工程学院 专业班级: 指导老师: 学号: 姓名:

目录 实验1 对指令操作码进行霍夫曼编码 (3) 一、实验目的 (3) 二、实验内容 (3) 三、设计思路 (4) 四、关键代码 (4) 五、实验截图 (5) 六、源代码 (5) 实验2 使用LRU 方法更新Cache (8) 一、实验目的 (8) 二、实验内容 (8) 三、设计思路 (9) 四、程序截图 (9) 五、实验代码 (9) 实验总结 (16) 参考文献 (16)

实验1 对指令操作码进行霍夫曼编码一、实验目的 了解和掌握指令编码的基本要求和基本原理 二、实验内容 1。使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价。与扩展操作码和等长编码进行比较。 2。问题描述以及问题分析 举例说明此问题,例如: P1 P2 P3 P4 P5 P6 P7 0.45 0.30 0.15 0.05 0.03 0。01 0.01 有一组指令的操作码共分七类,它们出现概率如 下表所示: 对此组指令进行 HUFFMAN 编码正如下图所示: 最后得到的HUFFMAN 编码如下表所示:

最短编码长度为: H=0.45*1+0。30*2+0。15*3+0。05*4+0。03*5+0。01*6+0.01*6=—1.95。 要对指令的操作码进行 HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行 HUFFAM 编码。此过程的难点构造 HUFFMAN 树,进行 HUFFAM 编 码只要对你所生成的 HUFFMAN 树进行中序遍历即可完成编码工作。 三、设计思路 观察上图 ,不难看出构造 HUFFMAN 树所要做的工作:1、先对各指令操作码的出现 概率进行排序,构造一个有序链表。2、再取出两个最小的概率节点相加,生成一个生的节点加入到链表中,同时从两表中删除此两个节点。3、在对链表进行排序,链表是否只有一个节点,是则 HUFFAN 树构造完毕,否则继续做 2 的操作。为此设计一个工作链表(链表的元素时类,此类的功能相当结构。)、HUFFMAN 树节点、HUFFMAN 编码表节点。 四、关键代码 哈夫曼树重点在于如何排列权值大小不同的结点的顺序 private int leafNum; //叶子结点个数 private HaffmanNode [] hnodes; //哈夫曼树的结点数组 public HaffManCode(double[] weight) //构造指定权值集合的哈夫曼树 { int n = weight.length; //n个叶子结点 this.leafNum = n; this。hnodes = new HaffmanNode[2*n-1]; //n个叶子结点的哈夫曼树共有2n—1个结点 for(int i=0; i

中南大学单片机实验报告

中南大学单片机实验报告 中南大学单片机实验报告 引言: 单片机是一种集成电路芯片,具有微型计算机的功能。它广泛应用于各个领域,如电子设备、通信、汽车控制等。在中南大学,单片机实验是电子信息类专业 学生必修的课程之一。本篇报告将对中南大学单片机实验进行总结和分析。 一、实验目的 单片机实验的主要目的是让学生了解单片机的基本原理和应用,培养学生的实 践能力和创新思维。通过实验,学生可以掌握单片机的编程技巧、电路设计和 硬件连接方法。 二、实验内容 中南大学单片机实验包括多个实验项目,涵盖了单片机的基本知识和应用。其中,最常见的实验项目包括LED灯控制、数码管显示、按键输入、温度传感器 应用等。每个实验项目都有明确的实验要求和实验步骤,学生需要按照要求完 成实验并提交实验报告。 三、实验过程 在单片机实验中,学生首先需要理解实验要求和相关知识。然后,他们需要设 计电路连接图,选择适当的元件和器件进行硬件连接。接下来,学生需要编写 程序代码,将所学知识应用到实际中。完成代码编写后,学生需要进行调试和 测试,确保实验结果符合预期。最后,学生需要整理实验报告,包括实验目的、实验步骤、实验结果和分析等。 四、实验结果

通过中南大学单片机实验,学生可以获得丰富的实践经验和知识。他们可以掌握单片机的基本编程方法和硬件连接技巧。在实验中,学生能够成功实现LED 灯的控制、数码管的显示、按键的输入和温度传感器的应用等。通过实验结果的分析,学生可以发现问题并加以解决,提高自己的实践能力和创新思维。 五、实验心得 中南大学的单片机实验给我留下了深刻的印象。通过实验,我不仅学到了单片机的基本原理和应用,还提高了自己的动手能力和解决问题的能力。在实验过程中,我遇到了许多困难和挑战,但通过不断的努力和尝试,我最终成功完成了实验任务。我发现,实验不仅是理论知识的应用,更是一种锻炼和成长的机会。 六、实验改进建议 虽然中南大学的单片机实验已经很好地培养了学生的实践能力,但我认为还可以进一步改进。首先,可以增加一些创新性的实验项目,鼓励学生在实验中发挥自己的想象力和创造力。其次,可以加强实验指导,提供更详细的实验步骤和操作方法,帮助学生更好地理解和掌握实验内容。最后,可以增加实验报告的分析和讨论部分,让学生更深入地思考实验结果和问题。 结论: 中南大学的单片机实验是一门重要的实践课程,对于电子信息类专业学生的学习和发展具有重要意义。通过实验,学生可以掌握单片机的基本原理和应用,提高自己的实践能力和创新思维。同时,我对实验的改进提出了一些建议,希望能够进一步提高实验教学的质量和效果。总的来说,中南大学的单片机实验为学生提供了一个良好的学习平台,帮助他们更好地理解和应用单片机技术。

中南大学计算机网络实验报告

中南大学计算机网络——课程设计报告 姓名:周建权 学号:0909122820 班级:信安1202

目录 第一章概要设计 (3) 1.1设计目的、任务与要求 (3) 1.2 开发环境简介 (3) 第二章设计的基本概念和原理 (5) 2.1 数据库 (5) 2.2 MVC架构模式 (5) 2.3 Web应用服务器 (6) 第三章系统分析设计 (6) 3.1 系统功能 (6) 3.2 系统构架 (7) 第四章系统实现 (9) 4.1 数据库设计 (9) 4.2 系统公共模块设计 (11) 4.3 前台销售模块详细设计 (12) 4.4 后台管理模块详细设计 (14) 第五章完成情况 (15) 5.1前台基本功能界面 (15) 5.2后台基本功能界面 (20) 第六章使用说明 (22) 6.1网站访问方式 (22) 第七章总结 (22) 第八章参考文献 (22)

第一章概要设计 1.1设计目的、任务与要求 电子商务(Electronic Commerce)是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。 Internet上的电子商务可以分为三个方面:信息服务、交易和支付。主要内容包括:电子商情广告;电子选购和交易、电子交易凭证的交换;电子支付与结算以及售后的网上服务等。主要交易类型有企业与个人的交易(B to C方式)和企业之间的交易(B to B方式)两种。参与电子商务的实体有四类:顾客(个人消费者或企业集团)、商户(包括销售商、制造商、储运商)、银行(包括发卡行、收单行)及认证中心。电子商务是Internet 爆炸式发展的直接产物,是网络技术应用的全新发展方向。Internet本身所具有的开放性、全球性、低成本、高效率的特点,也成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值,它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。 本次课程设计要求完成一个电子商务网站的设计,实现一个类似网上书店或者网上花店等电子商务网站,要求利用ASP或者JSP技术实现,后台数据库为 SQL server或者ORACLE。 1.2 开发环境简介 我们选择MyEclipse10 + SqlServer2008 + Tomcat6.0 + JDK7.0一系列开发工具及环境,利用servlet + jsp + javabean技术开发网上购花平台。 Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web 内容。狭义的Servlet是指 Java语言实现的一个接口,广义的Servlet是指任

中南大学微机原理实验报告 信号发生器讲解

微型计算机原理与接口技术 实验课程设计 课程题目:信号发生器 学院:信息科学与工程学院 专业班级:自动化1105 学号:0909112324 姓名:樊文跃 指导老师:王击李志明

目录 一、课程设计概述 二、设计思想与实施方案 三、典型模块与编程分析 四、系统调试 五、课程设计收获与体会 六、参考文件 七、附录

一、课程设计概述 1.1 课程设计目的 《微型计算机原理与接口技术》理论课程是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086 微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。要求学生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086 微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。本课程设计,旨在提高同学汇编语言的编程能力以及对外部硬件(8086,DC0832,74LS138,8255,数码管,矩阵键盘)的认识,掌握各芯片的用法,锻炼学生在微机应用方面的实际工作能力,将所学转化为所用。同学们应该充分利用实验室现有资源以及微机原理与接口技术中的相关实验资料,以试验箱或proteus仿真软件为工具,以汇编语言或C语言为开发语言,实现多个模块的结合及软硬结合,独立完成给定的任务。在完成任务的基础上,以提升能力为目标,各位同学可以尝试用其他的编程语言实现给定要求,并开动自己的脑经,完善功能并尽可能多的做到以较简单的方法实现较为困难的问题,以较少的器件实现较多的功能,并琢磨模块间的配合实现。

1.2 课程设计的要求 (1)分别用C语言或汇编语言编程完成硬件接口功能设计; (2)硬件电路基于80x86微机的接口电路; (3)程序功能要求:小键盘给定、数码管(屏幕)显示,并产生对应信号波形(D/A)输出(信号波形包括正弦波、三角波、方波、锯齿波)、输出信号波形幅度、频率可调。(注意:按键数量应尽量少)。(4)实现远程控制 第二章设计思想和实施方案 2.1 功能分析 2.1.1 波形产生 结合微机原理实验中关于波形的显示,在TDPID平台上,因为涉及数字量与模拟量之间的相互转化,所以DAC0832和ADC0809要相互配合使用。在本次课程设计中,由于在PROTEUS中仿真由数字信号转换为模拟信号来产生波形,所以结合一片DAC0832即可实现。通过汇编语言编写各个波形子程序,由于要显示波形,控制每输出一个值,都进行一定时间的延时,然后扫描没有按键按下后再输出下一个值,直到形成一个周期的代码。利用循环,就可产生连续波形代码,再通过8255输出给DAC0832,将数字量转换成模拟量输出,即可得各种波形。

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

中南大学计算机组成原理及汇编实验报告 姓名: 代巍 学号: 0909121615 专业班级:信安1201 指导教师: 盛羽 学院: 信息科学与工程学院

计算机组成原理实验 实验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)。 实验步骤图

中南大学计算机网络实验报告

计算机网络实验报告 学院:信息科学与工程学院 专业班级:信息安全1302班 指导老师: 学号: 姓名:

目录 实验一分槽ALOHA协议仿真实验 (3) 一、实验目的与要求 (3) 二、实验内容与实现原理 (3) 三、编程语言和实验环境 (3) 四、实验具体设计实现及结果 (4) 五、实验总结 (6) 实验二Socket通信实验 (7) 一、实验目的和要求 (7) 二、实验内容与实现原理 (7) 三、编程语言和实验环境 (8) 四、实验具体设计实现及结果 (8) 五、实验总结 (15)

实验一分槽ALOHA协议仿真实验 一、实验目的与要求 1.掌握VB、VC++、VS或JAVA等集成开发环境编写仿真程序的方法; 2.理解并掌握分槽ALOHA协议原理。 二、实验内容与实现原理 1.实验内容: 编写仿真程序,对一定网络环境下MAC层的多路访问协议的分槽ALOHA协议进行实现。通过仿真,学习协议采取的介质访问管理,包括介质分配和冲突解决机制,并对协议的性能与理论结果进行比较分析。 2.实现原理 设置各站点初始产生包的时间点及产生包的时间间隔(均为随机值),得到所有站点成功发送1000个数据包的总时间以及这段时间内所有数据包的个数(包括各站点每次新产生的包以及由于冲突而重发的包),从而计算出每包时内尝试次数及其对应的吞吐量。针对不同的包产生间隔,得到不同的每包时内尝试次数及其对应的吞吐量,将其画成一条曲线。 三、编程语言和实验环境

1.编程语言Matlab 2.编程环境Windows(MS Visual系列,VC/VB/https://www.wendangku.net/doc/1b19285404.html,;) 四、实验具体设计实现及结果(含流程图及关键代码说明) 1.实验代码 for m=2:1:500 %m表示标签数,m=2,3 (500) n=1000; %aloha算法,m表示m个标签,n表示重发次数 A=rand(m,n); %生成一个0-1分布的矩阵,A表示m行n列的矩阵,元素为0-1之间的随机数 A1=0.5*A; %生成一个0-0.5分布的矩阵,假设随机退避时间服从0-0.5分布 B=cumsum(A1,2); %矩阵B是对A1每列相加得到的,每列的累加和,表示随机发送的时间 T=B(1,n); %T为标签均发送时间,即为观察时间,把矩阵B的第一行的最后一个元素赋给T C=1:1:(m*n); %生成一个向量 for i=1:m %将矩阵B转化为向量,赋值到向量C for j=1:n C(1,(i-1)*n+j)=B(i,j); end end D=sort(C); %将向量按从小到大的顺序排序,用于计算两数据包之间的时间差 E=diff(D); %向量的微分,求两数据包之间的时间差,用于判断是否产生碰撞 T0=0.001; %每个数据包的宽度 N=0; %初始化N(发送成功的数据包) M=0; %初始化M,总共的数据包 for i=1:(m*n-1) %此循环用于计算M与N if D(1,i)<=T %只要小于观察时间T就加1 M=M+1; if i==1&E(1,1)>=T0 %对于时间轴上的第1个和第m*n个数据包只需判断一个时间差,其他需要判断两个 N=N+1; elseif i==(m*n-1)&E(1,(m*n-1))>=T0 N=N+1; elseif i~=1&i~=(m*n-1)&E(1,i)>=T0&E(1,i-1)>=T0 N=N+1; end

2021年微机原理及应用实验报告中南大学

微机原理及应用试验汇报 班级: 姓名: 学号: 中南大学 机电工程学院精密测控试验室

试验二软件程序设计 1.试验目: 1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序方法。 2.试验内容: 1、编写排序程序并上机调试经过。 已知8031内部RAM60H~69H单元中, 依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数, 编程将它们按 递减次序排序, 即最大数放在60H中, 最小数放在69H中。 2.、编写多字节加法程序并上机调试经过。 8031内部RAM20H~22H单元中, 存放了3字节被加数(低字节在前), 在2AH~2CH 单元中存放3字节加数(低字节在前), 求两数之和, 并将结果存入以20H为起始地址区域中(低字节在前)。 3.试验设备名称、型号: 4.画出软件程序步骤图, 写出上机调试经过汇编语言程序清单: 程序1、编写排序程序并上机调试经过。 已知8031内部RAM60H~69H单元中, 依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数, 编程将它们按 递减次序排序, 即最大数放在60H中, 最小数放在69H中。 解: 本设计采取冒泡排序法, 使用双重循环, 并在内循环中进行比较假如合乎从大到小

次序则不动, 不然两两交换, 这么比较下去, 比较9次后, 最小那个数就会沉底, 在下一次比较时将降低一次比较次数。假如一次比较完成, 没有发生交换, 说明已 经根据从大到小次序排列了。则能够退出循环, 结束程序。 程序结构框图和程序代码以下:

计算机组成原理课程设计实验报告

计算机组成原理实验报告 学院: 专业: 班级: 学号: 姓名: 评分: 2013年**月**日

实验一 1.实验名称:验证74LS181运算和逻辑功能 2.实验目的: (1) 掌握算术逻辑单元(ALU)的工作原理; (2) 熟悉简单运算的数据传送通路; (3) 画出逻辑电路图及布出美观整齐的接线图; (4) 验证4位运算功能发生器(74LS181)组合功能。 3.实验原理: ALU能进行多种算术运算和逻辑运算。4位ALU-74LS181能进行16种算术运算和

4.实验内容: 电路图如下(放大可查看详细结构): DCD_HEX 验证74LS181型4位ALU的逻辑算术功能,填写下表:

5.总结及心得体会: 在该实验中,首先入手熟悉Multisim的常用操作。比如,怎么添加元件,连线等,总的来说,操作起来还是比较简单的。 然后开始试着绘制实验一的电路图,一个简单的图,花费了很长时间,才搞清楚原理。找元件,连线,都很费劲,尤其是找元件,有些元件有很多相似的元件,但功能不一样,一时疏忽,弄错了,直接导致连接后无法使用。 在试验中,常常遇到的问题就是明明导线已经连接好了,但是电路就是无法导通,后来把图放大后仔细检查时,发现原来是在连接导线时有些地方的导线和其他的导线交叉了,这样的对于新手来说很常见,而且一般很难发现。 通过实验,基本了解了ALU的工作原理,算术逻辑运算器单元ALU(74LS181)能跟据S3 S2 S1 S 0 M端口控制来对输入的数据完成各种不同的运算。外接存储器实现了数据的缓冲与存储的功能。 所以,经过几天的实践,收获挺大的,熟悉了简单运算器的数据传送通路,掌握了算术逻辑单元的工作原理。使我对知识有了更深的了解,积累了实践操作的宝贵经验。同时,了解到,计算机硬件方面也很有趣,因此硬件知识也很重要,以后慢慢学习提高。

微机原理与汇编语言程序设计汇编实验报告

(此文档为word格式,下载后您可任意编辑修改!) 昆明学院课程设计(大作业)

目录 1题目分析 (5) 2基本理论 (5) 3 总体设计 (6) 3.1 本程序的功能结构图 (6) 3.2字符输入及存储设计 (8) 3.3加、减、乘、除法运算的判断设计 (8) 3.4加、减、乘、除法运算的设计 (9) 4实验器材 (10) 5方法步骤 (11) 6成效分析 (11) 6.1运行界面分析 (11) 6.2调试过程及分析 (13) 7心得体会 (14) 8参考文献 (14) 9附录 (14) 课程设计(大作业)报告 一、题目分析 本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算 的问题。重点和难点主要包括以下几个方面: (1)利用BIOS调用中INT 16H调用中的子程序完成清屏、设置显示方式、设置窗口等操作。

(2)利用INT 21H DOS系统功能调用中的键盘输入接收十进制操作数和运算符由程序完成字符转换为二进制数,并存储起来。 (3)根据运算符完成运算,由程序在屏幕上显示运算结果。 1、十进制数转换为二进制数过程如下: (1)将BX清0. (2)从键盘接收一个按键的ASCII送AL中,并判断是否为0到9之间的字符,若不是转退出;否则将AL中内容减30H,转换为相应数字的二 进制数,并扩展到AX中,然后将BX中内容乘以10后,再加上AX中 的内容。 (3)转(2)继续执行 因此程序退出后,BX中的内容即为所输入十进制数的二进制值。 例如:首先将BX清0后,先输入数字“5”,则(AL)=35H,属于0 到9之间的数字,减30H后,(AL)=05H,扩展后,(AX)=0005H,BX 乘以10后,加上AX中的内容,(BX)=0005H。 然后输入数字“8”,则(AL)=38H,属于0到9 之间的数字,减30H 后,(AL)=38H,扩展后,(AX)=0008H,(BX)乘以10后,加上AX 中的内容,(BX)=0037H,为十进制数“58”的二进制值。 十进制数显示过程如下(被显示的数据<9999): (1)将被显示的内容送入BX中; (2)BX除以1000,余数送BX,商在AL中,范围为0~9; (3)显示AL中的内容; (4)(BX)除以100,余数送BX,商在AL中,范围为0~9; (5)显示AL中的内容。以此类推,直到分离出个位数字为止。 在这里有一个特殊问题需要讨论:例如“53”这个十进制数,除以1000除以100的商都为0,不应显示。为了能够实现高位的“0”不显示,程序中设置一个标志M,初始值都设置为1。若M=1且商为0,则这个0不现实;若M=1且商不为0,则说明这是第一个非0数字,开始显示,并将M设置为0;若M=0,则商值都显示。如果结果本身就是0,则个位的0显示。 二、基本理论 本次汇编语言课程设计的最终目的是要实现一个简单计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运

计算机组成原理与汇编实验报告.

计算机组成原理与汇编课程设计 实验报告

目录 一、课程设计目标 (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)输入机器指令:选择菜单中的“工具”,再选择“模型机调试”,在指令 输入窗口中输入如下指令: 00000000 00010000 00001001 00100000 00001011 00110000

计算机组成原理与汇编实验报告

计算机组成原理与汇编实 验报告 姓名: 学号: 学院:信息科学与工程学院

班级: 实验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 为高电平有效。 实验步骤

相关文档
相关文档 最新文档