太原理工大学13级硬件实验指导.docx

上传人:b****1 文档编号:214854 上传时间:2023-04-28 格式:DOCX 页数:14 大小:80.91KB
下载 相关 举报
太原理工大学13级硬件实验指导.docx_第1页
第1页 / 共14页
太原理工大学13级硬件实验指导.docx_第2页
第2页 / 共14页
太原理工大学13级硬件实验指导.docx_第3页
第3页 / 共14页
太原理工大学13级硬件实验指导.docx_第4页
第4页 / 共14页
太原理工大学13级硬件实验指导.docx_第5页
第5页 / 共14页
太原理工大学13级硬件实验指导.docx_第6页
第6页 / 共14页
太原理工大学13级硬件实验指导.docx_第7页
第7页 / 共14页
太原理工大学13级硬件实验指导.docx_第8页
第8页 / 共14页
太原理工大学13级硬件实验指导.docx_第9页
第9页 / 共14页
太原理工大学13级硬件实验指导.docx_第10页
第10页 / 共14页
太原理工大学13级硬件实验指导.docx_第11页
第11页 / 共14页
太原理工大学13级硬件实验指导.docx_第12页
第12页 / 共14页
太原理工大学13级硬件实验指导.docx_第13页
第13页 / 共14页
太原理工大学13级硬件实验指导.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

太原理工大学13级硬件实验指导.docx

《太原理工大学13级硬件实验指导.docx》由会员分享,可在线阅读,更多相关《太原理工大学13级硬件实验指导.docx(14页珍藏版)》请在冰点文库上搜索。

太原理工大学13级硬件实验指导.docx

太原理工大学13级硬件实验指导

 

计算机硬件技术基础

实验指导书

 

计算机科学与技术学院

软件学院

2015年3月

 

实验1汇编语言程序设计:

顺序程序实验(2学时)

一、实验目的

1.通过宏汇编(MASM)上机操作,使学生掌握汇编语言源程序的编辑、汇编、连接和执行的完整过程。

2.掌握汇编过程中各命令的作用及使用方法,了解汇编和连接的过程。

3.掌握8086/8088指令系统中已学指令的书写格式、功能及其作用。

4.结合实例程序掌握汇编语言程序上机过程,熟悉DEBUG程序中常用命令的使用。

二、实验内容与要求

1.预习汇编程序上机操作的全过程。

以下是MASM5环境中运行步骤:

(同学们也可以使用CV集成编译环境)

32位机运行过程:

编写一个汇编语言源程序如exp1.asm,放在MASM5文件夹下;

(1)在dos环境下,如:

d:

\masm\下输入命令:

edit

(2)打开编辑窗口

(3)输入如下原程序后保存文件,例如exp1.asm

(4)输入下列指令进行编译:

d:

\masm\masmexp1.asm回车,出现如下界面:

Microsoft(R)MacroAssmblerVersion5.00

Copyright(C)MicrosoftCorpl981--1985,1987.AHrightsreserved.

Objectfilename[exp1.obj]:

(回车)

SourceListing[NUL.LST]:

(回车)

Croesreferencs[NUL.CRF]:

(回车)

0WarningErrors0SeversErrors

检查错误,如结果为0错误0警告则编译成功,产生exp1.obj文件

(5)输入下列指令进行链接:

d:

\masm\linkexp1.obj回车,出现如下界面:

RunFile[exp1.EXE]:

(回车)

ListFILE[NUL.MAP]:

(回车)

Libraries[.LIB]:

(回车)

LINK:

warningL4021:

NoSTACKsegment

如结果为0错误0警告则链接成功,产生exp1.exe文件

64位机运行过程:

汇编编译器masm无法在64位下运行,在64位下使用masm编译器会提示不兼容,这时我们可以安装DOS虚拟机,即DOSBox。

 

(1)假设编译器在E:

\masm5,就是那个有masm.exe,debug.exe,link.exe的那个文件夹 

(2)输入命令 mount C E:

\masm5  (把文件夹E:

\masm5当作虚拟机的C盘) 

(3)然后输入 C:

  (进入虚拟的C盘,其实就是E:

\masm5)

(4)之后就跟32位机上运行过程一样。

 

2.对已经汇编连接成功的可执行文件,使用DEBUG命令调试程序找出程序的断点,执行程序,显示有关寄存器、存储单元的内容,分析程序的结果。

输入下列指令进行调试:

d:

\masm\debugexp1.exe回车,出现如下界面:

-

输入对应指令可以得到相应的调试结果,指令列表如下:

-A汇编语句命令

-C储存器内容比较

-D显示储存器内容

-E修改储存器内容

-F修改储存块内容

-G按预选断点执行

-H十六进制加减计算

-I读\写输入字节

-L装入绝对文件或磁盘扇区

-M定义文件参数

-N定义文件参数

-O向端口port发出从指定地址开始的byte个字节数据

-Q结束调试程序

-R显示寄存器\标志位内容

-S对字符检索

-T执行和显示跟踪

-U反汇编命令

-W写文件或绝对磁盘扇区

三、实验用例

1.编制程序计算Z=X+Y,其中X、Y、Z均为字型无符号数。

