北京理工大学计算机实验二报告表
北理工计算机原理与应用实验二

本科实验报告实验名称:计算机原理与应用实验二实验二利用中断方式设计数字时钟一、实验目的1.掌握PC机中断处理系统的基本原理。
2.熟悉定时/计数器8254工作原理及其编程方法。
3.利用实验板上的8254定时器为中断源发中断申请,中断请求用IRQ3(系统总线区的IRQ)。
4.熟悉数码管显示原理,掌握数码管显示接口技术。
5.学习数字时钟原理,实现数字时钟。
6.掌握中断控制器8259管理二、实验内容与步骤1) 接线(参考):PB7~PB0/8255 接dp~a /LED 数码管CS /8254 接Y0 /IO 地址PC3~PC0 /8255 接S3~S0/LED 数码管CS/8255 接Y1 /IO 地址IRQ /总线接OUT1/8254GATE0 /8254 接+5VCLK0 /8254 接1M时钟OUT0 /8254 接CLK1 /8254GATE1 /8254 接+5V三、实验原理1、PC 机用户可使用的硬件中断只有可屏蔽中断,由8259 中断控制器管理。
中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU 发出可屏蔽中断请求。
IBMPC、PC/XT 机内有一片8259 中断控制器对外可以提供8个中断源:中断源中断类型号中断功能IRQ0 08H 时钟IRQ1 09H 键盘IRQ2 0AH 保留IRQ3 OBH 串行口2IRQ4 0CH 串行口1IRQ5 0DH 硬盘IRQ6 0EH 软盘IRQ7 0FH 并行打印机8 个中断源的中断请求信号线IRQ0~IRQ7 在主机的62 线ISA 总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。
对于PC/AT 及286 以上微机内又扩展了一片8259 中断控制,IRQ2 用于两片8259 之间级连,对外可以提供16 个中断源:中断源中断类型号中断功能IRQ8 070H 实时时钟IRQ9 071H 用户中断IRQ10 072H 保留IRQ11 O73H 保留IRQ12 074H 保留IRQ13 075H 协处理器IRQ14 076H 硬盘IRQ15 077H 保留实验系统总线区的IRQ 接到了3 号中断IRQ3 上,即进行中断实验时,所用中断类型号为0BH。
北京理工大学计算机网络实践实验 2 简单的 web 服务器

实验二简单的Web服务器一.实验目的Web服务器是Internet网络中主要提供信息的服务器之一,通过WinSock 编程接口编写简单的Web服务器程序。
1.理解HTTP协议的工作原理2.掌握Web服务器的处理流程3.掌握HTTP请求和响应包的处理方法二.实验内容利用WinSock编程接口编写简单的Web服务器程序,可以接收IE等Web浏览器的请求,对HTTP请求进行处理,向浏览器客户发送HTTP响应,由浏览器显示请求的页面。
三.实验环境程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows。
程序开发环境为VS2012版本。
四.实验步骤1.Web服务器功能(1)Web服务器可以接受任何Web客户的连接(2)Web服务器在同一时刻只能处理一个客户的请求,该客户请求处理完成才可以接收下一个客户的请求(3)Web浏览器客户通过地址栏指定服务器地址和请求的页面(4)Web服务器对请求进行处理,发送HTTP响应(5)Web浏览器客户收到HTTP响应后显示页面,关闭连接2.Web服务器程序开发以VisualC++Console控制面板程序的形式编写服务器程序,利用WinSock编程接口实现HTTP通信。
Web服务器程序采用循环服务器的模式,不支持多线程操作。
服务器侦听TCP80号端口,建立TCP连接后接收HTTP 请求,分析请求包得到访问资源的路径名,从主目录下找到指定的资源,以HTTP响应的形式发送给Web客户。
3.编译和执行程序将Web服务器程序编译、连接成执行程序,运行Web服务器程序,在系统设定的主目录下存放一些Web页面。
启动IE浏览器,在地址栏指定Web服务器的地址和页面,可以在浏览器中显示响应的页面。
五.实验结果1.提前在webserver.exe所在文件夹建立www文件夹,存放若干页面;点击webserver.exe启动程序,如下:2.在浏览器中输入网址:http://127.0.0.1:80/csbit.html,回车,可以看到服务器段接收到数据并发送数据,浏览器端显示出页面:3.可以看到服务器工作正常。
北理工操作系统实验二读者写者问题

