北京理工大学计算机实验七报告表
北京理工大学自动化专业微机原理硬件软件实验
北京理工大学自动化专业微机原理硬件软件实验------------------------------------------作者xxxx------------------------------------------日期xxxx微机原理与接口技术硬件实验报告班级:姓名:学号:实验一: 8259中断控制器实验一、实验目的1. 掌握8259的工作原理。
2. 掌握编写中断服务程序的方法。
3. 掌握初始化中断向量的方法。
二、实验内容用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。
三、实验设备微机实验教学系统实验箱、8086CPU模块四、连线①单脉冲发生器输出P+与8259的IR0相连②8259的片选CS8259与CS0相连③8259的INT与8086的INT相连④8259的INTA与8086的INTA相连⑤CS273与CS1相连⑥00与LED1相连其它线均已连好如下图:五、实验步骤(1)连线。
(2)编辑程序,编译链接后,调试程序。
(3)调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。
(4)撰写实验报告。
六、实验源程序CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART: MOV DX,4A0H ;写ICW1MOV AX,13HOUT DX,AXMOV DX,4A2H ;写ICW2MOV AX,80H ;IR0的中断向量码为80HOUT DX,AXMOV AX,01OUT DX,AX ;一般嵌套,非缓冲,非自动EOIMOV AX,0 ;写OCW1OUT DX,AX ;允许中断;中断向量存放在(0000H:0200H)开始的四个单元里MOV AX,0MOV DS,AXMOV SI,200H ;中断类型号为80HMOV AX,OFFSET HINT ;中断服务程序的入口地址MOV DS:[SI],AXADD SI,2MOV AX,CSMOV DS:[SI],AXSTI ;开中断,设置IF=1JMP $ ;原地跳转HINT: ;中断服务程序XOR CX,0FFH ;CX取反MOV DX,4B0H ;CS273接口的地址,与8个LED灯相连MOV AX,CX ;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的地址MOV AX,20H ;一般EOI命令,全嵌套方式OUT DX,AXIRET ;中断返回CODE ENDSEND START七、实验思考题1.将P+连线连接到IR1—IR7任意一个;重新编写程序。
北京理工大学计算机学院数据库开发实验报告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关键字设主键“记录编号”为自动增长。
北理大学计算机实验基础_实验七实验报告表教学提纲
红红的太阳像火球。闪闪的星星像眼睛。主要设备
束一束束一束束美丽的鲜花
(15)(地球爷爷)的手就是(地心)引力。
女女字旁(好妈奶)心心字底(想思念)短—长前—后明—暗男—女升—降功能或描述
例:小鸟一边飞一边叫。五拃甸小学普琼电脑
实验报告表7-4路由器是如何确定进行转发的下一跳路径的
路由器IP
目标网络
子网掩码
路由节点地址
A
106.17.22.1
255.255.255.0
122.12.18.3
208.5.5.0
255.255.255.0
122.12.18.3
207.113.21.1
255.255.255.0
11.45.2.4
B
例一、寸过(过去);巴口吧(来吧)。实验七实验报告表
例:李老师正忙着改作业呢!实验名称:广域网通信与邮件传输
碧绿碧绿的叶子(小草、菜地)雪白雪白的雪花(浪花、梨花、贝壳)(14)自己学会(生活)的本领,才能成为(真正)的狮子。学号姓名班级:实验时间:
3、加偏旁组字,再组词。
一(条)彩虹一(堆)杏一(朵)花一(只)鸟
208.5.5.0
255.255.255.0
112.12.45.3
106.17.22.0
255.255.255.0
112.12.45.3
209.113.21.0
255.255.255.0
21.22.1.5
C
145.13.21.0Hale Waihona Puke 255.255.255.0
145.12.21.3
255.255.255.0
北京理工大学数据结构实验报告1
《数据结构与算法统计》实验报告 学院: 班级: 学号: 姓名:一、实验目的 1.熟悉VC++6.0环境,学习使用C++实现链表的存储结构; 2.通过编程,上机调试,进一步理解线性表、链表、环表的基本概念。
二、实验内容采用单向环表实现约瑟夫环。
请按以下要求编程实现:① 从键盘输入整数m,通过create函数生成一个具有m个结点的单向环表。
环表中的结点编号依次为1,2,......,m。
② 从键盘输入整数s(1<=s<=m)和n,从环表的第s个结点开始计数为1,当计数到第n个结点时,输出该第n结点对应的编号,将该结点从环表中消除,从输出结点的下一个结点开始重新计数到n,这样,不断进行计数,不断进行输出,直到输出了这个环表的全部结点为止。
例如,m=10,s=3,n=4。
则输出序列为:6,10,4,9,5,2,1,3,8,7。
三、程序设计1、概要设计应用单向环表寄存数字序列。
⑴单向环表的抽象数据类型线性表的定义如下:ADT LinkList {数据对象:D = { ai | ai ?ElemSet, i=1,...,n,n≥0 }数据关系:R1 = { <ai-1, ai> | ai-1,ai ?D, i=2, ...,n }基本操作:Creat(LinkList &L,int m)操作结果:构造一个有m个结点的单向环表L。
found(LinkList L,int s)初始条件:单向环表L已经存在。
操作结果:找到单向环表L的第s个结点。
ysf(LinkList h,int n) 初始条件:单向环表L已经存在,且本次查找的起始结点h已找到。
操作结果:进行约瑟夫环的计算并输出相应值。
} ADT LinkList⑵主程序流程主程序首先调用Creat(LinkList &L,int m)函数,创建含有m个结点的单向环表L;再调用found(LinkList L,int s)函数查找第s个结点;最后调用ysf(LinkList h,int n)函数,进行约瑟夫环的计算并在屏幕上显示计算结果。
北京理工大学ZHZH
北京理工大学微机原理与接口技术实验报告实验内容:微机原理综合设计组别:姓名:班级:学号:一、实验目的1.利用所学知识设计简单计算器。
二、实验内容利用8255控制试验箱上的键盘,实现2位十进制数以内的加减乘除运算,将运算结果通过8250发送到上位机。
键盘为10个数字键0-9,六个功能键 +、-、*、/、=、复位。
三、实验方法1.设计思路⑴.根据题目要求首先应该实现试验箱上的键盘扫描功能,计算按下键码的键值(键值检测中应该加入相应的延时程序以达到精确扫描的目的)。
再进行加减乘除算数运算,通过8250芯片发送到上位机,利用串口小助手实现算数。
2.实验程序流程图。
四、实验源程序(必要的文字注释)初始化按键闭合? 开始按键扫描保存键值 进行算数运算按键恢复? 输出结果结束NN Y Y1.简单计算器程序。
ASSUME CS:CODECODE SEGMENTORG 100HSTART: MOV DX,04A6H ;控制寄存器地址MOV AX,90H ;设置为A口输入,;B口输出,C输出OUT DX,AX ;8255初始化MOV AX,0MOV DS,AXAAA: MOV DI,2000HMOV CX,10CCC1: MOV DS:[DI],0INC DILOOP CCC1MOV DI,2000HMOV DX,486HMOV AX,80HOUT DX,AXMOV DX,480HMOV AX,12OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,486HMOV AX,7OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,48AHIN AX,DXMOV DX,480HIN AX,DXCHECK0: ;CHECK0检测是否有健被按下MOV AX,OOH ;C口的PC0、PC1、PC2作为行选择线MOV DX,04A4H ;C口地址OUT DX,AX; 写入C口内容00H,即令所有行为低电平MOV DX,04A0H ;A口地址IN AX,DX ;读入A口的内容CMP AL,OFFH ;判定是否有列线为低电平JE CHECK0 ;没有,无闭合键,则循环等待MOV CX,05FFH ;延迟常数,可以修改来改变延时时间DELAY:LOOP DELAY ;有,则延迟清除抖动,当cx=0时则停止该循环行扫描键盘和列扫描键盘,确定被按键的行值和列值MOV CL,3 ;行数MOV AH,0MOV AL,0FBH ; 0fbh=1111 1011BCONTIN: PUSH AL ;将ax的内容(0fbh)入栈保存MOV DX,04A4H ;C口地址OUT DX,AL ;写入C口内容0fbh=1111 1011B,即将第三行置为低电平MOV DX,04A0H ;A口地址IN AL,DX ;读入A口的内容MOV AH,AL ;将A口的内容送入ahCMP GH,0FFH ;判断是否有列线为低电平JNE NEXT ;比较结果不等于0则转移,即有列线为低电平POP AX ; 比较结果等于0,即没有列线为低电平,(ax)=00fbhROR AL,1 ; fbh(1111 1011B)循环右移,(al)=1111 1101检测下一行LOOP CONTIN ;循环扫描下一行,确定行JMP CHECK0 ;若所有行都没有被按下,则返回check0重新检测NEXT: MOV CH,CL ;保存行值至chMOV CL,7 ;列值从0开始编号0-7BEGIN0: SHL AH,1 ; ah为A口的内容,逻辑左移1位,末位补0 JNC GOON ;无进位则转移,即可确定列LOOP BEGIN0 ;继续循环,确定列JMP CHECK0GOON: ;计算显示码在discode中的位置:(行数-1)*8 +列值MOV BL,CL ;保存列值至BLDEC CH ;行数减1MOV CL,3SHL CH,CL ;左移三位即相当于减1之后的行数*8ADD DL,CH ;确定显示码在discode表中的偏移量,即(行数-1)*8+列值MOV BH,0MOV CX,BX ;显示码在discode表中的偏移量送CXDISPLAY: ;显示输出MOV SI, OFFSET DISCODEADD SI,CX ;显示码偏移地址MOV DX,040AH ;C口地址MOV AL,0FHOUT DX,AL ;写入C口内容,使位控(LED1)有效MOV AL,CS:[SI] ; 取被按键的显示字形码送入al MOV DX,04A2H;B口地址OUT DX,AL ; 将显示字形码送B口输出显示NOPNOPCMP AL,3fhJNZ L1MOV AH,0JMP NEXT1L1: ;定义键码子程序L1CMP AL,06hJNZ L2MOV AH,1JMP NEXT1L2: ;定义键码子程序L2CMP AL,5bhJNZ L3MOV AH,2JMP NEXT1L3: ;定义键码子程序L3CMP AL,4fhJNZ L4MOV AH,3JMP NEXT1L4: ;定义键码子程序L4CMP AL,66hJNZ L5MOV AH,4JMP NEXT1L5: ;定义键码子程序L5CMP AL,6dhJNZ L6MOV AH,5JMP NEXT1L6: ;定义键码子程序L6CMP AL,7dhJNZ L7MOV AH,6JMP NEXT1L7:CMP AL,07hJNZ L8MOV AH,7JMP NEXT1L8: ;定义键码子程序L8 CMP AL,7fhJNZ L9JMP NEXT1L9:CMP AL,6fh ;AL与6FH比较JNZ L10 ;若ZF=0则存入L10中MOV AH,9JMP NEXT1L10:CMP AL,77hJNZ L11MOV AH,10JMP NEXT1L11:CMP AL,7chJNZ L12MOV AH,11JMP NEXT1L12:CMP AL,39hJNZ L13MOV AH,12JMP NEXT1L13:CMP AL,5ehJNZ L14MOV AH,13JMP NEXT1L14:CMP AL,79hJNZ L15JMP NEXT1L15:CMP AL,71hJMP AAANEXT1:MOV DS:[DI],AHINC DICMP DI,2004HCALL DELAY1JE ACLTJMP CHECK0ACLT:MOV AX,0MOV DX,0MOV DI,2000H ;将2000H送入DIMOV AL,DS:[DI] ;将DS:[DI]的地址送入AL MOV DL,DS:[DI+2]MOV BL,DS:[DI+1]CMP BL,10JNZ K1ADD AL,DLPUSH AX ;将AX压栈JMP LOOP1 ;转移到LOOP1地址K1:CMP BL,11JNZ K2SUB AL,DLPUSH AXJMP LOOP1K2:CMP BL,12JNZ K3MUL DLPUSH AXJMP LOOP1K3:CMP BL,13JNZ LOOP1DIV DLPUSH AXJMP LOOP1PPP:LOOP1:CALL DELAY1CALL SENDJMP KKKDELAY1: ;延时子程序MOV CX,0FFFFHLLL:LOOP LLLRETSEND:PUSH AXMOV DX,48AHSEND1:IN AX,DXJNZ SEND2JMP SEND1SEND2:POP AXMOV DX,480HOUT DX,ALRETKKK:JMP CHECK0DISCODE DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h;(0-7);定义各键码DB 7fh,6fh,77h,7ch,39h,5eh,79h,71h ;(8-F)DB 01h,02h,04h,08h,10h,20h,40h,80h;(abcdefgh);显示字形码表CODE ENDS ;代码段结束END START ;程序段结束五.实验结果简单计算器1位十进制实验结果截图。
北京理工大学数据结构实验报告选作1
《数据结构与算法统计》实验报告学院:班级:学号:姓名:一、实验目的1.熟悉VC++6.0环境,学习使用C++实现链表的存储结构;2.通过编程,上机调试,进一步理解线性表、链表的基本概念。
二、实验内容归并顺序表(选作)。
请按以下要求编程实现:①从键盘输入两个升序排列的整数序列linka和linkb,每个序列以输入0为结束标记。
②将链表linka和linkb归并为linkc,linkc仍然为升序排列。
归并完成后,linka和linkb为空表。
输出linkc。
③对linkc进行处理,保持升序不变,删除其中重复的整数,对重复的整数只保留一个,输出删除重复整数后的链表。
例如:linka输入为:10 20 30 40 50 0linkb输入为:15 20 25 30 35 40 45 50 0归并后的linkc为:10 15 20 20 25 30 30 35 40 40 45 50 50删除重复后的linkc为:10 15 20 25 30 35 40 45 50三、程序设计1、概要设计说明程序的主要功能,主程序的流程以及各个程序模块之间的调用关系,给出主要流程图。
应用单链线性表寄存数字序列。
⑴单链线性表的抽象数据类型线性表的定义如下:ADT LinkList {数据对象:D = { ai | ai ∈ElemSet, i=1,…,n,n≥0 }数据关系:R1 = { <ai-1, ai> | ai-1,ai ∈D, i=2, …,n }基本操作:Creat(LinkList &L)操作结果:构造单链线性表L。
MergeList(LinkList &La,LinkList &Lb,LinkList &Lc)初始条件:单链线性表La,Lb,Lc已经存在。
操作结果:归并La,Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列。
Delete(LinkList &L)初始条件:链表L已经存在。
北京理工大学实验七实验报告表
1
电脑(IP:10.7.1.6)将邮件发送给路由器A
2
路由器A传送给路由器B
3
路由器B传送给路由器D
4
路由器D发送给邮件服务器(IP:209.113.21.1)
5
6
7
实验报告表7-4路由器是如何确定进行转发的下一跳路径的
路由器IP
目标网络
子网掩码
路由节点地址
A
106.17.22.0
步骤
操作或过程描述、所涉及设备
1
由电脑发送给路由器A
2
路由器A传给路由器N
3
路由器N发送给DNS服务器(IP:106.17.22.1)
DNS服务器解析域名,得到邮件服务器的IP地址
5
DNS服务器发送给路由器N
6
路由器N传给路由器A
7
路由器A发送给电脑
实验报告表7-3数据在网络中的IP路由通讯过程
步骤
255.255.255.0
112.12.18.3
10.7.1.0
255.255.255.0
10.7.1.3
208.5.5.0
255.255.255.0
112.12.18.3
B
106.17.22.0
255.255.255.0
112.12.45.3
10.7.1.0
255.255.255.0
11.45.2.5
实验七实验报告表
实验名称:
学号姓名班级:实验时间:
实验报告表7-1网络中实现通信互联的主要设备和其功能
主要设备
功能或描述
电脑
查看、编辑、发送邮件
路由器
连接网络
DNS服务器
北京理工大学-计算机网络实践-IP路由配置与路由协议分析实验报告
LAB2 IP路由配置与路由协议分析一、实验目的:•理解路由协议的分类•掌握静态路由的配置方法•掌握RIP协议的配置方法二、实验内容:•在路由器/三层交换机上依次配置静态路由、默认路由和RIP协议,然后分别用ping命令测试网络的连通性•配置路由器运行OSPF协议,运行Ethereal截获协议报文进行分析三、实验环境:•MSR20-40路由器1台,S3600交换机1台,计算机2台,标准网线5根,console线2条•每4人一组,共同协作完成本实验,并提交实验报告四、实验任务分配我负责在PC机上控制路由器、交换机的“超级终端”中输入命令。
五、实验步骤:步骤一、按组网配置图,连接设备这个步骤主要完成将2台计算机连接到交换机上,并确定作为“主机”的计算机。
然后在Console口连接的计算机上运行超级终端程序,进入用户视图显示。
配置命令如下:•<H3C>system-view•[H3C]sysname S1•[S1]VLAN 2•[S1-VLAN 2]port e 1/0/1 e 1/0/2•[S1-VLAN 2]quit•[S1]VLAN 3•[S1-VLAN 3]port e 1/0/3 to e 1/0/4•[S1-VLAN 3]quit步骤二、配置S3600交换机的VLAN2和VLAN3,配置路由器的接口ip地址和子网掩码,配置计算机的ip地址和子网掩码,以及默认网关。
⏹[S3610]inter VLAN 2⏹[S3610-VLAN-interface1]ip address 192.168.2.1 255.255.255.0⏹[S3610]inter VLAN 3⏹[S3610-VLAN-interface2]ip address 192.168.3.1 255.255.255.0⏹<H3C>system-view //进入系统视图⏹[H3C]sysname R1 //将系统改名为R1⏹[R1]Inter e 0/1⏹[R1-Ethernet] ip addr 192.168.3.2 255.255.255.0网络拓扑图如图所示:图1 网络拓扑图步骤三、观察路由器的路由表, 测试R1到各台计算机的连通性•同一VLAN内可以ping通。
算机实验基础实验报告表答案
算机实验基础实验报告表答案计算机实验基础实验报告表答案一、实验目的本次计算机基础实验的目的在于让我们熟悉计算机的基本操作,掌握常用软件的使用方法,培养我们的动手能力和问题解决能力,为今后更深入地学习计算机知识和应用打下坚实的基础。
二、实验环境本次实验在学校的计算机实验室进行,实验室配备了性能良好的计算机,安装了 Windows 操作系统以及 Office 办公软件、编程语言开发环境等常用工具。
三、实验内容与步骤(一)Windows 操作系统基本操作1、启动与关闭计算机按下主机电源按钮,等待计算机启动,出现 Windows 登录界面。
输入用户名和密码,登录到 Windows 操作系统。
点击“开始”菜单,选择“关机”选项,关闭计算机。
2、桌面操作熟悉桌面的组成元素,如图标、任务栏等。
右键单击桌面空白处,选择“个性化”,更改桌面背景、屏幕保护程序等设置。
拖动桌面上的图标,调整其位置。
3、窗口操作打开“我的电脑”窗口,熟悉窗口的组成部分,如标题栏、菜单栏、工具栏等。
练习窗口的最大化、最小化、还原和关闭操作。
拖动窗口边框,调整窗口大小。
切换多个打开的窗口,使用任务栏进行窗口的切换。
(二)Word 文档编辑1、新建 Word 文档点击“开始”菜单,选择“Microsoft Word”,打开 Word 应用程序。
在 Word 界面中,点击“新建空白文档”按钮,创建一个新的 Word 文档。
2、文字输入与编辑在文档中输入一段文字,如一篇短文或一段说明。
使用“Backspace”和“Delete”键删除错误的文字。
选中文字,进行字体、字号、颜色、加粗、倾斜等格式设置。
使用“复制”、“粘贴”和“剪切”命令,对文字进行移动和复制操作。
3、段落排版选中一段文字,设置段落的对齐方式,如左对齐、居中对齐、右对齐等。
设置段落的缩进方式,如首行缩进、悬挂缩进等。
调整段落的行距和段间距,使文档排版更加美观。
4、页面设置点击“页面布局”选项卡,设置页面的大小、方向(纵向或横向)、页边距等。
北京理工大学自动化专业微机原理软件实验报告
微型计算机原理与接口技术软件实验报告班级:姓名:学号:实验一一.实验题目1、学习并掌握IDE86集成开发环境的使用;2、参考书例4-8,以单步形式观察程序的执行过程;3、修改该程序,求出10个数中的最大值和最小值。
以单步形式观察如何求出最大值、最小值。
二.实验目的1、熟悉IDE86集成开发环境的使用。
2、通过编程、上机调试,进一步理解汇编语言的设计思路与执行过程。
3、锻炼动手编程,独立思考的能力。
三.实验内容1、题目1的设计思路及流程图a.设计思路为实现求和的功能,首先将十个数存入内存中,设定AX为计算结果存储单元,CX为计数器,随后建立循环,将每个数依次加到AX上,直至CX=0,最后将AX中存储的结果移动到SUM存储单元中,结束程序。
b.流程图2、题目3设计思路及流程图a.设计思路为实现求取最大值最小值的功能,首先将十个数存入内存中,设定CX为计数器,将第一个数分别存入到MAX与MIN储存单元中,随后建立循环,将每个数依次与MAX(MIN)相比较,如果有大于(小于)MAX(MIN)中的,移入相应存储单元,直至CX=0。
最后将MAX和MIN中存储的数据打印在屏幕上,返回DOSb.四.实验源程序a.题目2源程序DATA SEGMENT ;定义数据段TABLE DB 12H,23H,34h,45h,56h ;10个加数DB 67H,78H,89H,9AH,0FDHSUM DW ?DATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AX ;初始化DSMOV ES,AX ;初始化ESLEA SI,TABLE ;SI指向TABLEMOV CX,10 ;循环计数器XOR AX,AX ;AX为中间结果NEXT: ADD AL,[SI] ;把一个数加到AL中ADC AH,0 ;若有进位,则加到AH中INC SI ;指向下一个数LOOP NEXT ;若未加完,继续循环MOV SUM,AX ;若结束,存结果于SUMHLT ;结束CODE ENDS ;代码段结束ENDSTART ;汇编结束b.题目3源程序DATA SEGMENT ;定义数据段TABLE DB 12H,23H,34h,45h,56h ;十个待比较数DB 67H,78H,89H,9AH,0FDHMAX DB ?MIN DB ?A DB 'Max:','$' ;屏幕提示字符串B DB 0DH,0AH,'Min:','$'DATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AX ;初始化DSMOV ES,AX ;初始化ESLEA SI,TABLE ;SI指向TABLEMOV CX,10 ;循环计数器XOR AX,AX ;清空AXCLD ;清方向标志DFLODSB ;AL存入一个8位数MOV MAX,AL ;将该数送MAXMOV MIN,AL ;将该数送MINDEC CX ;计数器减一NEXT: LODSB ;取下一个数CMP AL,MAX ;与MAX比较JA LARGER ;若大于转LARGERCMP AL,MIN ;否则与MIN比较JB SMALLER ;若小于转SMALLERJMP GOON ;否则转GOONLARGER:MOV MAX,AL ;AL的值存入MAX JMP GOON ;转到GOONSMALLER:MOV MIN,AL ;AL的值存入MINGOON: LOOP NEXT ;CX-1,若CX≠0转NEXTLEA DX,A ;获取A的首地址MOV AH,09H ;调用字符串显示功能INT 21HMOV AL,MAX ;MAX值存入ALCALL DISPLAY ;调用显示子程序LEA DX,B ;获取B的首地址MOV AH,09H ;调用字符串显示功能INT 21HMOV AL,MIN ;MIN值存入ALCALL DISPLAY ;调用显示子程序MOV AH,4CH ;调用返回DOS功能INT 21HDISPLAY PROC ;十六进制显示子程序PUSH BX ;保持BX内容PUSH CX ;保持CX内容MOV BH,ALMOV CH,2 ;设置循环计数器ROT: MOV CL,4 ;移位次数ROL BX,CLMOV AL,BLAND AL,0FH ;清空AL高四位ADD AL,30H ;0-9转换ASCII码CMP AL,3AHJL PRITADD AL,7H ;A-F转换ASCII码PRIT:MOV DL,ALMOV AH,2 ;调用字符显示功能INT 21HDEC CH ;计数器-1JNZ ROT ;CH≠0,继续循环POP CX ;恢复CX内容POP BX ;恢复BX内容RET ;返回DISPLAY ENDPCODE ENDS ;代码段结束ENDSTART ;结束五.实验运行结果a.题目2运行结果前五个数运算结束后寄存器状态:图3 前五个数计算后寄存器状态其中ax值为图4 前五个数计算后AX的值故此时前五个数之和为0104H。
北京理工大学数字系统与设计实验报告
本科实验报告实验名称:数字系统设计与实验(软件部分)实验一QuartusII 9.1软件的使用一、实验目的1、通过实现简单组合逻辑电路,掌握QUARTUSII 9.1软件的使用;2、编程实现3-8译码电路以掌握VHDL组合逻辑的设计以及QUARTUSII 9.1软件的使用。
;二、实验内容1、3-8译码电路VHDL组合逻辑的设计A、3-8译码电路真值表B、功能仿真波形图:C、时序仿真波形图:D、VHDL代码library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity decoder3_8 isport(en:in std_logic;sel:in std_logic_vector(2 downto 0);qout:out std_logic_vector(7 downto 0)); end decoder3_8;architecture beha of decoder3_8 issignal sina_in:std_logic_vector(2 downto 0); signal sina_out:std_logic_vector(7 downto 0);beginsina_in<=sel;process(sina_in,en)beginif(en='0')thencase sina_in iswhen"000"=>sina_out<="00000001";when"001"=>sina_out<="00000010";when"010"=>sina_out<="00000100";when"011"=>sina_out<="00001000";when"100"=>sina_out<="00010000"; when"101"=>sina_out<="00100000"; when"110"=>sina_out<="01000000"; when"111"=>sina_out<="10000000"; when others=>sina_out<="00000000"; end case; end if; qout<=sina_out; end process; end beha;2、共阳极七段译码器VHDL 组合逻辑的设计A 、共阳极七段译码器管脚分布及电路结构abcdefg如下如所示:显示0时,a,b,c,d,e,f 管脚接低电平,g 管脚接高电平点亮的二极管会显示数字0 。
北理(bit)微机原理上机软件实验报告
微机原理软件编程实验报告班级:学号:姓名:一、实验题目1、IDE86集成开发环境的学习和运用2、编写程序求出10个数中的最大值和最小值,并以单步形式观察如何求出最大值、最小值。
3、求1到100 的累加和,并用十进制形式将结果显示在屏幕上。
要求实现数据显示,并返回DOS状态。
4、将存储器中的十个字节型十六进制有符号数按从小到大的顺序排序并按十六进制显示出来。
(56H、0ffH、78H、82H、12H、0、95H、58H、0bcH、34H)二、实验目的1、学习并掌握IDE86集成开发环境的使用包括编辑、编译、链接、调试与运行等步骤编辑:源程序的输入、修改。
编译:常见编译出现的语法错误的修改。
连接:形成可执行文件。
运行:运行、断点设置、单步运行、单步跟踪;观察寄存器、标志寄存器值;观察数据存储器中的数据。
2、完成所有题目,提高编程能力,加深对理论课的理解。
三、实验内容1、文字叙述设计思路1.1编写程序求出10个数中的最大值和最小值由于一共有十个数,所以求其最大数或者最小数需要比较9次。
从数据段的段首开取数,先取两个数进行比较,比较完后取其中的最大数或者最小数放入数据段的第二位中。
再取第三位数与第二位数比较,如此循环,比较9次后在数据段最末位的就是我们需要的数。
1.2求1到100 的累加和,并用十进制形式将结果显示在屏幕上求和部分:1~100一共有100个数,所以需要做100次加法。
做加法要有两个数,第一个数是第i位的数值,第二个数是i-1位以及之前所有数的和,所以这两个数必须分别存放在两个寄存器里,并且两个数相加之后的所得的值,必须放在存放“和”的寄存器中,另外一个寄存器每做完一次加法自加1。
显示部分:我们所求得的最终数值在内存中是以16进制数存放的,但是由于结果只是一个数,我们可以把它的每一位所对应的ASCII码按照一定的顺序存放到一个数据段中,再以字符串形式直接输出。
1.3将存储器中的十个字节型十六进制有符号数按从小到大的顺序排序并按十六进制显示出来比较部分:题目一共给了我们10个数,如果要进行排序的话可以先把十个数中最大的数选出来,放到数据段的最后一个位置,接着再选出次大的数放到数据段的倒数第二位,如此循环到最后便可成功将所给的十个数排序好。
北理大学计算机实验基础-实验二-实验报告表答案
实验二实验报告表
实验名称:
学号姓名:班级:实验时间:
实验报告表2-1 数值型数据在计算机中的二进制实验记录表
说明:本实验对计算机内存数据的存放拟定为:①整数用两个字节存储,并负数只考虑原码;②实数用4个字节存储,其中阶码部分占一个字节。
!
实验报告表2-2 其他进制数据与二进制转化实验记录表
实验报告表2-3 数据的原码、补码和反码表示实验记录表
,
实验报告表2-4 二进制算术运算实验记录表
实验报告表2-5溢出实验记录表
|
实验报告表2-6浮点数的小数点浮动实验记录表
实验报考表2-7 表示浮点数的二进制串中阶码位数改变实验记录表。
北京理工大学数据结构实验报告 简易计算器(二叉树)
数据结构实验报告三——简易计算器(二叉树)姓名:任子龙学号:1120140167 班级:05111451一、需求分析(1)问题描述由键盘输入一算术表达式,以中缀形式输入,试编写程序将中缀表达式转换成一棵二叉表达式树,通过对该二叉树的后序遍历求出计算表达式的值。
(2)基本要求a.要求对输入的表达式能判断出是否合法,不合法要有错误提示信息。
b.将中缀表达式转换成二叉表达式树。
c.后序遍历求出表达式的值。
(3)数据结构与算法分析一棵表达式树,它的树叶是操作数,如常量或变量名字,而其他的结点为操作符。
a.建立表达式树。
二叉树的存储可以用顺序存储也可用链式存储。
当要创建二叉树时,先从表达式尾部向前搜索,找到第一个优先级最低的运算符,建立以这个运算符为数据元素的根结点。
注意到表达式中此运算符的左边部分对应的二叉绔为根结点的左子树,右边部分对应的是二叉绔为根结点的右子树,根据地这一点,可用递归调用自己来完成对左右子树的构造。
b.求表达式的值。
求值时同样可以采用递归的思想,对表达式进行后序遍历。
先递归调用自己计算左子树所代表的表达式的值,再递归调用自己计算右子树代表的表达式的值,最后读取根结点中的运算符,以刚才得到的左右子树的结果作为操作数加以计算,得到最终结果。
(4)测试a.加减运算输入:6+9-5 输出:10b.乘除运算输入:5.6*2.7/2 输出:7.56c.四则混合运算输入:(2+3)*8-3/2 输出:23.5d.非法输入输入:(5+6(*5 输出:括号不匹配!1.2问题分析与之前利用栈实现计算器功能不同,本实验采取的方法是:将中缀表达式转换成一棵二叉表达式树,通过对该树的后序遍历求出计算表达式的值。
所以,实验的重点是如何“将中缀表达式转换成一棵二叉表达式树”;如上图所示,该二叉表达式树表示的是计算式(5+2)*3。
可以看出,操作数均为叶子结点,其它结点为操作符;构建二叉树的整体思路是:(1)将中缀表达式转化为后缀表达式;(2)利用(1)中的后缀表达式,在此基础上构建二叉表达式树。
北京理工大学微机原理实验报告
微机原理与接口技术实验报告实验内容:汇编语言程序设计实验组别:12姓名:班级:学号:一、实验目的1、熟悉IDE86集成开发环境的使用。
2、通过编程、上机调试,进一步理解汇编语言的设计思路与执行过程。
3、熟悉DOS命令调用,以达到输入输出、返回DOS系统等目的。
4、掌握利用汇编实现求和与求最值的方法。
5、掌握利用汇编实现数制转换的方法。
6、巩固理论知识,锻炼动手编程,独立思考的能力。
二、实验内容(具体内容)1、求从TABLE开始的10个无符号字节数的和,并将结果放在SUM字单元中。
并查看前5个,前8个数之和以及各寄存器和内存的状态。
2、在1的基础上修改程序,求出10个数中的最大值和最小值,最后将最大最小值分别赋给MAX及MIN。
3、求1到 100 的累加和,并用十进制形式将结果显示在屏幕上。
要求实现数据显示,并返回DOS状态。
三、实验方法1、设计思路(1)实验1的设计思路:先将10个要相加的数存在以TABLE为首的10个连续的存储单元中,然后利用循环结构依次取出数值放在AL中并累加,若有进位则加到AH中直至循环10次累加结束,将累加的结果放在SUM中并返回DOS状态。
(2)实验2的设计思路:先将10个要比较的数放在以TABLE为首的10个连续的存储单元中。
将第一个数首先赋给AL和AH(分别存储相对最小和最大值)在利用LOOP循环结构,依次和下面的数进行比较,每次把相对的最大值与最小值存储到AH和AL中直至循环9次比较结束,将AH和AL里面的最大值与最小值赋给MAX和MIN,返回DOS状态(3)实验3的设计思路:先在内存中定义COUNT=100,表示1-100求和,若相求1-n的和并显示只需COUNT的值为n即可,同时定义一块以DNUM为首地址的数据区用于存储累加和的十进制数对应的ASCII码。
先利用AX和LOOP求出1-COUNT的累加和存在AX中;在进行数值转化,AX 依次除10取余数保存,将16进制数转化为10进制ASCII码值并存在DUNM中。
大学大学计算机实验报告实验报告
大学计算机实验报告实验一:计算器设计实验目的本实验的主要目的是让学生能够够了解计算器的基本原理和结构,学会利用各种键盘实现各类功能,并且能够熟练掌握计算器的基本操作和输入语法。
同时,在本实验过程中,学生还可以通过实践发现计算机中各种错误信息,加深对计算机错误处理的认识与理解。
实验内容本实验主要涉及以下内容:1.计算器的结构和原理。
2.利用各键盘实现计算器的各种功能。
3.计算器的基本操作和输入语法。
4.计算机错误的处理与研究。
实验步骤1.分析计算器的结构和原理,写出计算器的结构图和研究计算器基本原理。
2.编写程序,实现计算器的基本功能,包括加、减、乘、除、取模、求幂等。
3.研究计算器的基本操作,包括输入数字、符号、运算结果、清除结果、重置操作等。
4.记录计算过程、错误信息等,深化对计算机错误的认识与理解。
实验数据分析在本次实验过程中,我们实现了计算器的基本功能,并且也对计算器的基本操作有了更深入的了解。
在输入数字和符号时,我们需要按照一定的语法和操作,输入符号和数字的结构相对比较简单,重要的是输入语法,比如加号+,减号-,乘号*,除号/等等。
在进行计算器功能操作的过程中,我们还需要对计算过程进行记录,以便在出现错误时及时进行处理和分析,比如出现除数为零的情况,计算过程出现错误的信息等等。
实验总结通过本次实验,我们深入了解了计算器的基本结构和原理,掌握了计算器的基本操作和输入语法,加深了对计算机错误处理的认识与理解。
在今后的学习和实践中,我们将进一步完善和扩展计算器的功能,并且不断探索计算器在计算机应用中的广泛应用价值。
北理大学计算机实验基础_实验七实验报告表
经路由器B传到路由器D
7
经路由器D传到邮件服务器
8
由邮件服务器发出邮件
实验报告表7-4路由器是如何确定进行转发的下一跳路径的
路由器IP
目标网络
子网掩码
路由节点地址
A
106.17.22.1
255.255.255.0
122.12.18.3
208.5.5.0
255.255.255.0
122.12.18.3
1
电脑/发送邮件/IP:10.7.1.6
2
路由器A传到路由器B
3
路由器B传到路由器D
4
路由器传到邮件服务器
5
6
7
实验报告表7-3数据在网络中的IP路由通讯过程
步骤
操作或过程描述、所涉及设备
1
电脑/输入邮件内容并发送
2
到DNS服务器
4
由DNS服务器发出
5
经路由器N传到路由器B
145.12.21.3
255.255.255.0
255.255.255.0
D
209.113.21.0
255.255.255.0
209.113.21.1
255.255.255.0
255.255.255.0
实验七实验报告表
实验名称:广域网通信与邮件传输
学号姓名班级:实验时间:
实验报告表7-1网络中实现通信互联的主要设备和其功能
主要设备
功能或描述
电脑
查看、编辑、发送邮件
DNS服务器
为网络提供域名
路由器
连接网络
邮件服务器
负责电子邮件收发管理的设备
实验报告表7-2域名解析的IP路由通讯的过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七实验报告表
实验名称:广域网通信与邮件传输
学号:姓名:班级:实验时间:
实验报告表7-1网络中实现通信互联的主要设备和其功能主要设备功能或描述
电脑查看、编辑、发送邮件
DNS服务器为网络提供域名
路由器连接网络
邮件服务器负责电子邮件收发管理的设备
实验报告表7-2域名解析的IP路由通讯的过程步骤操作或过程描述、所涉及设备
1电脑/发送邮件/IP:10.7.1.6
2路由器A传到路由器B
3路由器B传到路由器D
4路由器D传到邮件服务器
实验报告表7-3数据在网络中的IP路由通讯过程步骤操作或过程描述、所涉及设备
1电脑/输入邮件内容并发送
2经路由器A传到路由器N
3经路由器N传到DNS服务器
4由DNS服务器发出
5经路由器N传到路由器B
6经路由器B传到路由器D
7由路由器D传到邮件服务器
由邮件服务器发出邮件
实验报告表7-4路由器是如何确定进行转发的下一跳路径的路由器IP目标网络子网掩码路由节点地址A106.17.22.1255.255.255.0122.12.18.3
208.5.5.0255.255.255.0122.12.18.3
207.113.21.1255.255.255.011.45.2.4 B208.5.5.0255.255.255.0112.12.45.3
106.17.22.0255.255.255.0112.12.45.3
209.113.21.0255.255.255.021.22.1.5 C145.13.21.0255.255.255.0145.12.21.3
255.255.255.0
255.255.255.0
D209.113.21.0255.255.255.0209.113.21.1
255.255.255.0
255.255.255.0。