广工计算机组成原理实验报告

广工计算机组成原理实验报告
广工计算机组成原理实验报告

计算机组成原理实验报告

课程名称计算机组成原理实验

学院

专业班级

学号

学生姓名

指导教师

2014年 7 月 3 日

目录

实验一:基础汇编语言程序设计实验 (5)

1实验目的 (5)

2实验设备及器材 (5)

3实验说明和原理 (5)

4实验内容 (6)

5实验步骤 (6)

6实验截图及思考题 (7)

7实验思考与心得 (9)

实验二:脱机运算器实验 (10)

1实验目的 (10)

2实验设备与器材 (10)

3实验说明和原理 (10)

4实验内容 (11)

5实验步骤/表格填写 (11)

6实验思考与心得 (12)

实验三:存储器部件教学实验 (13)

1实验目的 (13)

2实验设备与器材 (13)

3实验说明和原理 (13)

4实验内容 (14)

5实验步骤与截图 (14)

6实验思考与心得 (16)

实验四:组合逻辑控制器部件教学实验 (17)

1实验目的 (17)

2实验设备与器材 (17)

3实验说明和原理 (17)

4实验内容 (19)

5实验步骤/填表 (19)

6实验思考与心得 (23)

实验五:微程序控制器部件教学实验 (24)

1实验目的 (24)

2实验设备与器材 (24)

3实验说明和原理 (24)

4实验内容 (25)

5实验步骤与截图 (26)

6实验思考与心得 (29)

实验六:输入/输出接口扩展实验 (31)

1实验目的 (31)

2实验设备与器材 (31)

3实验说明和原理 (31)

4实验内容 (32)

5实验步骤与PC端截图 (32)

6实验思考与心得 (34)

实验七:中断实验 (35)

1实验目的 (35)

2实验设备与器材 (35)

3实验说明和原理 (35)

4实验内容 (36)

5实验步骤与中断程序编写 (36)

6实验思考与心得 (39)

实验九:FPGA芯片实现非流水线的CPU系统(综合实验) (40)

1实验目的 (40)

2实验设备与器材 (40)

3实验说明和原理 (41)

4实验内容 (41)

5实验步骤与烧录过程 (41)

6实验思考与心得 (43)

计算机学院学号:

姓名教师评定

实验题目基础汇编语言程序设计实验

实验一:基础汇编语言程序设计实验

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实验截图及思考题

【例1】设计一个小程序,用次数控制在终端屏幕上输出’0’到’9’十个数字符

代码输入:

A 2020

2020 MVRD R2,000A ;送入输出字符个数

MVRD R0,0030 ;“0”字符的ASCII码送寄存器R0

OUT 80 ;输出保存在R0低位字节的字符

DEC R2 ;输出字符个数减1

JRZ 202E ;判10个字符输出完否,已完,则转到程序结束处

PUSH R0 ;未完,保存肋的值到堆栈中

2028 IN 81 ;查询接口状态,判字符串行输出完成否,

SHR R0

JRNC 2028 ;未完成,则循环等待

POP R0 ;已完成,准备输出下一字符并从堆栈恢复R0的值

INC R0 ;得到下一个要输出的字符

JR 2024 ;转去输出字符

202E RET

该程序的执行码放在2020起始的连续内存区中。若送入源码的过程中有错,系统会进行提示,等待重新打入正确汇编语句。在输入过程中,在应打入语句的位置直接打回车则结束输入过程。

结果显示:

思考题:若把IN 81,SHR R0,JRNC 2028三个语句换成4个MVRR R0,R0语句,该程序执行过程会出现什么现象?试分析并实际执行一次。

答:该程序改变这三条语句后,若用T命令单条执行,会依次显示0~9十个数字。若用G命令运行程序,程序执行速度快,端口输出速度慢,这样就会跳

跃输出。

【例2】从键盘上连续打入多个属于"0"到"9"的数字符并在屏幕上显示,遇到非数字字符结束输入过程.

代码输入:

结果显示:

【例3】计算1到10的累加和。

代码输入:

结果显示:

7实验思考与心得

这是第一次计组的上机实验,初步了解到TEC-XP+教学系统的概况,通过仿真终端软件PCEC以及WINDOWS界面的串口通讯软件,结合对汇编基本指令的学习,让我们熟悉计组的实验工具和流程,为后续的实验打下基础。

对汇编基本指令的学习,让我对汇编语言以及嵌入式系统方向产生了兴趣,并且通过汇编语言的学习,发现在高级语言中简单的加法或变量申请,在底层实现的过程是相当复杂的。使用汇编语言直接控制硬件,让我们亲身感受到一个简单的指令操作硬件时,硬件所发生的变化,貌似回到了70年代的计算机学习一样,而且在实验一的学习过程中,懂得了一些基于实验箱的汇编小程序,与单片机的使用有很多相似之处,十分有趣。

另外,实验一过程中使用绝对地址,直接访问内存的数据,让我们脱离操作系统的封装,更好地体会到直接控制硬件的感觉。然而,对于大程序的编写,基本的汇编语言的编程难度比起高级语言高了不少,但汇编的学习的确促进了我们对计算机的认识。

计算机学院学号:

姓名教师评定

实验题目脱机运算器实验

实验二:脱机运算器实验

1实验目的

●深入了解AM2901运算器的功能与具体用法;

●深化运算器部件的组成、设计、控制与使用等知识。

2实验设备与器材

●TEC-XP+教学实验系统和仿真终端软件PCEC。

3实验说明和原理

本次实验脱离PC端,主要通过实验箱进行。因此这个实验更像数据逻辑的电路实验。脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。

4实验内容

在脱机方式下,对于给定指令分析其执行过程中运算的步骤,通过对AM2901运算器反需控制信号的设置,使之完成运算,并核对运算结果。

5实验步骤/表格填写

在脱机方式下,通过设置SW1、SW2、SW3 各微码字段和数据开关,可实现多种运算,以实现AAAAH->R1为例说明操作过程。

1)按照下表中的微码和数据开关,对运算器进行设置。操作步骤如下:

CACH);先按一下RESTET按键,再按一下START按键,进行初始化。

