搜档网
当前位置:搜档网 › 微程序控制器设计与调试实验报告

微程序控制器设计与调试实验报告

微程序控制器设计与调试实验报告
微程序控制器设计与调试实验报告

济宁医学院信息工程学院

微程序控制器模型计算机的设计与调试

09级计本2班

200907010211

李秋生

一台模型计算机的设计

一、教学目的、任务与实验设备

1.教学目的

(1)融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间—空间”概念的理解,从而清晰地建立计算机的整机概念。

(2)学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。

(3)培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。

2.设计与调试任务

(1)按给定的数据格式和指令系统,在所提供的器件范围内,设计一台微程序控制的模型计算机。

(2)根据设计图纸,在MAX+PLUS 平台上进行仿真,并下载到EL教学实验箱上进行调试成功。

(3)在调试成功的基础上,整理出设计图纸和其他文件。包括:①总框图(数据通路图);②微程序控制器逻辑图;②微程序流程图;④微程序代码表;⑤元件排列图(或VHD程序清单);⑥设计说明书;⑦调试小结。

2.实验设备

(1) PC机一台

(2) EL教学实验箱

(3) MAX+PLUS Ⅱ配套软件

二、数据格式和指令系统

本模型机是一个8位定点二进制计算机,具有四个通用寄存器:R

0~R

3

,能

执行11条指令,主存容量为256KB。

1.数据格式

数据按规定采用定点补码表示法,字长为8位,其中最高位(第7位)为符

数值相对于十进制数的表示范围为:

-1≤X≤1―2―7

三、总体设计

总体设计的主要任务是

(1) 选定CPU中所使用的产要器件;

(2) 根据指令系统、选用的器件和设计指标,设计指令流的数据通路;

(3) 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。

计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也

就不—样,因此数据通路的设计是至关重要的。所谓数据通路的设计,也就是确定机器各逻辑部件相对位置的总框图。

数据远路的设计,目前还没有非常标准的方法。主要是依据设计者的经验,并参考现有机器的三种典型形式(单总线、双总线或三总线结构),根据指令系统的要求,可采用试探方法来完成。其主要步骤如下:

(1) 对指令系统中的各条指令进行分析,得出所需要的指令周期与操作序列,以便决定各器件的类型和数量。

(2) 构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所包涵的数据通路都能实现,并满足技术指标的要求。

(3) 检验全部指令周期的操作序列,确定所需要的控制点和控制信号。

(4) 检查所设计的数据通路,尽可能降低成本,简化线路。

以上过程可以反复进行,以便得到一个较好的方案。

图1给出了一个没有考虑乘法除法指令操作的总框图参考方案,注意,在此方案确定之后,应该检查所选用的各个器件是否满足数据通路的要求。实际上,数据通路的设计与器件的选择应同时进行而不能分离地工作。其次,接入总线的器件都要有三态输出,以便与总线连接。另外,在信息传送过程中应当注意器件原码和反码输出的配合关系。

图1所示的方案采用单总线结构,使用的许多器件都是三态输出,这种方案便于总线的连接和扩展,但缺点是指令和数据的传送都要经过总线,因此对总线的使用权就要分配得当。另外,执行算术逻辑指令时,先将第一个操作数由通用

寄存器R

i 送至缓冲寄存器DR

1

,然后再由通用寄存器R

j

取第二个操作数送至缓冲

寄存器DR

2

,之后送往ALU进行运算。显然,执行—条算术逻辑指令的时间相应要长一些。

图1 模型机数据通路框图

四、微程序控制器

数据通路框图—旦确定,指令流与数据流的通路也就随之最后确定,因而运算器和控制器的大部分结构也就确定下来了。

图1中各功能器件上还标注了控制点及其控制信号.这些控制信号就是微程序控制器进行设计的依据。

1.微指令格式

微指令格式建议采用水平型微指令,微命令编码采用直接表示法和分段直接译码法相结合的混合表示法,以缩短微指令长度。后继地址采用断定方式。微指令格式如下:

同学们应根据本模型的具体情况来确定各字段的长度。

2.微程序控制器

根据微指令和微程序的长度,确定控制存储器需选用几片EPROM(2716)用位扩展方式组成。

3.微程序设计