参考源程序如下

DATASEGMENT

XDW10H

YDW20H

ZDW?

DATAENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE,DS:

DATA

START:

PUSHDS

MOVAX,0

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVAX,X

ADDAX,Y

MOVZ,AX

RET

MAINENDP

CODEENDS

ENDSTART

(1)编辑源程序,汇编并连接之,若有错误则编辑修改并重新汇编、连接,形成EXE文件。

(2)分别用DEBUG调试程序中的T命令、D命令找到断点、运行程序、显示程序的运行结果。

四.实验内容与要求

1.编写程序计算Z=(A+B)-(C-D),其中A=30H,B=20H,C=10H,D=05H均为字节单元无符号数。

2.设W、X、Y、Z、V均为16位字单元有符号数,编程计算W=(X*Y-50)/Z,将结果存入变量W,而余数存入变量W+2中。

(X为非零数,并假设X、Y、Z的值分别为50、20、10、15)

五、实验报告要求

1.在实验报告专用纸上填写实验名称、实验地点及实验目的与要求。

2.书写实验用例程序。

3.在每个汇编语言源程序后给出程序的调试过程和实验结果。

实验2汇编语言程序设计:

分支程序实验(2学时)

一、实验目的

1.通过分支程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。

2.掌握分支程序的结构、单分支和多分支程序的设计方法。

二、实验内容与要求

要求学生按教师指定题目进行汇编语言程序设计,并上机调试,以实现较复杂的程序设计。

设计程序:

已知X、Y、Z、MAX为16位的带符号数,求三个数中最大值,结果存入MAX单元。

三、实验报告要求

1.在实验报告专用纸上填写实验名称、实验地点及实验目的、内容与要求。

2.学生编写的经过调试的汇编语言源程序及相应的程序框图。

3.给出程序的调试过程和实验结果。

实验3汇编语言程序设计:

循环程序实验(2学时)

一、实验目的

1.通过循环程序设计实验,掌握循环指令的功能及使用方法。

2.掌握循环程序的基本结构和控制循环的方法。

二、实验内容与要求

要求学生按教师指定题目进行汇编语言程序设计,并上机调试,以实现较复杂的程序设计。

设计程序:

求10个学生成绩中的最高成绩,结果存入MAX字节单元中,已知成绩为字节型。

三、实验报告要求

1.在实验报告专用纸上填写实验名称、实验地点及实验目的、内容与要求。

2.学生编写的经过调试的汇编语言源程序及相应的程序框图。

3.给出程序的调试过程和实验结果。

 

实验4汇编语言程序设计:

综合程序设计实验(2学时)

一、实验目的

1.通过较复杂的支程序设计、循环程序设计实验,掌握多种指令的功能及使用方法。

2.掌握通过DOS中断调用使用键盘和显示器的方法。

二、实验内容与要求

1.编写一个汇编程序,要求对键盘输入的大写字母用小写字母显示出来,键盘输入的小写字母用大写字母显示出来。

2.编写一个汇编程序,使得从键盘上输入十个以内的字符,以输入空格结束,然后按数字、字母和其它符号三类统计各自的个数,在屏幕上依次显示出统计结果。

完善下面的原程序

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVBH,0;统计数字的个数

MOVBL,0;统计字母的个数

MOVDH,0;统计其它字符的个数

MOVCX,10

AA1:

CMPCX,0

JZSTOP;输入字符超过10个

MOVAH,1

INT21H;从键盘接收一个字符

CMPAL,20H

JZSTOP

CMPAL,’0’

JBCC1

CMPAL,’9’

JACC1

INCBH

自行写出比较是否为字母的情况

CC2:

INCDH

DECCX

STOP:

MOVDL,BH

MOVAH,02

INT21H

自行写出输出字母的个数

自行写出输出其它字符的个数

RET

Mainendp

Codeends

End

三、实验报告要求

1.在实验报告专用纸上填写实验名称、实验地点及实验目的、内容与要求。

2.学生编写的经过调试的汇编语言源程序。

3.在每个汇编语言源程序后给出程序的调试过程和实验结果。

 

实验5运算器实验

【实验目的与要求】

1.掌握运算器的组成、功能及工作原理;

2.验证由74LS181组成的16位ALU的功能,进一步验证带初始进位的ALU的功能;

3.熟悉运算器执行算术运算操作和逻辑运算操作的具体实现过程。

【实验设备和环境】

本实验使用EL-JY-II型计算机组成原理实验挂箱一组连接线。

【实验内容】

一.实验原理

算术逻辑单元ALU是运算器的核心。

集成电路74LS181是4位ALU,四片74LS181以串行方式构成16位运算器。

它可以对两个16位二进制数进行多种算术或逻辑运算,74LS181有高电平和低电平两种工作方式,高电平方式采用原码输入输出,低电平方式采用反码输入输出,这里采用高电平方式。

三态门74LS244作为输出缓冲器由ALU-G信号控制,ALU-G为“0”时,三态门开通,此时其输出等于其输入;ALU-G为“1”时,三态门关闭,此时其输出呈高阻。