b)通过16个数据开关设置立即数AAAAH。

c)通过SW1、SW2、SW3设置各微码。

2)按一次START键,立即数XXXX H置入R1,通过显示灯察看按START

键后的输出。若要进行其它操作:

a)重新设置SW1、SW2、SW3、数据开关,通过显示灯观察输出。

b)然后按START键执行操作,通过显示灯观察按下START键后的输出,

检查运算结果是否正确。

3)完成下表的各种运算,记录按START键前和按START键后的ALU输

出及标志位C、Z、V、S的值。

6实验思考与心得

初步了解运算器芯片Am2901的结构,本次实验初步知道它能实现R+S、S-R、R-S三种算术运算功能,和五种逻辑运算功能。选择ALU的八种运算(三种算术运算、五种逻辑运算)功能中的一种。是通过三位功能选择码I5、I4、I3实现。选择送入ALU的两个操作数据R和S的组合关系(数据来源)。是用I2、I1、I0三位操作数选择码控制实现的。选择运算结果或有关数据以什么方式送往何处, 这主要指通用寄存器组和Q寄存器执不执行接收操作或移位操作, 以及向芯片的输出信息Y提供的是什么内容。这是通过I8、I7、I6三位结果选择码控制实现的。因此我们通过了解AM2901运算器的逻辑功能,懂得通过查表用指令微码

来实现一些简单的逻辑功能.

计算机学院学号:

姓名教师评定

实验题目存储器部件教学实验

实验三:存储器部件教学实验

1实验目的

●熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。

学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

●理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。

●了解静态存储器系统使用的各种控制信号之间正常的时序关系。

●了解如何通过读、写存储顺的指令实现对58C65 ROM芯片的读、写操作。

●加深理解存储器部件在计算机整机系统中的作用。

2实验设备与器材

●TEC-XP+教学实验系统和仿真终端软件PCEC。

3实验说明和原理

内存储器原理:内存储器是计算机中存放正在运行中的程序和相关数据的部件。在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存

储器芯片实现内存储器的存储体,包括唯读存储区和随读写存储区两部分,ROM 存储区选用4片长度8位、容易8KB的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:0-1777h用于第一组ROM,固化监控程序,2000-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量的教学实验。

地址总线的低13位送到ROM芯片的地址线引脚,用于选择芯片内的一个存储字。用于实现存储字的高位字节的3个芯片的数据线引脚、实现低位字节的3个芯片的数据线引脚分别连接在一起接到数据总线的高、低位字节,是实现存储器数据读写的信息通路。数据总线要通过一个双向三态门电路与CPU一侧的内部总线IB相连接,已完成存储器、接口电路和CPU之间的数据通讯。

4实验内容

1)要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意

读写和OE等控制信号的正确状态。

2)用监控程序的D、E命令对存储器进行读写操作,比较RAM(3116)、EEPROM

(28系列芯片)、EPROM(27系列芯片)在读写上的异同。

3)用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令

查看结果是否正确。

4)用监控程序的A命令编写一段程序,对扩展存储器EEPRM(28系列芯片)

进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。

5实验步骤与截图

1)检查FPGA下方的标有“/CE”的四组插针均是左边两个短接;

2)检查RAM(6116)上方的标有“/WE”的插针应是左边两个短接;

3)RAM(6116)支持即时读写,可直接用A、E命令向扩展的存储器输入程序

或改变内存单元的值。

4)将扩展的ROM芯片插入标有“EXTROMH”和“EXTROML”的自锁紧插

座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯片插入方向不对,会导致芯片烧毁,然后锁紧插座。

5)将扩展芯片下方的插针按下列方式短接:将标有“/MWR”和“RD”的三个

插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。

6)将扩展芯片上方标有EXTROMH和EXTROML的“/CS”信号用自锁紧线短

接,然后短接到MEMDC 138芯片的上方的标有“4000-5fff”地址单元。注意:标有/CS的圆孔针与标有MEM/CS的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。

7)将标有“DataBus 15-8”和“DataBus 7-0”的数据总线的指示灯下方的插针

短接。

8)将标有“DataBus 15-8”和“AdressBus 7-0”的数据总线的指示灯下方的插

针短接。

9)EPROM 是紫外线可擦除的电可改写的只读存储器芯片。在对EPROM进行

重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。

10)AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,

大约为1毫秒。因此,需要编写一延迟程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。

6实验思考与心得

能用E命令直接写AT28C64B的存储单元,而不用A命令,修改延时子程序,将其延时改短,可将延时子程序中的R3的内容赋成00FF或0FFF等,再看运行结果时,发现因为当写入双字节指令的低位时会出错,这也是不能用A命令而只能用E命令去写存储单元的原因。

计算机学院学号:

姓名教师评定

实验题目组合逻辑控制器部件教学实验

实验四:组合逻辑控制器部件教学实验1实验目的

通过看懂教学计算中已经设计好并正常运行的几条典型指令的功能、格式和执行流程,然后自己设计几条指令的功能、格式、和执行流程,并在教学计算机上实现、调试正确。其最终要达到的目的是:

●深入理解计算机控制器的功能、组成知识。

●深入地学习计算机各类典型指令的执行流程。

●指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念。

●学习组合逻辑控制器的设计过程和相关技术

2实验设备与器材

●TEC-XP+教学实验系统和仿真终端软件PCEC。

3实验说明和原理

控制器设计是学习计算机总体组成和设计的最重要部分。要在TEC-XP16教学计算机完成这项实验,必须清楚地懂得:

1)TEC-XP+教学机的组合逻辑控制器主要由MACH器件组成。

2)TEC-XP+教学机上已实现了29条基本指令。

3)应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令

代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,

只能用G命令执行有扩展指令的程序。

4)要明白TEC-XP+教学机支持的指令格式及指令执行流程分组情况;理解

TEC-XP+教学机中已经设计好并正常运行的各类指令的功能、格式和执

行流程、也包括控制器设计的实现中的具体路线的控制信号的组成。

5)要明确自己要实现的指令功能、格式、执行流程设计中必须遵从的约束

条件。

为了完成自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的内容,具体过程包括:

1)确定指令格式和功能,要受到教学机已有硬件的约束,应尽量与已实现

指令的格式和分类办法保持一致。

2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的值,应参

照已实现指令的处理办法来完成,特别注意的是,读取指令的节拍只能

用原来已实现的,其他节拍的节拍状态也应尽可能地与原用节拍的状态

保持一致和相近。

3)在指令流程表中真写每一个控制信号的状态值,基本上是个查表填数的

过程,应特别仔细,并有意识地体会这些信号的控制作用。

4)在给出来mach的源文件中添加扩展指令的控制信号的逻辑表达式,编

译适配后下载到MACH器件中。

5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确

性,初步判断你的设计是否正确;如果有问题,通过几种办法查出错误

并改正,继续调试,直到完全正确。

4实验内容

1)完成控制器部件的教学实验,主要内容是由学生自己设计几条指令的功能、

格式和执行流程,并在教学机上实现、调试正确。

2)首先是看懂TEC-XP教学机的功能部件组成和线路逻辑关系,然后分析教学

计算机中已经设计好并正常运行的几条典型指令的功能、格式和执行流程。

3)设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。

4)单条运行指令。查看指令的功能、格式和执行流程。

5)用监控程序的A、E命令编写一段小程序,观察运行结果。

5实验步骤/填表

1)接通教学机电源。

2)将教学机左下方的6个拨动开关置为111100.

3)按一下“RESET”按键。

4)通过16位的数据开关SWH、SWL置入16位的指令操作码。

5)在单步方式下,通过指示灯观察各类型基本指令的节拍。

a)选择基本指令的A组指令中的ADD指令,观察其节拍流程:1)、置拨

动开关SW=00000000 00000001;2)、按RESET按键;节拍指示灯T3 ~T0显示1000;3)、按START按键;节拍指示灯T3~T0显示0000;4)、按START按键;节拍指示灯T3~T0显示0010;5)、按START按键;节拍指示灯T3~T0显示0011;

b)选择基本指令的B指令中的PUSH指令,观察其节拍流程:

c)1)、置拨动开关SW=10000101 00000000;2)、按RESET按键;节拍

指示灯T3 ~T0显示1000;3)、按START按键;节拍指示灯T3~T0显示0000;4)、按START按键;节拍指示灯T3~T0显示0010;5)、按START 按键;节拍指示灯T3~T0显示0110;6)、按START按键;节拍指示灯T3~T0显示0100;

d)选择基本指令的D组指令中的CALA指令,观察其节拍流程:

e)1)、置拨动开关SW=11000110 00000000;2)、按RESET按键;节拍

指示灯T3 ~T0显示1000;3)、按START按键;节拍指示灯T3~T0显示0000;4)、按START按键;节拍指示灯T3~T0显示0010;5)、按START 按键;节拍指示灯T3~T0显示0110;6)、按START按键;节拍指示灯T3~T0显示0100;7)、按START按键;节拍指示灯T3~T0显示0111;8)、

按START按键;节拍指示灯T3~T0显示0101;

6)单步方式下,通过指示灯观察各类基本指令的控制信号。

a)选择指令的A组指令中的SHR指令,观察其执行过程中控制信号的变

化,分析其作用。

b)选择基本指令的B组指令中的JMPA指令,观察其执行过程中控制信号

c)选择基本指令的D组指令中的CALA指令,观察其执行过程中控制信号

的变化,分析其作用。

编译原理实验指导

编译原理实验指导 实验安排: 上机实践按小组完成实验任务。每小组三人,分别完成TEST语言的词法分析、语法分析、语义分析和中间代码生成三个题目,语法分析部分可任意选择一种语法分析方法。先各自调试运行,然后每小组将程序连接在一起调试,构成一个相对完整的编译器。 实验报告: 上机结束后提交实验报告,报告内容: 1.小组成员; 2.个人完成的任务; 3.分析及设计的过程; 4.程序的连接; 5.设计中遇到的问题及解决方案; 6.总结。

实验一词法分析 一、实验目的 通过设计编制调试TEST语言的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。 二、实验预习提示 1.词法分析器的功能和输出格式 词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符号常常表示 成以下的二元式(单词种别码,单词符号的属性值)。 2.TEST语言的词法规则 |ID|ID |NUM →a|b|…|z|A|B|…|Z →1|2|…|9|0 →+|-|*|/|=|(|)|{|}|:|,|;|<|>|! →>=|<=|!=|== →/* →*/ 三、实验过程和指导 1.阅读课本有关章节,明确语言的语法,画出状态图和词法分析算法流程图。 2.编制好程序。 3.准备好多组测试数据。 4.程序要求 程序输入/输出示例:

广工_操作系统_课程设计_源代码

课程设计 课程名称________操作系统___ ____ 题目名称_多用户多级目录文件系统的实现_ 学生学院________计算机学院____________ 专业班级______ _________ 学号________ ___________ 学生姓名_________ _____________ 指导教师__________林穗______________ 2011年1月18日

广东工业大学课程设计任务书 题目名称多用户多级目录文件系统的实现 学生学院计算机学院 专业班级08软件工程一班 姓名 学号 一、课程设计的内容 本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。 二、课程设计的要求与数据 1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。 2.文件物理结构可采用显式链接或其他方法。 3.磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。 5.设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:(1)具有login (用户登录)

(2)系统初始化(建文件卷、提供登录模块) (3)文件的创建:create (4)文件的打开:open (5)文件的读:read (6)文件的写:write (7)文件关闭:close (8)删除文件:delete (9)创建目录(建立子目录):mkdir (10)改变当前目录:cd (11)列出文件目录:dir (12)退出:logout 6.系统必须可实际演示,选用程序设计语言:C++、C等。 三、课程设计应完成的工作 1.充分理解设计的任务,完成设计的基本要求。然后根据自己的基础和能力选择不同难度的算法和实现方式,以取得更高的分数。 2. 独立独立完成系统的分析、设计、编码、测试工作。 3.完成设计报告的撰写。 4.以光盘(以班为单位刻录)方式提交已调试通过的完整的相关源程序和能够运行的执行文件;提交“课程设计报告”的书面和电子两种版本。 四、课程设计进程安排