将机器的全部指令系统采用微指令序列实现的过程,叫做微程序设计。一条机器指令对应一个微程序,11条机器指令应当对应11个微程序。

微指令格式确定后,微程序的横向设计在于正确地选择数据通路,纵向设计在于确定后继微指令地址.事实上,微程序设计的关键在于纵向设计,即如何确定下一条微指令的地址。通常的做法是先确定微程序分支处的微地址,因为微程序分支处需要进行判别测试。这些微地址确定以后,就可以在一个“微地址表”中把相应的微地址单元填进去,以免后面的设计中重复使用而未发现,以致造成设计错误。

五、输入输出

输入输出是人机联系的重要手段,输入可采用开关、键盘等方式,输出可采用字符显示或打印输出等方式。考虑到成本与设备因素,本模型机采用最简单的二进制开关输入和发光二极管显示的方法,换句话说,本模型机中只使用两种“外部设备”:一种是二进制代码开关,它作为输入设备;另一种是发光二极管,它作为输出设备。

本设计为了节省器件,输入输出时可以不设置专门的数据缓冲寄存器。例如输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也就不变。输出时,将输出数据送到数据总线BUS上,驱动发光二极管进行显示。

如果采用正规的输入输出方法,可采用相应的器件构成接口电路。

六、组装与调试

1.元器件的布局与连接

由图1看出,数据通路一旦确定之后,在调试过程中将会很少有变化。因此从组装和调试的角度来看,模型机总框图可划分为如下三个相对独立的功能模块:

(1)运算器、存储器和系统总线

(2)时序产生器

(3)微程序控制器

本模型机所使用的器件较多,布线的工作量相当大,希望同学们认真、细致地工作。

元器件布局的一般原则是尽心能地按功能电路相对集中,这样做的好处是各器件之间的连线较短,同时也便于组装和调试.

为了安装和调试检查方便,集成电路应当以相同方向排列。通常总是把集成电路片的定位缺口向左,此时它的电源脚在左上角,接地脚在右下角。这种排列有利于设置电源线与地线。规整的布线不仅对调试维修带来方便,也可以保证线路可靠地工作,任何马马虎虎的接线将会给调试带来难以想象的后果,因此在布线前必须对布线质量给予高度重视。

2.分调试

按功能模块进行分调是实现总调的前提和基础,因为只有各功能模块工作正常后,才能保证全机的正确运行。为此必须—步一个脚印、精心做好分调试,切不可赶急图快,以免在未做好分调的情况下进入总调,而最后又不得不返回头来重新分调。分调的重点放在时序产生器和微程序控制器上。

3.总调

当各模块分调正常后,可将控制器发出的控制信号线接到相应的功能部件中去,转入全机总调试。

总调的第一步,事实上是检查全部微程序流程图。方法是用单步方式读出并执行微指令。进行的顺序是:先执行控制台指令的微程序流程图,然后执行机器指令的微程序流程图。当全部微程序流程图检查完毕后,如果存储器和运算器功能执行正确,就算总调第一步完成。

第二步是在内存中装入包括有全部指令系统的一段程序和有关数据,进一步可采用单指令方式或连续方式执行,以验证机器执行指令的正确性。

第三步是编写一段表演程序,令机器运行。

实习经验

首先因设计出ALU计算器模块、R4~R0零时寄存器选择模块、数据通路模块、存储器模块、计数器模块,最后在根据之前设计所需的信号与结果设计安排cpu 控制模块,这样的设计思路清晰,省时省力。而我在实验室采取了完全相反的步骤,先设计了cpu控制模块,最后根据控制模块设计其他模块,使得其他模块无法正常匹配cpu模块,不断地修正cpu模块,前后重写代码4次之多严重影响了试验进程。此经验教训应当谨记。

试验步骤:

实验步骤会按照正确的顺序进行,即将cpu控制模块的设计放在最后,先说明其他模块的设计。

ALU计算模块:

设计思想:

数据通路模块:

数据通路模块的作用是控制数据在总线上的传输,包括个寄存器的载入、释放,ALU 运算器操作数输入、结果的输出等部分 R4~R1选择模块:

选择模块的功能在这个实验中很重要,其可以大量减少cpu 控制模块的状态设置,选择器最基础的功能有根据指令的要求确定特定的临时寄存器的释放和载入。同时根据设计的需要,还要有存储备选数据的能力,避免被总线的上的数据影响最终的选择结果。