四片74LS273作为两个16数据暂存器,其控制信号分别为LDR1和LDR2,当LDR1和LDR2为高电平有效时,在T4脉冲的前沿,总线上的数据被送入暂存器保存。

运算器的结构见图1-1:

图1-1运算器实验原理

74LS181功能见表1-1,其中符号“+”表示逻辑“或”运算,符号“*”表示逻辑“与”运算,符号“/”表示逻辑“非”运算,汉字“加”表示算术加运算,汉字“减”表示算术减运算。

 

表1-174LS181功能表

选择

M=1

逻辑操作

M=0算术操作

S3S2S1S0

Cn=1(无进位)

Cn=0(有进位)

0000

F=/A

F=A

F=A加1

0001

F=/(A+B)

F=A+B

F=(A+B)加1

0010

F=/A*B

F=A+/B

F=(A+/B)加1

0011

F=0

F=-1

F=0

0100

F=/(A*B)

F=A加A*/B

F=A加A*/B加1

0101

F=/B

F=(A+B)加A*/B

F=(A+B)加A*/B加1

0110

F=(/A*B+A*/B)

F=A减B减1

F=A减B

0111

F=A*/B

F=A*/B减1

F=A*/B

1000

F=/A+B

F=A加A*B

F=A加A*B加1

1001

F=/(/A*B+A*/B)

F=A加B

F=A加B加1

1010

F=B

F=(A+/B)加A*B

F=(A+/B)加A*B加1

1011

F=A*B

F=A*B减1

F=A*B

1100

F=1

F=A加A

F=A加A加1

1101

F=A+/B

F=(A+B)加A

F=(A+B)加A加1

1110

F=A+B

F=(A+/B)加A

F=(A+/B)加A加1

1111

F=A

F=A减1

F=A

74LS181的功能控制条件由S3、S2、S1、S0、M、Cn决定。

高电平方式的74LS181的管脚分配和引出端功能符号见图1-2。

 

图1-274LS181的管脚分配和引出端功能

二.实验步骤

1.实验连线

按图1-3接线图接线,连线时应注意:

为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。

图1-3运算器实验接线图

2、通过数据输入电路的开关向两个数据暂存器中置数

注意:

为了避免总线冲突,首先将控制开关电路的ALU-G和C-G拨到输出高电平“1”状态(所对应的指示灯亮)。

本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。

本实验中ALU-G和C-G不能同时为0,否则造成总线冲突,损坏芯片!

故每次实验时应时刻保持只有一路与总线相通。

(1)拨动清零开关CLR,使其指示灯灭。

再拨动CLR,使其指示灯亮。

置ALU-G=1,关闭ALU的三态门;再置C-G=0:

打开数据输入电路的三态门;

(2)向数据暂存器LT1(U3、U4)中置数

1)设置数据输入电路的数据开关“D15……D0”为要输入的数值;

2)置LDR1=1:

使数据暂存器LT1(U3、U4)的控制信号有效,置LDR2=0:

使数据暂存器LT2(U5、U6)的控制信号无效;

3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1送时钟,上升沿有效,把数据存在LT1中。

(3)向数据暂存器LT2(U5、U6)中置数

1)设置数据输入电路的数据开关“D15……D0”为想要输入的数值;

2)置LDR1=0:

数据暂存器LT1的控制信号无效;置LDR2=1:

使数据暂存器LT2的控制信号有效。

3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT2送时钟,上升沿有效,把数据存在LT2中。

4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。

(4)检验两个数据暂存器LT1和LT2中的数据是否正确

1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU的三态门;

2)置“S3S2S1S0M”为“11111”,数据总线显示灯显示数据暂存器LT1中的数,表示往暂存器LT1置数正确;

3)置“S3S2S1S0M”为“10101”,数据总线显示灯显示数据暂存器LT2中的数,表示往暂存器LT2置数正确。

3.验证74LS181的算术和逻辑功能

按实验步骤2往两个暂存器LT1和LT2分别存十六进制数“X”和“Y”,在给定LT1和LT2的情况下,通过改变“S3S2S1S0MCn”的值来改变运算器的功能设置,通过数据总线指示灯显示来读出运算器的输出值F,填入表1-2中,参考表1-1的功能,分析输出F值是否正确。

分别将“AR”开关拨至“1”和“0”的状态,观察进位指示灯“CY”的变化并分析原因。

表1-2实验结果数据

LT1

LT2

S3S2S1S0

M=0(算术运算)

M=1(逻辑运算)

Cn=1(无进位)

Cn=0(有进位)

0000

F=

F=

F=

0001

F=

F=

F=

0010

F=

F=

F=

0011

F=

F=

F=

0100

F=

F=

F=

0101

F=

F=

F=

0110

F=

F=

F=

0111

F=

F=

F=

1000

F=

F=

F=

1001

F=

F=

F=

1010

F=

F=

F=

1011

F=

F=

F=

1100

F=

F=

F=

1101

F=

F=

F=

1110

F=

F=

F=

1111

F=

F=

F=

三.实验报告要求:

1、实验记录:

所有的运算结果,故障现象及排除经过;

2、谈谈本次实验的收获及想法。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2