广工测试技术实验报告模板

实验题目: 《机械转子底座的振动测量和分析》 实验报告 姓名+学号:冯云凌(2111601211)、 实验时间:2016年10月24日 实验班级:专硕二班 实验教师:邹大鹏副教授 成绩评定:_____ __ 教师签名:_____ __ 机电学院工程测试技术实验室 广东工业大学 广东工业大学实验报告

一、预习报告:(进入实验室之前完成) 1.实验目的与要求: 实验目的: 1.掌握磁电式速度传感器的工作原理、特点和应用。 2.掌握振动的测量和数据分析。 实验要求: 先利用光电式转速传感器测量出电机的转速;然后利用磁电式速度传感器测量机械转子底座在该电机转速下的振动速度;对测量出的振动速度信号进行频谱分析;找出振动信号的主频与电机转速之间的关系。 2.初定设计方案: 先利用光电式转速传感器测量出电机的转速;然后利用磁电式速度传感器测量机械转子底座在该电机转速下的振动速度;利用获得的数据,使用MATLAB对测量出的振动速度信号进行频谱分析;找出振动信号的主频与电机转速之间的关系。 3.实验室提供的仪器设备、元器件和材料 本次实验的主要仪器设备有:机械转子系统,光电式转速传感器,磁电式速度传感器,USB 数据采集卡,计算机等。 磁电式速度传感器简介:

OD9200 系列振动速度传感器,可用于对轴承座、机壳或结构相对于自由空间的绝对振动测量。其输出电压与振动速度成正比,故又称速度式振动传感器。其输出可以是速度值的大小,也可以是把速度量经过积分转换成位移量信号输出。这种测量可对旋转或往复式机构的综合工况进行评价。 OD9200 系列速度振动传感器属于惯性式传感器。是利用磁电感应原理把振动信号变换成电信号。它主要由磁路系统、惯性质量、弹簧阻尼等部分组成。在传感器壳体中刚性地固定有磁铁,惯性质量(线圈组件)用弹簧元件悬挂于壳体上。工作时,将传感器安装在机器上,在机器振动时,在传感器工作频率范围内,线圈与磁铁相对运动、切割磁力线,在线圈内产生感应电压,该电压值正比于振动速度值。与二次仪表相配接(如OD9000 振动系列仪表),即可显示振动速度或振动位移量的大小。也可以输送到其它二次仪表或交流电压表进行测量。

编译原理实验报告实验一编写词法分析程序

编译原理实验报告实验名称:实验一编写词法分析程序 实验类型:验证型实验 指导教师:何中胜 专业班级:13软件四 姓名:丁越 学号: 电子邮箱: 实验地点:秋白楼B720 实验成绩: 日期:2016年3 月18 日

一、实验目的 通过设计、调试词法分析程序,实现从源程序中分出各种单词的方法;熟悉词法分析 程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动机的技术及有穷自动机实现的方法。确定词法分析器的输出形式及标识符与关键字的区分方法。加深对课堂教学的理解;提高词法分析方法的实践能力。通过本实验,应达到以下目标: 1、掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法。 2、掌握词法分析的实现方法。 3、上机调试编出的词法分析程序。 二、实验过程 以编写PASCAL子集的词法分析程序为例 1.理论部分 (1)主程序设计考虑 主程序的说明部分为各种表格和变量安排空间。 数组 k为关键字表,每个数组元素存放一个关键字。采用定长的方式,较短的关键字 后面补空格。 P数组存放分界符。为了简单起见,分界符、算术运算符和关系运算符都放在 p表中 (编程时,还应建立算术运算符表和关系运算符表,并且各有类号),合并成一类。 id和ci数组分别存放标识符和常数。 instring数组为输入源程序的单词缓存。 outtoken记录为输出内部表示缓存。 还有一些为造表填表设置的变量。 主程序开始后,先以人工方式输入关键字,造 k表;再输入分界符等造p表。 主程序的工作部分设计成便于调试的循环结构。每个循环处理一个单词;接收键盘上 送来的一个单词;调用词法分析过程;输出每个单词的内部码。 ⑵词法分析过程考虑 将词法分析程序设计成独立一遍扫描源程序的结构。其流程图见图1-1。 图1-1 该过程取名为 lexical,它根据输入单词的第一个字符(有时还需读第二个字符),判断单词类,产生类号:以字符 k表示关键字;i表示标识符;c表示常数;p表示分界符;s表示运算符(编程时类号分别为 1,2,3,4,5)。 对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比较,如表中已有 该元素,则记录其在表中的位置,如未出现过,将标识符按顺序填入数组id中,将常数 变为二进制形式存入数组中 ci中,并记录其在表中的位置。 lexical过程中嵌有两个小过程:一个名为getchar,其功能为从instring中按顺序取出一个字符,并将其指针pint加1;另一个名为error,当出现错误时,调用这个过程, 输出错误编号。 2.实践部分

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

2013广工数据库实验报告

数据库原理实验报告 学院计算机学院 专业计算机科学与技术班级2011 级7 班 学号3111XXXX 姓名XXX 指导教师明俊峰 (2013 年11 月)

计算机学院计算机专业2011(7)班学号:3111 姓名:协作者:________ 教师评定: 实验__一__题目__ 数据库及基本表的建立 _ 实验__二__题目__ 设计数据完整性 __ 实验__三__题目__ 查询数据库 __ 实验平台:SQL Server 2005

计算机学院计算机专业2011(7)班学号:3111 姓名:协作者:________ 教师评定: 实验题目一、数据库及基本表的建立 一、实验目的 1、掌握SQL SERVER的查询分析器和企业管理器的使用; 2、掌握创建数据库和表的操作; 二、实验内容和要求 1、分别使用SQL语句、企业管理器(Enterprise Manager)创建数据库; 2、使用SQL语句、企业管理器(Enterprise Manager)创建数据库表; 三、实验主要仪器设备和材料 1.计算机及操作系统:PC机,Windows 2000/xp; 2.数据库管理系统:SQL sever 2000/2003/2005; 四、实验方法、步骤及结果测试 创建一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。 创建:student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学生选课成绩表)、teacher_course表(教师上课课表)等。 1、创建数据库: 确定数据库名称;数据库用于学生管理,命名为SC 确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。 确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。 确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。(1)、利用查询分析器(Query Analyzer),使用SQL语句指定参数创建数据库; 1