设计思路:

有四个临时寄存器,可以由两位决定二进制值决定各个寄存起的编号,可由2—4译码器实现此功能。选择器要能起到选择正确顺序是临时寄存器工作的作用,所以要有控制端控制第一顺序操作的临时寄存器和第二时间操作的临时寄存器(该cpu 对寄存器的操作最多只有两个操作步)。最后要决定对所选的临时寄存器是载入还是释放,或者既不载入也不释放。根据这一思路设计的选择模块如下:

载入选择:

释放选择:

波形仿真:

CL 和CB 控制载入/释放次序,0表示第一顺序载入/释放,1表示第二顺序载入/释放。

RL 和RB 控制是否确认载入/释放,根据指令置1打开确认,置0否认。 波形图显示预算结果得08,为正确值。 数据通路模块:

数据通路模块的作用是将数据正确的在各模块之间传输,要避免各种可能的冲突,例如外部数据和R4~R1之间数据的冲突,R4~R1之间的数据冲突,地址数据的和信息数据的冲突等。同时要保证个数据在能够正确地载入和释放,要求在争取的时间,正确的顺序载入争取的数据寄存器或临时寄存器。这点要求和时序电路的真确配合,还有寄存器选择电路的配合。 设计思路:

根据试验的要求,数据通路需要一个ALU 运算模块,两个数据寄存器,其功能是保存操作数并将得到的操作数直接送入ALU 预算模块进行预算。4个零时寄存器R4~R1,一个数据选择模块,控制外部数据输入的计数器。 设计图下:

数据传输模块仿真的程序为分别载入数据03和05进行加法运算并显示结果。首先外部数据输入SW_BUS ,CL 根据IR3..0的指令选择相应临时寄存器,由RL 确认载入后,数据由SW_BUS 依次先后载入R3、R2

关闭SW_BUS ,CB 根据IR3..0的指令选择相应临时寄存器,由RB 确认释放后,数据由R3、R2依次先后释放,由DR1、DR2先后载入

DR1、DR2载入数据后数据直接送入ALU 预算模块中进行预算,之后打开ALU_BUS ,在总线上显示运算结果,可以看到运算结果正确,说明之前的操作过程并没有出现任何错误。

存储器模块:

存储器模块的作用即存储程序指令和程序需要的各项数据,以及在恰当的时机读出个指令和数据。包括一个PC 计数器(program counter )一个AR 寄存器(adress register ),一个内存芯片(LPM_RAM_IO )。

设计思路:

CPU 要依照指令顺序执行相应程序,在内存中,指令按照顺序配列存储在相应内存单元中,每执行完一条指令,PC 自动加一,将地址数据送给AR ,RAM 取得AR 中的地址数据,放出相应地址的指令或操作数。读取指令按此步骤循环。

PC 可以用74161计数器完成其功用,由74244控制器数据在争取的时间传给AR ,AR 可用74273制作,只用于存储RAM 中的下一指令或操作数的内存地址。内存由LPM_RAM_IO 设置初值后制作完成。

LPM_RAM_IO 设置:

LPM_FILE=””

内存数据,可以将程序写进.mif 文件,然后在此设置相应

.mif 文件的地址则可以在内存中读取该文件 LP,M_NUMWORDS=256

内存容量大小,实验要求256K LPM_WIDTH=8 数据显示位宽 LPM_WIDTHAD=8

地址显示位宽 电路设计图:

RAM

AR

PCLD和PCINC同时置1时PC自行加1,此时打开PC_BUS将PC中的数据传入总线,打开LDAR,将数据载入AR地址寄存器,总线和地址显示数据正确,证明存储器模块设计无误。

控制器模块

控制器模块是CPU设计的精髓所在,其功用是控制所有模块能够正确的执行内存中的程序代码。控制器模块要求能够翻译指令码为与之相应的机器码语言。能够在正确的时间放出有效信号,关闭无效信号,协调各模块之间按的工作配合。设计思路:

ROM模块:

首先根据实验要求,与之前设计的各模块对信号控制的要求,画出CPU状态