本科实验报告实验名称:操作系统原理实验(读者写者问题)课程名称:操作系统原理实验时间:2015.10.30 任课教师:王耀威实验地点:10#102实验教师:苏京霞实验类型: 原理验证□综合设计□自主创新学生姓名:孙嘉明学号/班级:1120121474/05611202 组号:学院:信息与电子学院同组搭档:专业:信息对抗技术成绩:实验二:读者写者问题一、实验目的1.通过编写和调试程序以加深对进程、线程管理方案的理解;2.熟悉Windows多线程程序设计方法;二、实验要求在Windows环境下,创建一个控制台进程,此进程包含n个线程。
用这n个线程来表示n个读者或写者。
每个线程按相应测试数据文件(后面介绍)的要求进行读写操作。
用信号量机制分别实现读者优先和写者优先问题。
读者-写者问题的读写操作限制(包括读者优先和写者优先)1)写-写互斥:不能有两个写者同时进行写操作2)读-写互斥:不能同时有一个线程在读,而另一个线程在写。
3)读-读允许:可以有一个或多个读者在读。
读者优先的附加限制:如果读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。
运行结果显示要求:要求在每个线程创建、发出读写申请、开始读写操作和结束读写操作时分别显示一行提示信息,以确定所有处理都遵守相应的读写操作限制。
测试数据文件包括 n行测试数据,分别描述创建的n个线程是读者还是写者,以及读写操作的开始时间和持续时间。
每行测试数据包括四个字段,每个字段间用空格分隔。
第1个字段为正整数,表示线程的序号。
第2个字段表示线程的角色,R表示读者,W表示写者。
第3个字段为一个正数,表示读写开始时间:线程创建后,延迟相应时间(单位为秒)后发出对共享资源的读写申请。
第4个字段为一个正数,表示读写操作的延迟时间。
当线程读写申请成功后,开始对共享资源进行读写操作,该操作持续相应时间后结束,释放该资源。
下面是一个测试数据文件的例子(在记事本手工录入数据):1 R 3 52 W 4 53 R 5 24 R 6 55 W 5.1 3三、实验环境硬件设备:个人计算机。
北京理工大学计算机学院数据库开发实验报告2

数据库系统开发实验报告1.2 实验二:触发器的创建与测试1.2.1内容检查订单明细表Sales.SalesOrderDetail中的信息,如果修改记录中的产品单价UnitPrice大于产品公开报价(Production.Product.ListPrice),则不能进行修改并抛出错误信息,否则,进行修改并将修改的有关信息写到Production.ProuctUpdateLog表中。
1.2.2要求1.使用RAISEERROR抛出错误信息。
2.修改信息记录表Production.ProductUpdateLog的内容:记录编号、订单编号、订单明细编号、产品编号、产品的公开报价、修改前产品的单价、修改后产品的单价、修改者的登录名。
使用存储过程完成该功能,并在存储过程中调用该存储过程。
3.给出触发器和存储过程的源代码和简要的说明(可以在代码中使用注释进行说明)。
4.设计触发器测试方案并给出测试的命令和结果,必要时可对测试结果进行分析。
实验内容:首先,用Windows系统下的登录,附加数据库AdventureWorks按照实验内容,我们先来查询一下AdventureWorks中的订单明细表Sales.SalesOrderDetail。
语句:USE AdventureWorksGOSELECT*FROM Sales.SalesOrderDetailGO查询结果如下:根据实验内容,创建名为Production.ProuctUpdateLog(产品更新日志)的表。
其属性分别为记录编号,订单编号,订单明细编号,产品编号,产品公开报价,修改前产品的单价,修改后产品单价,修改者登录名。
语句:/*记录编号,订单编号,订单明细编号,产品编号,产品公开报价,修改前产品的单价,修改后产品单价,修改者登录名*/USE AdventureWorksGOCREATE TABLE Production.ProductUpdateLog(记录编号int IDENTITY primary key,订单编号int not null,订单明细编号int not null,产品编号int not null,产品公开报价money,修改前产品单价money,修改后产品单价money,修改者登录名nvarchar(50) not null)GO运行结果如下:将修改者登录名设为不准为空,同时用IDENTITY关键字设主键“记录编号”为自动增长。
北京理工大学汇编实验二报告