广东工业大学 操作系统 真题 附答案

学院: 专业: 学号: 姓名: 装 订 线 广东工业大学考试试卷 ( A ) 课程名称: 操 作 系 统 考试时间: 第 周星期 ( 年 月 日) 题 号 一 二 三 四 五 总分 评卷得分 评卷签名 复核得分 复核签名 一、 填空题:(每空1分,共20分) 1. 操作系统有多种类型:(1)允许多个用户以交互方式使用计算机的操作系统,称 为 ;(2)允许多个用户将若干个作业提交给计算机系统集中处理的操作系统称为 ;(3)使计算机系统能及时处理由过程控制反馈的数据并作出响应的操作系统称为 。 2. 进程是对正在运行程序的一次抽象。有时进程必须相互作用,这种相互作用会导致 竞争条件,为了避免竞争条件,OS 引进了 的概念,它是满足如下条件的一段代码: 在这段代码中某一时刻只有一个进程访问共享区域。 3. 产生死锁的原因是: ; 。 4. 固定式分区产生 零头,可变式分区产生 零头。 5. 四种I/O 控制方式是 、 、 、 和 。 6. 在设计I/O 软件时,一个关键的概念是 ,它的基本含义是应用程序 独立于具体使用的物理设备. 7. 文件的物理结构有三种: 、 、 。 8. 完成一个磁盘服务请求的总时间由 、 、 组成。 9. 在UNIX 系统中,可通过系统调用 来创建进程。

二、单项选择题:(每题1分,共10分)Array 1. 操作系统是对 ( ) 进行管理的软件。 A.软件 B.硬件 C.计算机资源 D.应用程序 1.分配到必要的资源但未获得处理机时的进程状态是 ( ) 。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤销状态 2.( )是操作系统中最重要、最基本的概念之一,它是系统分配资源的基本单位, 是一个具有独立功能的程序段对某个数据集的一次执行活动。 A. 程序 B. 作业 C. 进程 D. 线程 3.下面 ( ) 算法不是进程调度算法。 A.LRU B.FCFS C.SJF D.HPF 4.关于存储器管理,以下说法错误的是()。 A.虚拟存储器是由指令的寻址方式所决定的进程寻址空间,由内外存共同组成。 B.覆盖、交换、请求式调入和预调入都是操作系统控制内存和外存数据流动的方式。 C.内存信息保护方法有:上下界保护法、保护键法、软件法等。 D.内存分配算法中,最佳适应算法比首次适应算法具有更好的内存利用率。 5.位示图法可用于()。 A.文件目录的查找 B.分页式存储管理中主存空闲块的分配和回收 C. 页式虚拟存储管理中的页面置换 D. 可变式存储管理中空闲区的分配和回收 6.现有三个作业同时到达,每个作业的计算时间均为2小时,它们在一台处理机上按单 道方式运行,则平均周转时间为() A.2小时 B.3小时 C.4小时 D.6小时 7.进程控制块是描述进程状态和特性的数据结构,一个进程()。 A.可以有多个进程控制块 B.可以和其他进程共用一个进程控制块 C.可以没有进程控制块 D.只能有惟一的进程控制块 8.在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区 合并,为此需修改空闲区表,造成空闲区数加1的情况是( ) A.无上邻空闲区,也无下邻空闲区 B.有上邻空闲区,但无下邻空闲区 C.有下邻空闲区,但无上邻空闲区 D.有上邻空闲区,也有下邻空闲区 9.用户程序通过系统调用creat来创建一新文件时,在执行creat()的过程中,用户进 程运行在下。 A.系统态 B.用户态 C.系统态或用户态 D.目态 三、判断题(每题 1 分,共 10 分) 1.实时系统在响应时间、可靠性及交互作用能力等方面一般都比分时系统要求高。() 2.多个进程可以对应于同一个程序,且一个进程也可以执行多个程序。() 3.系统处于不安全状态也可能不会产生死锁。( ) 4.虚拟存储器是一个假想的地址空间,因而这个地址的大小是没有限制的。() 5.设备独立性是指系统具有使用不同设备的能力。() 6.隐式链接结构可以提高文件存储空间的利用率,但不适合文件的随机存取。() 7.为了提高磁盘对换空间的利用率,一般对其使用离散的分配方式。( ) 8.线程是调度的基本单位,但不是资源分配的基本单位。( ) 9.访问控制矩阵比访问控制表更节约空间。( ) 10.在UNIX文件系统中,文件的路径名和磁盘索引结点之间是一一对应的。( )

数据库系统实验报告广东工业大学

数据库系统实验报告 学院计算机学院 专业计算机科学与技术班级级班 学号

姓名 指导教师 (2016 年12 月) 实验__一__题目数据库及基本表的建立 实验__二__题目查询数据库_ 实验__三__题目创建和使用视图、索引、存储过程实验__四_题目小型数据库规划设计 实验平台:SQL Sever 2005

实验题目实验一数据库及基本表的建立 一、实验目的 1、掌握SQL SERVER的查询分析器和企业管理器的使用; 2、掌握创建数据库和表的操作; 二、实验内容和要求 1、分别使用SQL语句、企业管理器(Enterprise Manager)创建数据库; 2、使用SQL语句、企业管理器(Enterprise Manager)创建数据库表; 三、实验主要仪器设备和材料 1.计算机及操作系统:PC机,Windows 2000/xp; 2.数据库管理系统:SQL sever 2000/2003/2005; 四、实验方法、步骤及结果测试 创建一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。 创建:student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学生选课成绩表)、teacher_course表(教师上课课表)等。 1、创建数据库: 确定数据库名称;数据库用于学生管理,命名为SC 确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。 确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。 确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。(1)、利用查询分析器(Query Analyzer),使用SQL语句指定参数创建数据库;