简化后的设计图共有25个状态,大大缩减了原有的CPU状态,为以后的编码带来很大的方便。需要说明的是由于零食寄存器的特殊设计,需要在每个用到临时寄存器的指令里加入对临时寄存器选择的值,避免错误的出现。

由此状态图得出的指令码不论是水平编码还是垂直编码都需要至少5位代码,因此采用水平编码省去垂直编码所需的译码器的设计。

代码设计:

第一次代码初写:

利用windows的excel软件表明有效信号,有效操作

这是初步的翻译,并没有安排下址,各运算指令没有被化简,只是表明个状态下的有效操作。

跳转条件电路:

跳转条件电路要求在符合跳转条件时,更改下址,改变为操作,完成跳转。

设计思路:

跳转与不调转的下址只有一位不同,只要条件满足,只需更改那一位下址代码即可。首先跳转条件有四种,跟据条件转为信号可以用2—4译码器实现。然

后通过逻辑电路实现选择确定跳转。

设计电路:

控制模块总图:

最终cpu总图:

控制器模

实验总结

这次CPU设计实验是一台模型机的设计. 此模型机是个八位定点二进制计算机,具有四个通用寄存器:R0~R3,能执行11条指令,主存容量为256B。数据格式是定点补码表示法,字长为八位,其中最高位为符号位,小数点位置定在符号位后面。

目的是综合运用前面所学内容,加深对计算机系统各模块的工作

原理及相互联系的认识,取得工和设计与组装调试的实践和经验.

模型机可划分为如下四个相对独立的功能模块:运算器、存储器和系统总线;时序产生器;微程序控制器;显示模块,然后一一设计完成。

这次实验微程序控制部分和数据通路部分有很大改进,设计通路

时要用四个寄存器,微程序模块也做了相应的改变.

指令码用了25位,要实现11条指令.这是比较关键的,也比较复杂,需要耐心细致地写好VHDL语言.调试的过程再慢慢修改出错的地方.

实验最难的部分就是调试了,这也是最麻烦的。所以最好的办法就是每一个模块设计好后都进行验证,保证正确性。但很多时候我以为我那样做是对的,其实却是有逻辑错误的,这个错误还好,只要多和同学讨论,请教老师就比较容易发现。有时候,由于这个实验需要很多器件,然后要联很多线,一不小心就可能出现一点点错误,而恰恰是这个小小的错误足以让我郁闷上半天。所以我一直都很细心很小心的在做着。然后当一个模块做好了,编译成功基本上算不上成功,

只有波形仿真正确了,才是比较的成功。但是那只是整体的一个部分,所以也许作为单独是对的,但一综合起来,放到一个整体里面就出现问题了。只有当整体运行正确时,那才叫成功。

然后找错误的最好办法就是波形仿真后,一个一个对照,或者说换一个角度去思考。比如我开始写控制器中的微指令时,那么多1啊0啊,一看就头大,更别说自己一个一个去检查了,但是一波形仿真后,那里错误了很容易就可以看出来,当然这个容易也是相对而言的。

实习总结:

从本次试验中我明白的不仅仅是专业知识,更深刻的体会到,正确的设计步骤与设计理念对一个设计进程的严重影响。不仅仅在设计上,再很多其他的方面也是如此。任何事情都要有一个争取的规划,争取的方向,不可以走任何的捷径,没有不回跑就会飞的奇迹出现试验已经完成,但在试验中的很多问题仍然不是很清楚。试验中得到很多同学的帮助,大家在一起认真讨论,仔细判断各个信号的作用,分析各个模块的逻辑电路组成。这次对比各自模块的优劣,充分体现了共同学习,共同进步的精神。

从本次实践我还领悟到只有将所学知识真正应用到实际操作中,才能更好地掌握,才能不断发现自已存在的问题,从而不断进步.

《管理信息系统》课程设计实验报告

《管理信息系统》课程设计实验报告 课程名称:管理信息系统 指导老师: ******* 院系:商学院 专业班级: ******** 姓名: ******** 学号: ******** 实验日期: 2011.7.11 实验地点:一机房