北京理工大学汇编实验二报告本科实验报告实验名称:算术运算类操作实验课程名称:CPU与汇编实验实验时间:2015.10.29 任课教师:王耀威实验地点:10-102实验教师:潘丽敏实验类型:□原理验证■综合设计□自主创新学生姓名:王晓玥学号/班级:1120131332/05111311 组号:学院:信息与电子学院同组搭档:专业:信息工程成绩:一、实验要求和目的1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式;2、掌握各类运算类指令对各状态标志位的影响及测试方法;3、熟悉汇编语言二进制多字节加减法基本指令的使用方法;4、熟悉无符号数和有符号数乘法和除法指令的使用;5、掌握符号位扩展指令的使用。
6、掌握 BCD 码调整指令的使用方法二、软硬件环境1、硬件环境:计算机系统 windows;2、软件环境:装有 MASM、DEBUG、LINK、等应用程序。
三、实验涉及的主要知识1、加减法处理指令主要有加法指令 ADD,带进位加法 ADC,减法指令 SUB,带进位减法指令 SBB。
2.乘除法指令和符号位扩展指令主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令 IDIV,以及符号位从字节扩展到字的指令 CBW 和从字扩展到双字的指令 CWD。
3.BCD 码的调整指令主要有非压缩的BCD 码加法调整指令DAA,压缩的 BCD 码减法调整指令 DAS,非压缩的 BCD 码加法调整指令 AAA,非压缩的 BCD 码减法调整指令 AAS,乘法的非压缩 BCD码调整指令 AAM,除法的非压缩 BCD 码调整指令 AAD。
8088/8086 指令系统提供了实现加、减、乘、除运算的上述基本指令,可对表 1 所示的数据类型进行数据运算。
表 1-2-1 数据类型数据运算表数制二进制BCD码带符号无符号组合非组合运算符+、-、×、÷+、-+、-、×、÷操作数字节、字、多精度字节(二位数字)字节(一位数字)四、实验内容与步骤1、对于两组无符号数,087H 和 034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响:(1)实验流程将一组操作数分别用ADD,SUB,MUL,DIV运算(2)实验代码:DATAS SEGMENTBUF1 DB 087HBUF2 DB 034HBUF3 DB 4 DUP(?);此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START:MOV AX,DATASMOV DS,AXMOV AX,0MOV SI,AX;两数相加MOV AL,BUF1MOV BL,BUF2ADD AL,BLMOV BUF3[SI],ALMOV AL,0MOV AL,0INC SIMOV BUF3[SI],AL;两数相减MOV AL,BUF1MOV BL,BUF2SUB AL,BLINC SIMOV BUF3[SI],ALMOV AL,0SBB AL,0INC SIMOV BUF3[SI],AL;两数相乘MOV AL,BUF1MOV BL,BUF2MUL BLINC SIMOV BUF3[SI],ALINC SIMOV BUF3[SI],AH;两数相除,AL中存放商,AH中存放余数MOV AX,0MOV AL,BUF1MOV BL,BUF2DIV BLINC SIMOV BUF3[SI],ALINC SIMOV BUF3[SI],AH;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START(3)实验结果:1)第一组操作数87H,34H2)第二组操作数0C2H,5FH(4)计算结果计算状态标志表达式结果CF AF ZF OF SF PF 087H+034H 00BB 0 0 0 0 1 1 087H-034H 0053 0 0 0 1 0 1 087H*034H 1B6C 1 0 0 1 0 0 087H/084H 02(1F) 1 0 0 0 0 1 0C2H+05FH 0121 0 0 0 0 0 0 0C2H-O5FH 0063 0 0 1 0 0 1 0C2H*05FH 47FE 0 0 0 0 0 1 0C2H/05FH 02(04) 0 0 0 0 0 0(5)各运算对状态标志位的影响及其意义。
北京理工大学微机原理实验报告二