(精选)广工2014编译原理实验报告

实验报告 课程名称编译原理 题目名称 PL/0编译器的扩充 学生学院计算机学院 专业班级计算机科学与技术12(4) 学号 3112005901 学生姓名柏石先 指导教师李杨 程序功能完成情况 测试用例全面程度 学生对所编程序熟悉程度 报告格式是否与要求相符 报告内容是否准确、全面 2014 年 12 月 20日

一、实验目的与要求 对PL/0作以下修改扩充: (1)增加单词:保留字 ELSE,FOR,STEP,UNTIL,DO,RETURN 运算符 *=,/=,&,||,! (2)修改单词:不等号# 改为 <> (3)增加条件语句的ELSE子句,要求:写出相关文法,语法描述图,语义描述图。 二、实验环境与工具 1、源语言:PL/0语言,PL/0语言是PASCAL语言的子集,它的编译程序是一个编译解 析执行系统,后缀名为.PL0; 2、目标语言:生成文件后缀为*.COD的目标代码 3、实现平台:Borland C++Builder 6 4、运行平台:Windows 8.1 三、结构流程 1、结构设计说明 (1)PL/0 语言编译器 PL/0语言可看成是PASCAL语言的子集,它的编译程序是一个编译解释执行系统。PL/0的目标程序为假想栈式计算机的汇编语言,与具体计算机无关。

2、词法分析程序的设计 四、开发过程 (一)增加单词:保留字 ELSE,FOR,STEP,UNTIL,DO , RETURN 运算符 *=,/=,&,||,! 新增6个保留字和5个运算符,合计11个单词。 其中保留字ELSE,FOR,STEP,UNTIL,DO, RETURN分别对应ELSESYM,FORSYM, STEPSYM, UNTILSYM,DOSYM,RETURNSYM; 运算符 *= ,/= ,& ,|| ,!分别对应TIMESBECOMES, SLASHBECOMES, ANDSYM, ORSYM, NOTSYM。 注:要求只做词法分析部分,不做语义分析处理,实验的结果只是识别新增的保留字和运算 1.首先考虑需要增加保留字的个数,以及如何命名,再将新增的保留字添加对应的保留字的集合中。具体实现的语句如下所示: typedef enum { NUL, IDENT, NUMBER, PLUS, MINUS, TIMES, SLASH, ODDSYM, EQL, NEQ, LSS, LEQ, GTR, GEQ, LPAREN, RPAREN, COMMA, SEMICOLON, PERIOD,

数据库实验报告大全 广工 蔡延光版

自动化学院自动化专业班学号 姓名实验时间2011.3.14 教师评定 实验题目数据定义 实验报告一 一、实验目的与要求 目的:使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。 要求:1、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、DROP 命令实现数据库的创建及删除工作。 2、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表的创建、更新、删除工作,并实现基本表中各类完整性约束条件的限定。 3、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表中索引的创建、更新、删除工作。 4、完成上述工作后,在SQL SERVER 2000企业管理器中,查看是否成功创建实验所要求数据库、基本表、各类完整性约束条件及索引等内容。 二、实验方案 所有实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成如下内容: 1.定义数据库 定义一个借阅数据库,要求所定义的数据库大小为1M,且数据库名称为Labery_学号。 2.定义下列数据库基本表 在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表: 1)书(book)

列名别名类型及长度是否可为空书号bno char(8)否 类别category varchar(10)否 书名title varchar(40)否 出版社press varchar(30)是 年份book_year Int否 作者author char(20)是 价格price decimal(7,2)否 总藏书量book_total Int否 2)借书证(card) 列名别名类型及长度是否可为空卡号cno char(7)否 姓名name char(8)否 单位department varchar(40)是 类别type char(1)否 3)借书记录(borrow) 列名别名类型及长度是否可为空卡号cno char(7)否 书号bno char(8)否 借书日期borrow_date smalldatetime否 还书日期return_date smalldatetime是 3.完整性约束条件: 主要内容为: 1)确定各基本表的主码; 2)确定各基本表的外码; 3)要求在定义各基本表的同时,确定如下完整性约束条件 1、定义各基本表主码,并且要求主属性不能为空; 2、如果有外码,定义各基本表外码; 3、要求检查借书证中属性Type的值是否为('T','G','U','F')); 4、借书记录borrow基本表中borrow_date默认日期为当前时间。4)确定各基本表哪些字段需要建立索引。

广工编译原理报告

《编译原理》 专项选修课程实验报告 学院计算机学院 专业网络工程 年级班别2013级3班 学号 学生姓名 辅导教师刘添添 成绩 2015年12月

实验一 一.完成内容 扩充单词: (1)将保留字if改为fi (2)增加保留字else (3)增加运算符++、+= 二.设计思路 (1)将保留字if改为fi 1)修改变量定义 2)修改GetSym()方法 (2)增加保留字else 1)修改变量定义 头文件 2)修改GetSym()方法

(3)增加运算符++、+= 1)修改变量定义 2)修改GetSym()方法 三.调试 1、添加else保留字时出错,原因是忽略了查找时是用折半查找的解决方法:按字母表顺序修改定义变量。 四.运行测试 (1)将保留字if改为fi var a,b; begin a:=1; b:=2;

fi b>a then write(a) end. (2)增加保留字else (3)增加运算符++、+=