《管理信息系统》课程设计任务书 一.课程设计目的及意义: 《管理信息系统》课程设计是在完成《管理信息系统》课程学习之后的一次实践性教 学,是本课程理论知识的一次综合运用。通过本课程设计,能够进一步加深对信息、信息系 统、管理信息系统等基础理论知识的理解,能初步掌握结构化的生命周期法、面向对象法等 系统工程方法,进一步加强熟练应用管理信息系统的操作技能,并能够借助于管理信息系统 解决实际问题。 二.课程设计要求: 1.本课程设计时间为一周。 2.本课程设计以教学班为单位进行上机操作及实验。 3.按照任务要求完成课程设计内容。 三.课程设计任务要求: 1.任务内容:进入山东轻工业学院主页,在“网络资源”区域进入“网络教学平台”,输入各自的用户名和密码(学生学号及密码),进入本网络教学平台系统,在充分熟悉本系统 的前提下,完成下列任务要求。 2.任务要求: ①按照课程讲解的系统分析步骤和理论对本系统进行系统分析。 ②绘制不少于 3 个的主要业务流程图。 ③描述上述主要业务流程图的逻辑处理功能。 ④分析本系统的优缺点,提出改进意见,并描述改进的逻辑处理功能,绘制业务流 程图。 四.课程设计评分标准: 按照《管理信息系统课程设计大纲》的要求,本课程 1 学分,采用百分制计分,其中 任务要求②占30 分,任务要求③占30 分,任务要求④占30 分,考勤及实践表现占10 分。五.本课程设计自2011 年 6 月 27 日至 2011 年 7 月 1 日。

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

微程序控制器设计与调试实验报告

济宁医学院信息工程学院 微程序控制器模型计算机的设计与调试 09级计本2班 200907010211 李秋生

一台模型计算机的设计 一、教学目的、任务与实验设备 1.教学目的 (1)融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间—空间”概念的理解,从而清晰地建立计算机的整机概念。 (2)学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。 (3)培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。 2.设计与调试任务 (1)按给定的数据格式和指令系统,在所提供的器件范围内,设计一台微程序控制的模型计算机。 (2)根据设计图纸,在MAX+PLUS 平台上进行仿真,并下载到EL教学实验箱上进行调试成功。 (3)在调试成功的基础上,整理出设计图纸和其他文件。包括:①总框图(数据通路图);②微程序控制器逻辑图;②微程序流程图;④微程序代码表;⑤元件排列图(或VHD程序清单);⑥设计说明书;⑦调试小结。 2.实验设备 (1) PC机一台 (2) EL教学实验箱 (3) MAX+PLUS Ⅱ配套软件 二、数据格式和指令系统 本模型机是一个8位定点二进制计算机,具有四个通用寄存器:R 0~R 3 ,能 执行11条指令,主存容量为256KB。 1.数据格式 数据按规定采用定点补码表示法,字长为8位,其中最高位(第7位)为符 数值相对于十进制数的表示范围为: -1≤X≤1―2―7 三、总体设计 总体设计的主要任务是 (1) 选定CPU中所使用的产要器件; (2) 根据指令系统、选用的器件和设计指标,设计指令流的数据通路; (3) 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。 计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也

系统设计实验报告

系统设计实验报告——远程在线考试系统

目录软件需求说明书························1 引言··························· 1.1编写目的······················· 1.2背景························· 1.3定义························· 1.4参考资料······················· 2 程序系统的结构························ 3 程序设计说明·························

1引言 1.1编写目的 本文档的编写目的是为远程在线考试系统项目的设计提供: a.系统的结构、设计说明; b.程序设计说明; c. 程序(标识符)设计说明 1.2背景 随着网络技术的飞速发展,现在很多的大学及社会上其它的培训部门都已经开设了远程教育,并通过计算机网络实现异地教育。但是,远程教育软件的开发,就目前来说,还是处于起步的阶段。因此,构建一个远程在线考试系统,还是有很大的实际意义的。 根据用户提出的需求,本项目组承接该系统的开发工作 a.开发软件系统的名称:远程在线考试系统 b.本项目的任务提出者:福州大学软件学院 c.用户:各类大专院校学校、中小学校。 1.3定义 远程在线考试系统 远程在线考试系统是基于用Browser/Web模式下的,可以实现考试题库管理、多用户在线考试、自动阅卷功能的系统。

1.4参考资料 ?GB 8566 计算机软件开发规范 ?GB 8567 计算机软件产品开发文件编制指南?软件设计标准 ?《ASP与SQL-Server2000》清华大学出版社?《可行性研究报告》 ?《项目计划文档》 ? 2程序系统的结构 3程序1(标识符)设计说明

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