本科实验报告实验名称:利用中断方式设计数字时钟课程名称:实验时间:任课教师:实验地点:实验教师:实验类型:□原理验证■综合设计□自主创新学生姓名:学号/班级:组号:学院:同组搭档:专业:成绩:实验二利用中断方式设计数字时钟一、实验目的1、掌握PC 机中断处理系统的基本原理。
2、熟悉定时/计数器8254 工作原理及其编程方法。
3、利用实验板上的8254 定时器为中断源发中断申请,中断请求用IRQ3(系统总线区的IRQ)。
4、熟悉数码管显示原理,掌握数码管显示接口技术。
5、学习数字时钟原理,实现数字时钟。
6、掌握中断控制器8259 管理。
二、实验内容与步骤接线:三、实验原理1、PC 机用户可使用的硬件中断只有可屏蔽中断,由8259 中断控制器管理。
中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU 发出可屏蔽中断请求。
IBMPC、PC/XT 机内有一片8259 中断控制器对外可以提供8 个中断源:中断源中断类型号中断功能IRQ0 08H 时钟IRQ1 09H 键盘IRQ2 0AH 保留IRQ3 0BH 串行口2IRQ4 0CH 串行口1IRQ5 0DH 硬盘IRQ6 0EH 软盘IRQ7 0FH 并行打印机8 个中断源的中断请求信号线IRQ0~IRQ7 在主机的62 线ISA 总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。
对于PC/AT 及286 以上微机内又扩展了一片8259 中断控制,IRQ2 用于两片8259 之间级连,对外可以提供16 个中断源:中断源中断类型号中断功能IRQ8 070H 实时时钟IRQ9 071H 用户中断IRQ10 072H 保留IRQ11 073H 保留IRQ12 074H 保留IRQ13 075H 协处理器IRQ14 076H 硬盘IRQ15 077H 保留实验系统总线区的IRQ 接到了3 号中断IRQ3 上,即进行中断实验时,所用中断类型号为0BH。
北京理工大学计算机实验一报告表

北京理工大学计算机实验一报告表北京理工大学计算机实验一报告一、实验目的:1. 了解计算机实验室的硬件设备,熟悉计算机的组成和工作原理;2. 掌握计算机的基本操作和调试方法,熟悉计算机的操作系统和软件环境;3. 学习使用计算机进行数据输入、处理和输出。
二、实验内容:1. 硬件设备:了解计算机的主要硬件组成,包括中央处理器(CPU)、内存、硬盘、显卡等;2. 操作系统:熟悉计算机的操作系统,学习操作系统的基本功能和操作方法;3. 软件环境:了解计算机的软件环境,学习使用常用的办公软件和编程工具;4. 数据输入:学习使用键盘和鼠标进行数据输入,了解数据的输入格式和方式;5. 数据处理:学习使用计算机进行数据处理,包括数据的存储、计算和分析;6. 数据输出:学习使用计算机进行数据输出,包括打印、显示和保存等方式。
三、实验步骤:1. 硬件设备:了解计算机的主要硬件组成,包括CPU、内存、硬盘、显卡等,熟悉各个硬件的功能和作用;2. 操作系统:熟悉计算机的操作系统,学习操作系统的基本功能和操作方法,包括开机、关机、重启等;3. 软件环境:了解计算机的软件环境,学习使用常用的办公软件和编程工具,如Microsoft Office和Visual Studio等;4. 数据输入:学习使用键盘和鼠标进行数据输入,了解数据的输入格式和方式,如文本、数字、图像等;5. 数据处理:学习使用计算机进行数据处理,包括数据的存储、计算和分析,如使用Excel进行数据分析;6. 数据输出:学习使用计算机进行数据输出,包括打印、显示和保存等方式,如使用打印机打印数据报告。
四、实验结果:本次实验我们成功地熟悉了计算机的硬件设备和软件环境,掌握了计算机的基本操作和调试方法。
我们学会了使用键盘和鼠标进行数据输入,使用计算机进行数据处理和输出。
通过实验,我们进一步了解了计算机的组成和工作原理,对计算机的操作系统和软件环境有了更深入的了解。
北京理工大学单片机实验报告