实验二 一.完成内容 扩充else 子句 二.设计思路 (1)EBNF 范式以及语法描述图 语句 (1) 递归下降子程序 if(sym==ifsym) { getsymdo; memcpy(nxtlev,fsys,sizeof(bool)*symnum); nxtlev[thensym]=true; nxtlev[dosym]=true; conditiondo(nxtlev,ptx,lev); /*调用条件处理(逻辑运算)函数*/ if(sym==thensym) { getsymdo; } else { error(16); /*缺少then*/ } //~~~~~~从这里开始修改~~~~~~~~~~~~~~~ cx1=cx; gendo(jpc,0,0); memcpy(nxtlev,fsys,sizeof(bool)*symnum); nxtlev[elsesym]=true; statementdo(nxtlev,ptx,lev); code[cx1].a=cx; if ( sym==elsesym ) { cx2=cx; getsymdo; if 条件 then 语句 else 语句

2015广工操作系统实验报告(文档最后含源码下载地址)

操作系统实验报告 学生学院____ 计算机学院______ 专业班级13级计科9 学 号 学生姓名 指导教师 李敏 2015年12月29日

实验一进程调度实验 一、实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 设计一个有N个进程共行的进程调度程序。要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程),时间片轮转算法,多级反馈队列调度算法这三种算法。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 三、实验主要仪器设备和材料 实验环境 硬件环境:IBM-PC或兼容机 软件环境:C++、C语言编程环境 四、实验方法 1、编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。 “最高优先数优先”调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。 静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。 动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。 例如:在进程获得一次CPU后就将其优先数减少1。或者,进程等待的时间超过某一时限时增加其优先数的值,等等。 2、编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。轮转法可以是简单轮转法、可变时间片轮转法,或多队列轮转法。 简单轮转法的基本思想是:所有就绪进程按FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。如果运行进程用完它的时间片后还为完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直至所有的进程运行完毕。 3、多级反馈队列调度算法的基本思想是:

广东工业大学C语言实验报告模板

实验_______题目____________________________课程名称C程序设计 C程序设计 实验报告 课程名称 C程序设计 学生学院管理学院 专业班级 学号 学生姓名 指导教师____黄永慧 ______________ 年月日

实验_______题目____________________________课程名称C程序设计 一.实验目的 1.设计一个C++程序,输入一个学生的三门课成绩,求其总成绩并输出。 2.输入一个三角形的三个边长值,求该三角形的面积并输出。 3.要求用户输入两个数,并输出这两个数的和、乘积、差和商。 4.编写一个程序。要求读入一个圆的半径(一个整数),并打印圆的直径、周长和面积。π=3.14159。 8.输入某学生成绩,若成绩在90-100 输出"excellent",若成绩在80-89 输出"good",若成绩在70-79 输出"general",若成绩在60-69 输出”pass”,若成绩在0-59 输出”no pass”。 11.输入三个数,按从小到大的大顺序输出。 12.在100~200 中找出同时满足3 除余2,用5 除余3 和用7 除余2 的所有整数。 二.实验软件环境 Visual c++6.0 三.实验内容 1.设计一个C++程序,输入一个学生的三门课成绩,求其总成绩并输出。 #include int main(void) { int a, b, c; printf("请输入三门课的成绩:"); scanf("%d%d%d", &a, &b, &c); printf("三门课总成绩为:%d\n", a + b + c); return 0; }

广东工业大学编译原理实验报告

实验报告 课程名称____ 编译原理__________ 题目名称_ PL/0编译程序的修改扩充_ 学生学院______计算机学院__ 专业班级_______ ________ 学号 学生姓名______ ________ 指导教师____ _________ __ 20 年月日

一、课内实验要求 对PL/0作以下修改扩充: 增加单词:保留字ELSE,FOR,TO,DOWNTO,RETURN 运算符*=,/=,++,--,&,||,! 修改单词:不等号# 改为<> 增加条件语句的ELSE子句,要求:写出相关文法,语法图,语义规则。 二、实验环境与工具 计算机及操作系统:PC机,Windows2000,WindowsXP 程序设计语言:C 教学型编译程序:PL/0 设计方案 概述:源、目标语言,实现工具(平台),运行平台 源语言:PASCAL 目标语言:假想栈式计算机的汇编语言,可称为类PCODE指令代码 实现工具:Visual C++ 6.0 运行平台:Windows 7 三、设计方案 1.结构设计说明 (1)PL/0 语言编译器 PL/0语言可看成是PASCAL语言的子集,它的编译程序是一个编译解释执行系统。PL/0的目标程序为假想栈式计算机的汇编语言,与具体计算机无关。

(2)PL/0编译程序的语法分析过程BLOCK是整个编译过程的核心。这里根据编译程序的总体流程图,来弄清BLOCK过程在整个编译程序中的作用。总流程图如下图所示: PL/0语法调用关系图

PL/0 的编译程序采用一趟扫描方式,以语法分析程序为核心,词法分析程序和代码生 成程序都作为一个独立的过程,当语法分析需要读单词时就用词法分析程序,而当语法分析正确需生成相应的目标代码时,则调用代码生成程序。此外,用表格管理程序建立变量,常量和过程标识符的说明与引用之间的信息联系。用出错处理程序对词法和语法分析遇到的错误给出在源程序中出错的位置和错误性质。 (3)各功能模块描述

广工_操作系统_实验报告

操作系统实验报告 学院_____计算机学院_______ 专业______软件工程________ 班级______ ________ 学号_____ _______ 姓名_______ _________ 指导教师 (2010年10 月)

学号:姓名:协作者:________ 实验__一__题目__ 进程调度___第周星期___ 一、实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。 ·每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行的时间、已用CPU时间、进程状态等。 ·进程的优先数以及需要的运行时间事先由人为指定(也可以随机数产生)。 ·如果运行一个时间片后进程的已占用CPU时间已达到所需要的运行时间,则撤销该进程,如果还未达到,则把它送回队尾。 三、实验主要仪器设备和材料 实验环境 硬件环境:IBM-PC 或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 1、实验原理 将程序顺序的输入进程队列后,开始执行程序,当运行了一个时间片后,如果进程所占的CPU时间达到所需的运行时间时,该进程完成,并撤销该进程,否则则把进程送回队尾。 2、设计方案 用一个进程控制块(PCB)表示进程。输入进程名称,优先级,运行时间后,通过模拟系统对进程采用“轮转法”调度,得到各个时间片进程的运行情况。 3、相关数据结构的说明 struct pcb // 定义进程控制块 PCB {

广工-单片机实验报告全部

广工-单片机实验报告全部

实验报告 课程名称_单片机原理及应用 __ 学生学院信息工程学院 专业班级13级应用电子专业4班 学号3113002512 姓名陈文威 指导教师李优新 2015年12月12 日