计算机组成原理微程序控制单元实验报告

姓名 学号 班级 ******************年级 指导教师 《计算机组成原理》实验报告 实验名称微程序控制单元实验、指令部件模块实验、时序与启停实验 实验室实验日期 实验七微程序控制单元实验 一、实验目的 ⒈ 掌握时序产生器的组成方式。 ⒉ 熟悉微程序控制器的原理。 ⒊ 掌握微程序编制及微指令格式。 二、实验原理 图 7- 7- 1

图 7-7-4 微地址控制原理图 微程序控制单元实验原理就是人为的给出一条微指令的地址,人为的去打开测试开关,观察机器怎么运行,打个比方就是我要你执行我下的某条命令,我先告诉你命令写在哪页纸上, 你找到纸后,分析命令是什么之后再去执行。 观察机器微程序控制器的组成见图7-1-1 ,微地址的打入操作就是由操作者给出一条微指令 的地址(同上面的例子就是仅仅告诉你我让你跑的这条命令写在哪页纸上,而没有告诉你 命令的具体内容),不需要做测试去判断这是什么指令,所以由图7-7-1 ,其中微命令寄存器 32 位,用三片 8D 触发器 (273) 和一片 4D(175) 触发器组成。它们的清零端由CLR来控制微控制器的清零。它们的触发端CK接 T2,不做测试时 T2 发出时钟信号,将微程序的内容 打入微控制寄存器(含下一条微指令地址)。打入了微指令的地址(即告诉你命令在哪页纸上,此时你需要先找到这页纸并判断命令是叫你做什么,然后执行),进行测试,T4 发出时钟信号,转移逻辑满足条件后输出的负脉冲通过置位端将某一触发器输出端置为“1”状态,按图 7-7-4 所示,微地址锁存器的置位端R 受 SE5~SE0控制,当测试信号 SE5~SE0输出负脉冲时,通过锁存器置位端R将某一锁存器的输出端强行置“1”,实现微地址的修改与转移,此时的地址指的是指令的操作码的地址(即你已经知道命令是跑,此时做的是跑的行为)。再由数据开关置入微地址的值,再做测试,再跳到指令的操作码的地址准备开始执行 指令,这就是微程序控制单元实验的原理。

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

微程序控制器实验

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称微程序控制器实验 班级

学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)掌握微程序控制器的组成原理 (2)掌握微程序控制器的编制、写入,观察微程序的运行过程 实验要求 (1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说懂得了些什么重要教学内容; (2)应在实验前掌握所有控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,把自己想不明白的问题通过实验理解清楚; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要交给教师评阅后并给出实验成绩; 二、实验逻辑原理图与分析 画实验逻辑原理图

逻辑原理图分析 微程序控制器的基本任务是完成当前指令的翻译个执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。 它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示成为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器。 三、数据通路图及分析(画出数据通路图并作出分析) (1)连接实验线路,检查无误后接通电源。如果有警报声响起,说明有总线竞争现象,应关闭电源,检查连线,直至错误排除。 (2)对微控制器进行读写操作,分两种情况:手动读写和联机读写。 1、手动读写

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

微程序控制器的设计与实现

微程序控制器的设计与实现 一、设计目的 1、巩固和深刻理解“计算机组成原理”课程所讲解的原理, 加深对计算机各模块协同工作的认识。 2、掌握微程序设计的思想和具体流程、操作方法。 3、培养学生独立工作和创新思维的能力,取得设计与调试的 实践经验。 4、尝试利用编程实现微程序指令的识别和解释的工作流程。 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、 据掌握的理论写出要设计的指令系统的微程序流程。指令系统至少要包括六条指令,具有上述功能和寻址方式。 2、根据微操作流程及给定的微指令格式写出相应的微程序 3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思 路和具体程序段 4、撰写课程设计报告。

四、设计环境 1、伟福COP2000型组成原理实验仪,COP2000虚拟软件。 2、VC开发环境或者Java开发环境。 五、设计方案 (1)设计思想 编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。首先利用MOV传送指令来给寄存器和累加器传送立即数,实现立即数寻址;利用寄存器寻址方式,用ADDC指令对两者进行相加运算;利用寄存器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP 指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全部实现了。 (2)微指令格式 采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下: 按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。 (3)24个微指令的意义 COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

微程序控制器实验报告记录

微程序控制器实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成与结构 项目名称微程序控制器实验 班级 学号 姓名 同组人员无 实验日期 2015-11-11

一、实验目的 1.掌握微程序控制器的组成原理; 2.掌握微程序的编制、写入、观察微程序的运行情况。 二、实验逻辑原理图与分析 2.1 实验逻辑原理图及分析 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器,如图所示: 微程序控制器组成原理框图 控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理。本实验所用的时序单元来提供,分为四拍TS1、TS2、TS3、TS4。 在微程序控制器的组成中,控制器采用3片2816的E^2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。为地址寄存器6位,用三篇正沿触发的双D触发器(74)组成,他们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为吓一条微指令地址。当T4时刻惊醒测试判别式,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。

计算机组成原理课程设计(微程序)报告

微程序控制器的设计与实现第 1 页共22 页

目录 5 调试过程 (11) 6 心得体会 (12) 第 2 页共22 页

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程 所讲解的原理,加深对计算机各模块协同工 作的认识 2)掌握微程序设计的思想和具体流程、操 作方法。 3)培养学生独立工作和创新思维的能力, 取得设计与调试的实践经验。 4)尝试利用编程实现微程序指令的识别 和解释的工作流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存 储器直接寻址、立即数寻址等五种寻址方式。 第 3 页共22 页