北京理工大学实验选修课程《单片机原理与应用》课程实验报告姓名:学号:**********专业:信息工程班级:05111003实验一 P1口基本实验一、实验目的1.掌握如何建立项目,并用Keil C51软件调试程序。
二、实验内容1. P1口基本实验P1口做输出口,接八只发光二极管(如图1-1),编写程序,使发光二极管从左到右依次单个点亮,再从右至左依次单个点亮,以此循环。
各发光二极管的阳极通过保护电阻接到+5V 的电源上,阴极接到接线端口上,因此使其点亮应使相应接线端口为低电平。
三、实验原理1. P1口实验原理P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”。
2. 延时原理及计算方法常用的延时程序有两种方法,一种是用定时器中断来实现,另一种是用指令循环来实现。
用C 语言编写的延时子程序,计算延时时间时需转化为汇编语言。
针对不同的编译环境,C51编译后生成的代码不同。
针对本实验系统,若延时时间大于255ms,用C51实现可大致写出如下:unsigned int i;unsigned char j;while(i--){ for(j=0;j<60;j++){;}}若延时时间不大于255ms ,可将循环变量(i,j )定义为unsigned char ,并将内循环体中参数改为75。
四、实验代码#include<reg51.h>unsigned char L; /*L 传递亮灭的数值*/或 unsigned int i, ms; unsigned char j; for(i=0;i<ms;i++) { for(j=0;j<60;j++) {;} }delay(unsigned int ms) /*延时子程序*/{unsigned char j;unsigned int i;for(i=0;i<ms;i++){for(j=0;j<60;j++) /*内循环空操作*/{;}}}void display() /*显示输出子程序*/{P1=~L; /*LED共阳极,L取反输出*/delay(1000); /*延时1秒*/}main(){unsigned char i;L=0xFF; /*全亮*/display();L=0x00; /*全灭*/display();while(1) /*进入死循环,重复执行程序*/{L=0x01; /*LED1亮*/display();for(i=0;i<8;i++) /*LED右移8次点亮*/{L=L<<1; /*L左移1位*/display();}L=0x80; /*LED8亮*/display();for(i=0;i<8;i++) /*LED左移8次点亮*/{L=L>>1; /*L右移1位*/display();}}}五、实验心得通过这次实验我们熟悉了专用的调试环境,并练习了编写代码、编译链接、烧写程序、调试运行等一系列的实验步骤,对C51单片机有了一个初步的直观认识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
00111001
补码
10110010
实验报告表2-4二进制算术运算实验记录表
操作数一
操作数二
运算符
是否溢出
实验结果
正确结果
溢岀对结果产生
了什么影响?
26
45
+
否
71
71
结果正负及数值
均改变
96
121
+
是
-39
217
-78
69
-
是
109
-147
实验报告表2-5溢岀实验记录表
问题
简要回答
什么时候岀现溢岀情况?
最高存储位进位时发生溢岀情况。即超过8位数。
实验报告表2-6浮点数的小数点浮动实验记录表
十进制数
二进制数
3.14592653589793238462643383297
01000100100101010110110111000000
精度
28
有效位
3
表示范围
7~19
实验报考表2-7表示浮点数的二进制串中阶码位数改变实验记录表
实验二实验报告表
实验名称:
学号: 姓名:
实验报告表2-1数值型数据在计算机中的二进制实验记录表
十进制整数分类
输入十进制整数
内存整型数据
内存地址号
任意正整数
5
0000010100000000
00010001
00010002
任意负整数
-4
1111110011111111
00010003
00010004
最大数
32767
11111111011111111
00010005
00010006
最小数
-32768
000000001000000
00010007
0001000000
00010009
0001000A
绝对值最大数
-32768
0000000010000000
0001000B
25
6
63~22
0001000C
十进制实数分类
输入十进制实数
内存实型数据
尾数部分
阶码
阶码的数学表示
任意正实数
3.5
000000000110000001000000
00000000
1
任意负实数
-6.6
001100111101001111000000
00110011
1
最大数
99.9999
111111111100011101000010
实验报告表2-2其他进制数据与二进制转化实验记录表
其他进制
实验数据
二进制
十进制
23
1 0111
八进制
25
1 0101
十六进制
7A
111 1010
实验报告表2-3数据的原码、补码和反码表示实验记录表
正十进制数
57
负十进制数
-78
原码
00111001
原码
11001110
反码
00111001
反码
10110001
11110011
6
最小数
-99.9999
111111111100011111000010
11110011
6
绝对值最小数
0
000000000000000000000000
00000000
0
绝对值最大数
99.9999
111111111100011101000010
11110011
6
说明:本实验对计算机内存数据的存放拟定为:①整数用两个字节存储,并负数只考虑原码;②实数 用4个字节存储,其中阶码部分占一个字节。
阶码位数
二进制数
精度
有效位
表示范围
4
01000100100101010110110111000000
28
3
7~19
5
01000010010010101011011011100000
27
4
15~20
6
01000001001010101101101110000000
26
5
31~20
7
01000000100100101010110110111000