实验一:开发软件使用与调试方法 一.实验目的: 学习KEIL 的使用方法,用Keil 开发工具编译C 源码、汇编源程序。掌握单片机的编程及调试。 二.实验内容和要求: 编写C语言程序,用Keil 将程序编译并生成HEX 文件调试程序。通过并口通信线连接PC 与实验箱,用Easy 51Pro 把程序下载到AT89S51 观察实验箱LED 的变化。 三.实验要求程序代码: ORG 0000H AJMP M AIN ORG 0030H MAIN: MOV P2,#0FFH MOV A,#0FEH MOV P0,A LOOP: JB P2.0,LOOP ACALL DELAY_100MS JB P2.0,LOOP RR A

HRER: JNB P2.0,HRER MOV P0,A AJMP L OOP DELAY_100MS: MOV R6,#64H D22: MOV R5,#0F9H D21: DJNZ R5,D21 DJNZ R6,D22 RET END 四.实验心得: 通过本次试验,熟悉了keil软件的使用。初步掌握单片机的编程及调试 实验二定时器和中断应用程序设计与调试 一.实验目的:

掌握单片机的定时器,中断功能系统的应用 二.实验内容和要求: 编写程序,用AT89C51的内部定时器/计数器T0的方式1产生周期为0.2秒的TTL脉冲(TCH和TCL 溢出的时候,产生一个中断),从P05输出。计算如下: 振荡器的频率f=6M=6000000,方式1计数器的长度为L=16.2的16次方即65536 定时时间(溢出时间)t=0.1s 定时常数TC=65536-6000000x0.1/12=65536-50000=15536,将15536转换成16进制为3CB0, TCH=3CH(高八位),TCL=B0H(低八位)。 三.实验主要仪器设备和材料: 1 AMC51单片机综合开发系统一台 2.微机一台 四.实验方法,步骤及结果测试 1.开启ANC51实验装置,检查跳线,一般无需改动。 2.运行Keil调试程序,具体操作步骤参考实验一。 3.参考以下电路图和流程图编写程序。 4.编译程序,把生成的.HEX目标文件下载到AT89S51运行。 5.观察AMC51实验装置的LED在运行程序时闪烁的情

编 译 原 理 实 验 报 告

编译原理实验报告 课程:编译原理 系别:计算机系 班级:11网络 姓名:王佳明 学号:110912049 教师:刘老师 实验小组:第二组 1

实验一熟悉C程序开发环境、进行简单程序的调试 实验目的: 1、初步了解vc++6.0环境; 2、熟悉掌握调试c程序的步骤: 实验内容: 1、输入下列程序,练习Turbo C 程序的编辑、编译、运行。 #include main() { printf(“Programming is fun.\n”); } 2、分析程序,预测其运行结果,并上机检测你的预测。 #include main() { printf(“*\n”); printf(“* * *\n”); printf(“* * * * *\n”); printf(“* * * * * * *\n”); } 3、下面是一个加法程序,程序运行时等待用户从键盘输入两个整数,然后求出它们的和并输出。观察运行结果(程序输出),上机验证该程序。 #include main() { int a,b,c; printf(“Please input a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; printf(“%d+%d=%d\n”,a,b,c); } 2

实验二词法分析器 一、实验目的: 设计、编制、调试一个词法分析子程序-识别单词,加深对词法分析原理的理解。 二、实验要求: 1.对给定的程序通过词法分析器弄够识别一个个单词符号,并以二元式(单词种别码,单词符号的属性值)显示。而本程序则是通过对给定路径的文件的分析后以单词符号和文字提示显示。 2.本程序自行规定: (1)关键字"begin","end","if","then","else","while","write","read", "do", "call","const","char","until","procedure","repeat" (2)运算符:"+","-","*","/","=" (3)界符:"{","}","[","]",";",",",".","(",")",":" (4)其他标记如字符串,表示以字母开头的标识符。 (5)空格、回车、换行符跳过。 在屏幕上显示如下: ( 1 , 无符号整数) ( begin , 关键字) ( if , 关键字) ( +, 运算符) ( ;, 界符) ( a , 普通标识符) 三、使用环境: Windows下的visual c++6.0; 四、调试程序: 1.举例说明文件位置:f:、、11.txt目标程序如下: begin x:=9 if x>0 then x:=x+1; while a:=0 do 3

广工网络安全实验报告

实验题目实验一端口扫描 一、实验目的 1.掌握端口扫描的基本概念和掌握端口扫描的原理。 2.掌握端口扫描的几种类型及其区别。 二、实验要求 开启windows靶机、linux靶机,在linux靶机的终端使用nmap对windows 靶机进行扫描。 三、实验原理 通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。它使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了-种手段。- 个端口就是一个潜在的通信通道,也就是一个入侵通道。端口扫描技术是一项自动探测本地和远程系统端口开放情况的策略及方法。端口扫描技术的原理是端口扫描向目标主机的TCP IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它通过对接收到的数据进行分析.帮助我们发现目标主机的某些内在的弱点。 还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它通过对接收到的数据进行分析.帮助我们发现目标主机的某些内在的弱点。 在端口扫描后,获得目标主机的端口开放情况,通过查询端对应的服务, 就可以得出该主机开设的服务情况。在此基础上,对端口上提供的服务进行识别。例如Nmap使用的nmap-services数据库包含大约2.200个著名的服在端口扫描后,获得目标主机的端口开放情况,通过查询端对应的服务, 就可以得出该主机开设的服务情况。在此基础上,对端口上提供的服务进行识别。例如Nmap使用的nmap-services数据库包含大约2.200个著名的服些服务并不运行在特定的端口,而且1024到49151端口的端口都可以被注册为某种应用所有,所以,需要对常见的服务进行动态识别。些服务并不运行在特定的端口,而且1024到49151端口的端口都可以被注册为某种应用所有,所以,需要对常见的服务进行动态识别。 每个服务必须要有自己的、唯-的特征标志。否则.客户端软件就无法和服务器软件完成握手和进一步的信息交换。攻击者就是利用这点来识别服务的。以常见的TCP类型服务为例。在完成ICP协议的3次握手后,客户端软件和服务器软件建立了连接conectin)。这时服务器软件可以被分成2种,

相关文档
最新文档