三、设计要求 1)仔细复习所学过的理论知识,掌握微程 序设计的思想,并根据掌握的理论写出要设 计的指令系统的微程序流程。指令系统至少 要包括六条指令,具有上述功能和寻址方式。 2)根据微操作流程及给定的微指令格式 写出相应的微程序 3)将所设计的微程序在虚拟环境中运行 调试程序,并给出测试思路和具体程序段 4)尝试用C或者Java语言实现所设计的 指令系统的加载、识别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加 器寻址、寄存器寻址、寄存器间接寻址、存储器直接第 4 页共22 页

寻址、立即数寻址等五种寻址方式。从而可以想到如 下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外 设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD 决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请 求标志,便于下次中断。 第 5 页共22 页

软件设计与体系结构实验报告

福建农林大学计算机与信息学院 实验报告 课程名称:软件设计与体系结构 姓名:陈宇翔 系:软件工程系 专业:软件工程 年级:2007 学号:070481024 指导教师:王李进 职称:讲师 2009年12月16日

实验项目列表

福建农林大学计算机与信息学院实验报告 学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔 学号:070481024 课程名称:软件设计与体系结构实验时间:2009-10-28 实验室田实验室312、313计算机号024 指导教师签字:成绩: 实验1:ACME软件体系结构描述语言应用 一、实验目的 1)掌握软件体系结构描述的概念 2)掌握应用ACMESTUDIO工具描述软件体系结构的基本操作 二、实验学时 2学时。 三、实验方法 由老师提供软件体系结构图形样板供学生参考,学生在样板的指导下修改图形,在老师的指导下进行软件体系结构描述。 四、实验环境 计算机及ACMESTUDIO。 五、实验内容 利用ACME语言定义软件体系结构风格,修改ACME代码,并进行风格测试。 六、实验操作步骤 一、导入Zip文档 建立的一个Acme Project,并且命名为AcmeLab2。如下图:

接着导入ZIP文档,导入完ZIP文档后显示的如下图: 二、修改风格 在AcmeLab2项目中,打开families下的TieredFam.acme.如下图: 修改组件外观 1. 在组件类型中,双击DataNodeT; 在其右边的编辑器中,将产生预览;选择Modify 按钮,将打开外观编辑器对话框。 2. 首先改变图形:找到Basic shape section,在Stock image dropdown menu中选 择Repository类型. 3. 在Color/Line Properties section修改填充颜色为深蓝色。 4. 在颜色对话框中选择深蓝色,并单击 [OK]. 5. 修改图形的边框颜色为绿色 7. 单击Label tab,在Font Settings section, 设置字体颜色为白色,单击[OK] 产生的图形如下图:

C#程序设计实验报告

