计算机硬件基础实验报告.docx
《计算机硬件基础实验报告.docx》由会员分享,可在线阅读,更多相关《计算机硬件基础实验报告.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机硬件基础实验报告指导教师:姓名: 班级: 学号:实验一:运算器实验第3页实验二:存储器读写实验第6页实验三:数据通路实验 实验五:TEG-G1模型计算机(微程序控制器)测试一实验四:微程序控制器试验实验四:微程序控制器试验第10页第12页实验六:TEG-G1模型计算机(硬连线控制器)测试一第14页实验七:程序调试BEDUG实验第16页实验八:内存操作数及寻址方法实验第18页附录部分:第20页实验七调试程序DEBUG实验手册实验八内存操作数及寻址方法实验手册.熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。1 .掌握数据在内存中的存放方式和内存操作数的几种寻址方式。2 .掌握简单指
2、令的执行过程。二、实验原理:请将相应的信息写在对应的语句旁(用注释方式):求两数和程序与两数多字节加减法程序:MOV MOV MOV MOV MOV INC MOV DEC MOV MOV MOV MOVAX, 12341000, AXBX, 1002BYTE PTRBX,20DL, 39BXBX, DLDLSI, 3BX+SI,DLBX+SI+1,DLWORD PTRBX+S1+2, 2846用A命令输入上述程序,并用T命令逐条运行。每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容,注明是 什么寻址方式。注意:D命令显示结果中右边的Ascii字符及双字节数存放法。MOV
3、MOVSUBLOP: ADDADCINCBX,1000CX, 10 AX, AX AL, BX AI1,O BX求累加和程序:J: LOOP LOPINT3用A命令将程序输入到100H开始的内存中,在输入时记下标号LOP和J的实际地址,在 输入LOOP指令时LOP用实际地址值代替。用命令N AA将此程序命名为文件AA (文件名可任取)。用R命令将BX: CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。用命令w 100将此程序存到AA命名的磁盘文件中。用命令Q退出DEBUGo用命令DEBUG AA再次调入DEBUG和文件AA,可用u命令检查调入程序。若调入DEBUG时 忘了加AA文件
4、名,可用N命令和L命令将文件调入。用E命令在内存地址1000H处输入16个数字。用命令G100J (J用实际地址代替),使程序运行并停在断点J上,检查AX和BX的值是 否符合估计值。用T命令运行一步,观察程序方向(IP值)和CX值是否与估计一样,若不一样,检查程 序是否有错。重复G、J与T命令,再检查AX的值是否正确。先用G命令使程序运行到结束,检查AX的值是否正确。(3)求多个多字节数据的加法程序:MOV DI,1000NOV CX,MOV SI,2000CLCLOP:MOV AL, SIADC DI, ALINC SIINC DILOOP LOPINT 20用A命令输入此程序。用E命令在1
5、000H开始处输入一个8B被加数,在2000H开始处输人一个8B加数,均为低 字节在前面。用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?将INT 20H指令改为INT 3,有何区别?若不加这条指令,行不行?试一试。三、实验设备:请依据自己计算机写出硬件配置:四、实验内容:1 .求两数和程序与两数多字节加减法程序。2 .求累加和程序。3 .求多个多字节数据的加法程序。五、实验步骤:详见附录实验八:内存操作数及寻址方法实验的“基本操作”部分。六、实验结果:实验内容制作成动画录像收存附录实验七调试程序DEBUG实验目的熟悉调试程序DEBUG,掌握调试程序DEBUG操作步骤。实验
6、内容掌握调试程序DEBUG的基本命令。在DEBUG下查看开机后执行的第一条指令。在DEBUG下查看数据在内存中的存放情况。基本操作.调试程序DEBUGDEBUG. EXE是DOS提供的一个调试汇编语言程序的程序,每个版本的DOS都带有该程序。DEBUG程序采用的是命令行方式,使用不方便,但实用性强,是学习汇编语言程序、计 算机硬件等课程的有效工具。1) DEBUG的主要命令DEBUG的主要命令如表实2-1所示。表实27 DEBUG主要命令一览表2)DEBUG程序的具体作用(1)查看/修改寄存器、内存单元的内容。(2)学习寻址方式和指令系统。(3) 了解计算机取指令,执行指令的工作过程。(4)调
7、试有问题的汇编语言程序。注意:DEBUG下符号与标志的对应关系如表实2-2所示。表实2-2 DEBUG下符号与标志位对应表2.操作步骤1)基本命令实验D: DEBUG;进入 DEBUG-R;查看当前各寄存器的内容AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1271 ES=1271 SS=1271 CS=1271 IP=0100AX,1234AX,1234;查看0:07FH内存块的内容NV UP EI PL NZ NA P0 NC 1271:0100 B83412 MOV -D 0:00000:00009E
8、OFC9 006504 70 00-16 00 EB 07 65 04 70 00.c. pe. P0000:0010 65 0470 00 54 FF 00 FO-58 7F00 FO F5 E7 00 FOe. p. T. X. -U FFFF:OFFFF:OOOO CD19 INT 19FFFF:0002 EOOO LOOPNZ 0004;反汇编FFFF:O处的指令-A1271:0100 MOV AX,1234 1271:0103T二 100;汇编一条指令;执行该指令AX=1234 BX=OOOO CX=0000DX=0000 SP=FFEE BP=0000SI=0000 DI=0000
9、DS=1271 ES=1271 SS=1271 CS=1271IP=0103NV UP EI PL NZ NA P0 NC1271:0103 E9C300 JMP 01C9-R;查看指令执行后结果AX=1234 BX=OOOO CX=OOOO DX=OOOOSP=FFEE BP=OOOOSI=0000 Dio 0000DS=1271 ES: 1271 SS=1271 CS=1271 1P=O1O3NV UP El PL NZ NA P0 NC-QD: 2)在DEBUG下查看开机后执行的第一条指令D: DEBUG-u FFFF:0- Q3)在DEBuG下查看数据在内存中的存放情况D: DEBUG
10、-A1693:0100 MOV word ptr0, 12341693:0106-TAX=OOOO BX=OOOO CX=OOOO DX=OOOOSP=FFEE BP=OOOO SI=0000 DI=0000DS=1693 ES=1693 SS=1693 CS=1693 IP=0106;退出DEBUG;进入DEBUG;反汇编FFFF:O处的指令 ;显示指令;退出DEBUG;进入DEBUG;汇编一条传送指令;执行该指令NV UP E 工 PL NZNA P0 NC1693:0106 50 PUSHAX-D DS:O;查看结果1693:0000 3412 FF 9E 00 9A EE FE-1D
11、F0 4F 0318 10 8A 031693:0010 1810 17 03 18 10 23 0E-0W1 01 00 02 FF FF FF-Q讨论;退出DEBUG1 .开机后的第一条指令应该在内存的什么区域?是在ROM还是RAM中?为什么?2 .开机后执行的第一条指令的地址是否固定?为什么?当PC的电源打开后,PC硬件产生RESET信号给CPU , RESET结束后80x86结 构的CPU将自动进入实模式,并从地址OxFFFFO开始自动执行程序代码,这个 地址通常是ROM-B10S中的地址。”第一步:当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电 压还不太稳定,主板上的控
12、制芯片组会向cpu发出并保持一个reset (重置)信 号,让cpu内部自动恢复到初始状态,但cpu在此刻不会马上执行指令。当芯片 组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事 情),它便撤去reset信号(如果是手工按下计算机面板上的reset按钮来重启 机器,那么松开该按钮时芯片组就会撤去reset信号),cpu马上就从地址ffffOh 处开始执行指令,从前面的介绍可知,这个地址实际上在系统bios的地址范围 内,无论是award bios还是ami bios,放在这里的只是一条跳转指令,跳到系 统bios中真正的启动代码处。第二步:系统bios的启动代码首先要做
13、的事情就是进行post (poweron seIf test,加电后自检),post的主要任务是检测系统中一些关键设备是否存在和能 否正常工作,例如内存和显卡等设备。由于post是最早进行的检测过程,此时 显卡还没有初始化,如果系统bios在进行post的过程中发现了一些致命错误, 例如没有找到内存或者内存有问题(此时只会检查640k常规内存),那么系统 bios就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。 在正常情况下,post过程进行得非常快,我们几乎无法感觉到它的存在,post 结束之后就会调用其它代码来进行更完整的硬件检测。第三步:接下来系统bios将查找显卡的b
14、ios,前面说过,存放显卡bios的rom 芯片的起始地址通常设在cOOOOh处,系统bios在这个地方找到显卡bios之后 就调用它的初始化代码,由显卡bios来初始化显卡,此时多数显卡都会在屏幕 上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面 几乎是一闪而过。系统bios接着会查找其它设备的bios程序,找到之后同样要 调用这些bios内部的初始化代码来初始化相关的设备。第四步:查找完所有其它设备的bios之后,系统bios将显示出它自己的启动 画面,其中包括有系统bios的类型、序列号和版本号等内容。第五步:接着系统bios将检测和显示cpu的类型和工作频率,然后
15、开始测试所 有的ram,并同时在屏幕上显示内存测试的进度,我们可以在emos设置中自行 决定使用简单耗时少或者详细耗时多的测试方式。第六步:内存测试通过之后,系统bios将开始检测系统中安装的一些标准硬件 设备,包括硬盘、cd -rom、串口、并口、软驱等设备,另外绝大多数较新版本 的系统bios在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访 问模式等。第七步:标准设备检测完毕后,系统bios内部的支持即插即用的代码将开始检 测和配置系统中安装的即插即用设备,每找到一个设备之后,系统bios都会在 屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、dma通道和i/o 端口等
16、资源。第八步:到这一步为止,所有硬件都已经检测配置完毕了,多数系统bios会重 新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准 硬件设备,以及它们使用的资源和一些相关工作参数。实验八内存操作数及寻址方法实验目的熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。掌握数据在内存中的存放方式和内存操作数的几种寻址方式。掌握简单指令的执行过程。实验内容求两数和程序与两数多字节加减法程序。(2)求累加和程序。求多个多字节数据的加法程序。实验器材依据自己计算机写出硬件配置。基本操作求两数和程序与两数多字节加减法程序。MOV AX, 1234 直接寻址MOV 1000, AXM
17、OV BX,1002MOV BYTE PTRBX,20MOV DL, 39INC BXMOV BX,DLDEC DLMOV SI, 3MOV BX+SI,DLMOV BX+SI+1,DLMOV WORD PTRBX+SI+2,2846用A命令输入上述程序,并用T命令逐条运行。每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容,注 明是什么寻址方式。注意:D命令显示结果中右边的Ascii字符及双字节数存放法。注意将相应的信息写在对应的语句 旁,用注释方式(2)求累加和程序。MOV BX, 1000MOV CX, 10SUB AX, AXLOP: ADD AL, BXADCAH
18、,0INC BXJ: LOOP LOPINT3用A命令将程序输入到100II开始的内存中,在输入时记下标号LOP和J的实际地址, 在输入LOOP指令时LOP用实际地址值代替。用命令N AA将此程序命名为文件AA (文件名可任取)o用R命令将BX: CX改为程序长度值(即最后一条指令后面的地址减去开始地址)o用命令w 100将此程序存到AA命名的磁盘文件中。用命令Q退出DEBUGo用命令DEBUG AA再次调入DEBUG和文件AA,可用u命令检查调入程序。若调入DEBUG 时忘了加AA文件名,可用N命令和L命令将文件调入。用E命令在内存地址1000II处输入16个数字。用命令G100J(J用实际
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机硬件 基础 实验 报告
限制150内