学生实验报告 (理工类) 课程名称: C#程序设计专业班级:M11计算机科学与技术(专转本)学生学号: XXXXXXXX 学生姓名: XXX 所属院部:信息技术学院指导教师: XXX 2012 — 2013学年第 1 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:C#基础编程实验学时: 6 同组学生姓名:实验地点: A205 实验日期: 9月17日-9月24日实验成绩: 批改教师:批改时间:

实验1 C#基础编程 一、实验目的 1、熟悉Visual Studio .NET开发环境; 2、掌握C#应用程序的基本操作过程; 3、掌握C#的数据类型,运算符以及表达式的使用; 4、掌握分支和循环语句的使用方法; 5、掌握一维数组,二维数组及数组型数组的使用。 二、实验要求 (1)编写程序要规范、正确,上机调试过程和结果要有记录; (2)做完实验后给出本实验的实验报告。 三、实验设备、环境 安装有Visual Studio .NET软件。 四、实验步骤 1、分析题意; 2、根据题目要求,新建项目; 3、编写并输入相关的程序代码; 5、运行与调试项目; 6、保存项目。 五、实验内容 1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名)。using System; using System.Collections.Generic; using System.Text; namespace Test1_1 { class Program { static void Main(string[] args) { Console.WriteLine("1121412016 张明星!"); Console.ReadLine(); } } } 2、编写一个简单的Windows应用程序,在标签中显示你的姓名。 Form窗体的代码: using System; using System.Collections.Generic;

微程序控制器实验报告 (2)

组成原理No、4实验--- 微程序控制器实验 组员: 组号:21号 时间:周二5、6节?

【实验目的】 (1)掌握时序发生器的组成原理。 (2)掌握微程序控制器的组成原理。 (3)掌握微程序的编制、写入、观察微程序的运行情况 【实验设备】 TDN-CM++, 【实验原理】 微程序控制器的基本任务就是完成当前指令的翻译与执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输与各种处理操作。它的执行方法就就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器。 实验所用的时序控制电路框图如图1 所示, 可产生四个等间隔的时序信号TS1~TS4。在 图1中,为时钟信号,由实验台左上方的 方波信号源提供,可产生频率及脉宽可调额 方波信号;STEP就是来自实验板上方中部的 一个二进制开关STEP的模拟信号;START 键就是来自实验板上方左部的一个微动开关 START的按键信号。当STEP开关为EXEC(0)时,一旦按下START启动键,时序信号TS1~TS4将周而复始地发送出去。当STEP为STEP(1)时,按下START启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机了。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,如果STEP开关置“STEP”,会使机器停机,CLR开关执行1→0→1操作可以使时序清零。时序状态图如下图所示。 ?由于时序电路的内部线路已经连好,因此只需将时序电路与方波信号源连接,即将时序电路的时钟脉冲输入端接至方波信号发生器输入端H23上,按动启动 键START后,就可产生时序信号TS1~TS4、时序电路的CLR已接至CLR 模拟开关上。 ?编程开关具有三种状态:PROM(编程)、READ(校验)与RUN(运行)。 微指令格式如 下: 【实验步骤】

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

操作系统课程设计实验报告proj2

操作系统课程设计报告 班级: 团队成员:

目录 ................................................................................................................ 错误!未定义书签。 一、实验要求:建立线程系统................................................................... 错误!未定义书签。 1.1Task 2.1实现文件系统调用 (3) 1.1.1题目要求 (3) 1.1.2题目分析与实现方案 (3) 1.1.3关键点与难点 (4) 1.1.4实现代码 (4) 1.2 Task 2.2 完成对多道程序的支持 (5) 1.2.1题目要求 (5) 1.2.2题目分析与实现方案 (5) 1.2.3关键点与难点 (6) 1.2.4实现代码 (7) 1.3 Task 2.3 实现系统调用 (7) 1.3.1题目要求 (7) 1.3.2题目分析与实现方案 (8) 1.3.3关键点与难点 (9) 1.3.4实现代码 (9) 1.4 Task 2.4 实现彩票调度 (10) 1.4.1题目要求 (10) 1.4.2题目分析与实现方案 (10) 1.4.3关键点与难点 (11) 1.4.4实现代码 (11) 二、测试结果............................................................................................ 2错误!未定义书签。

相关主题