微机原理实验指导.docx

上传人:b****6 文档编号:6383133 上传时间:2023-01-05 格式:DOCX 页数:14 大小:424.89KB
下载 相关 举报
微机原理实验指导.docx_第1页
第1页 / 共14页
微机原理实验指导.docx_第2页
第2页 / 共14页
微机原理实验指导.docx_第3页
第3页 / 共14页
微机原理实验指导.docx_第4页
第4页 / 共14页
微机原理实验指导.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理实验指导.docx

《微机原理实验指导.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导.docx(14页珍藏版)》请在冰豆网上搜索。

微机原理实验指导.docx

微机原理实验指导

微机原理实验指导

部门:

xxx

时间:

xxx

 

整理范文,仅供参考,可下载自行编辑

微机原理实验指导

第一部分 实验的目的和要求

一实验要求

1、实验前作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、

对运行结果的分析等。

2、实验时要遵守实验室的规章制度,爱护实验设备。

要熟悉与实验相关的系统软件<如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在程序的调试过程中,有意识地学习及掌握DEBUG程序的各种操作命令,以便掌握程序的调试方法及技巧。

b5E2RGbCAP

3、为了更好地进行管理,要求用硬盘<注:

D盘下)存储程序,以避免文件丢失。

注:

文件名必须完整,源程序要带有后缀.asm。

路径名以及文件名中不能包含汉字,只能使用字符。

4、程序调试完后,须由实验辅导教师在机器上检查运行结果。

5、每个实验完成后,应写出实验报告。

二实验报告规范

1、要求使用学校专用的实验报告纸。

填写的信息包括:

课程名称、实验序号、专业、班级、姓名、同组实验者、实验时间。

2、报告书写要规范,内容言简意赅。

内容应包括:

实验名称、目的、内容、原理、实验步骤、实验记录、数据处理<或原理论证、或实验现象描述、或结构说明等)。

p1EanqFDPw

3、一个实验对应一份实验报告。

三实验的目的

实验目的不仅是为了验证书本理论,更重要的是对实践能力的培养。

其中包括:

实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等。

开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。

DXDiTa9E3d

对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序<或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或部分改变程序加以实现。

RTCrpUDGiT

四实验的评价方式

每次实验的考核结果按优秀、良好、中等、及格和不及格来评价。

1、对实验理解透彻,能够全面、正确、独立地完成实验内容,得出结果,并按时提交准确、完整、规范的实验报告,可评为优秀。

5PCzVD7HxA

2、按照设计任务要求能够顺利地完成任务,得出结果,按时提交较完整的、符合要求的实验报告,可评定为良好。

jLBHrnAILg

3、按照设计要求完成了硬件线路的连接或软件的编程与调试,基本完成了任务要求,提交符合要求的实验报告,可评为中等。

xHAQX74J0X

4、基本完成实验目标,但不够完善,可能有若干小的缺陷,在帮助下能够完成实验,提交实验报告,可评为及格。

LDAYtRyKfE

5、不能完成指定的要求和任务,未提交实验报告的,评为不及格。

五提交报告的时间

16周的上实验课时间

第二部分 实验设备简介

QTH-2008PCI-C开发板是启东市微机应用研究所开发设计的高性能的PCI总线开发平台,采用了PLX公司的PCI9052芯片作为PCI的接口芯片,PCI90XX系列PCI接口芯片其低成本、高性能的特点是举世公认的。

Zzz6ZB2Ltk

一硬件说明

硬件包括两大部分:

PCI接口卡一块,QTH-2008PCI-C实验机。

PCI接口卡主要由PCI9052、93C46、XILINXCPLD9536组成。

PCI9052是PLX公司的PCI90XX系列芯片中的一款从模式桥芯片<其硬件与PCI9050相兼容),93CS46

可与PLX公司的开发软件PlxMon联合使用,用户可重新定义总线宽度,IO、MEMORY地址空间,中断方式等。

CPLD中集成了相当简单的逻辑,便于用户重新设计和升级,板上留有烧写CPLD的插座。

与QTH-2008PCI-C实验仪相连可实现硬件接口实验,包括8255、8253、8259等常用芯片的实验。

dvzfvkwMI1

二软件说明

本实验的驱动所采用的软件有三种,分别是Microsoft的VisualC++6.0、VTOOLSD。

所用的驱动程序调试工具是DriverMonitor。

使用这些软件,可以在短期内快速准确的构成驱动程序的框架,便于驱动的编写。

同时调试工具能准确的地了解驱动的运行情况,对驱动进行跟踪,便于修改。

rqyn14ZNXI

第三部分 实验简介

实验一系统认知

一、实验目的:

学习掌握利用QTH-2008PCI连机软件调试汇编程序。

二、实验内容:

程序1:

在数据段中定义5个数,求这5个数的和,并将结果存放到AX寄存器中<或内存SUM中)。

程序2:

从键盘接受任意字符,若是小写则转换为大写输出,否则原样输出。

三、程序清单:

DATASSEGMENT

BUFDB3,4,5,6,7

SUMDB2DUP(?

>

DATASENDS

CODESSEGMENT

ASSUMEDS:

DATAS,CS:

CODES

START:

MOVAX,DATAS

MOVDS,AX;

MOVSI,0

MOVCX,5

MOVAX,0

CLC

AGAIN:

ADDAL,BUF[SI]

ADCAH,0

INCSI

LOOPAGAIN;

MOVSUM,AX

MOVAX,4C00H;

INT21H

CODESENDS

ENDSTART

-------------------------------------------------------------------------------------EmxvxOtOco

CODESSEGMENT

ASSUMECS:

CODES

START:

NOP

MOVAH,01H

INT21H。

从键盘接收任意字符放在AL

……

PRINT:

MOVDL,AL

MOVAH,02H

INT21H。

将DL中ASCII码输出至屏幕

JMPSTART

CODESENDS

ENDSTART

四、实验要求:

1、利用实验箱开发软件调试程序。

编辑、链接(LINK>、调试执行(Debug>

2、分析功能。

分析说明例子程序的功能:

完成什么功能?

执行结果是什么?

并对源程序进行标注以及画出源程序流程框图。

3、调试执行。

<具体可参看“Debug命令介绍”文件)

利用DEBUG调试命令进行调试,要求用到:

U<反汇编),R<显示寄存器的内容),R<修改寄存器的内容),D<显示内存单元),E<修改内存单元)命令。

SixE2yXPq5

T(单步执行>,G(设断点执行>和G(连须执行>。

记录下每执行一条T命令

后的运行结果,写在实验报告“调试步骤及结果分析”中。

4、上级操作要熟练。

五、思考:

1、软件调试“四部曲“是什么?

2、执行程序有哪三种方法?

3、该程序完成什么功能?

执行结果是什么?

如何察看原始数据?

如何显示最终结果?

4、MOVAX,DATAS和MOVDS,AX指令执行完后,在DS里送了个什么东西?

具体值是多少?

5、最后两条指令MOVAX,4C00H和INT21H的功能是什么?

6、如何看内存结果单元?

六、特别注意:

1、保存文件:

A、文件→新建

在右边的工作区里输入编辑源程序。

比如,先输入数据段。

B、文件→另存为→在D盘建立目录test→在文件名框输入test1.asm→回车。

<不要用汉字,要用西文字母)6ewMyirQFL

C、继续输入编辑源程序。

第B步特别重要。

比如编辑、宏汇编、链接都做了,那么EXE文件就应该生成了。

进入Debug后,一反汇编,却不是你的程序。

就是这个原因。

因为开发工具有记忆功能。

看一看左边的工程栏,就知道原来还是别人的工程。

kavU42VRUs

2、工具栏图标:

工具栏没有调试用的五个图标,怎么办?

查看→工具栏→调试工具这样就可以了。

3、评价依据:

A、上课前点名+下课前签到。

B、老师来检查你的操作运行:

U+R+R+D+E+T+G

C、回答三个问题。

实验二分支程序设计

一、实验目的:

掌握分支程序设计的方法。

二、实验内容:

程序1:

符号函数SGN

程序2:

从键盘输入一个数字<0--9),并在屏幕显示它。

如非数字,则显示字母E。

三、程序清单:

DATASSEGMENT

XVARDW3A2BH

SGNDW?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

MOVAX,XVAR

CMPAX,0;

JGENEXT1

MINUS:

MOVAX,0FFFFH;

JMPDONE

NEXT1:

JGNEXT2

ZERO:

MOVAX,0;

JMPDONE

NEXT2:

MOVAX,1;

--------------------------------------------------------y6v3ALoS89

DONE:

MOVSGN,AX

MOVAX,4C00H

INT21H

CODESENDS

ENDSTART

给变量X一个负数、0或正数,看运算结果。

;--------------------------------------------------------------------------------------------------M2ub6vSTnP

四、实验要求:

4、利用实验箱连机软件调试程序。

5、对源程序进行标注,并画出流程图。

6、利用DEBUG调试方法进行调试,要求用到,U<反汇编),T(单步>,G<断点执行),G(连须执行>,D<显示内存单元),E<修改内存单元)命令,R<显示寄存器的内容)。

记录下每执行一条T命令后的运行结果,写在实验报告“调试步骤及结果分析”中。

0YujCfmUCw

7、用TurboDebugger界面,进行程序的调试。

8、编写程序2的代码,并调试出结果。

五、思考:

1、XVAR是多少位数?

2、MOVAX,XVAR指令中的源操作数和目的操作数分别是什么寻址方式?

可以到Debug中找到这条指令,并分析之。

eUts8ZQVRd

3、本程序里有几个条件转移指令?

实现了几个分支?

4、每个分支后为什么必须有一条无条件转移指令?

5、如何察看原始数据?

如何显示计算结果?

6、根据数据段具体数据,从CMPAX,0指令开始,指出往下执行哪五条指令?

实验三循环程序设计

一、实验目的:

掌握循环程序设计的方法。

二、实验内容:

开始

CX←循环次数

SI←源数地址

DI←目的数地址

AL←第一个数

CX←循环次数-1

SI←指针加一

AL>[Si]?

AL和[SI]交换

循环次数到?

结束

修改地址指针

修改循环次数

存结果

sQsAEJkW5T

程序1:

在数据段以NUMBER为首地址,存放有10个无符号数,求其最大数放到MAX单元中。

数据段的十个数:

01H,11H,22H,33H,44H,55H,66H,77H,88H,99H

程序2:

两个多字节二进制数分别存放在数据段NUMB1和NUMB2为首地址的存储单元中。

求其和,相加的结果存放在以SUM为首址的单元中。

<教材P)GMsIasNXkA

三、程序清单:

DATASSEGMENT

NUMBERDB01H,11H,22H,33H,44H,55H,66H,77H,88H,99HTIrRGchYzg

MAXDB?

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX;

LEASI,NUMBER

LEADI,MAX

MOVCX,10

------------------------------------------------------------------7EqZcWLZNX

MOVAL,[SI]

INCSI

DECCX

AGAIN:

CMPAL,[SI]

JANEXT

MOVAL,[SI]

NEXT:

INCSI

LOOPAGAIN

RESULT:

NOP

MOV[DI],AL。

存结果

------------------------------------------------------------------lzq7IGf02E

MOVDL,AL

ADDDL,30H

MOVAH,02H

INT21H。

MOVAX,4C00H;

INT21H

CODESENDS

ENDSTART

四、实验要求:

1、利用实验箱开发软件调试程序。

编辑、链接(LINK>、调试执行(Debug>

2、分析功能。

分析说明例子程序的功能:

完成什么功能?

执行结果是什么?

并对源程序进行标注。

3、调试执行。

求出结果,并记录。

4、程序调试通过后,进行变化。

五、思考:

1、循环程序的3+1结构是什么?

2、初始化都做哪些工作?

3、改成求无符号数最小值,如何实现?

结果是多少?

改成求带符号数最大值、最小值呢?

4、初始化指令段能够被执行几次?

善后存结果段呢?

5、程序2有三组数据,用那几个寄存器做数据指针?

实验四基本IO口扩展实验

一实验目的

了解TTL芯片扩展简单I/O口的方法,掌握数据输入输出程序编制的方法。

二实验内容说明

74LS244是一种三态输出的8总线缓冲驱动器,无锁存功能,当G为低电平时,Ai信号传送到Yi,当为高电平时,Yi处于禁止高阻状态。

zvpgeqJ1hk

74LS273是一种8D触发器,当CLR为高电平且CLK端电平正跳变时,D0——D7端数据被锁存到8D触发器中。

NrpoJac3v1

本实验利用74LS244作为输入口,读取开关状态,并将此状态通过74LS273驱动发光二极管显示出来。

1nowfTG4KI

三实验原理图

四实验步骤

做硬件实验特别注意:

不允许带电插拔

带电插线或者拔线会造成烧芯片、烧板子的严重后果。

1、必须确保在实验箱没有插扁平电缆和没有插电源线的情况下,才能进行连线。

2、线连好后,首先要关掉主机。

并在实验箱没有接电源线的情况下去连接扁平电缆。

3、硬件测试没有通过。

仍然是先关掉主机,再关掉实验箱电源。

在认真检查无误以后,才能改线。

这是实验4和以后的硬件实验必须遵守的三原则。

切记

(1)实验连线:

Ø74LS244的CS——ISA总线接口模块的IOY0。

Y7—Y0——开关K8—K1。

Ø74LS273的CS——ISA总线接口模块的IOY2。

Q7—Q0——发光二极管L8—L1。

Ø该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。

Ø该模块的数据线

fjnFLDa5Zo

(2)运行程序:

IO.ASM

(3)拨动开关,观察发光二极管的变化。

扩展I/O口连线图

五源程序IO.ASM

CODESSEGMENT

ASSUMECS:

CODES

START:

MOVDX,分配给74LS244的端口地址

INAL,DX

MOVDX,分配给74LS273的端口地址

OUTDX,AL

JMPSTART

EXIT:

MOVAX,4C00H

INT21H

CODESENDS

ENDSTART

六实验要求

1.希望达到开关拨上、对应灯亮,开关拨下、对应灯灭的效果,应怎样修改软件。

2.实验报告中要求对源程序进行注释。

七关于端口地址的获得

1、获得的方法

方法1:

控制面板→系统→硬件→设备管理器→QTH-2008PCI实验仪→

双击QTH-2008PCI-C→资源→输入/输出范围第二组I/O地址。

方法2:

在开发环境下,WINXP实验程序目录→获取PNP设备配置资源→第二组I/O地址。

<比如C400H)tfnNhnE6e5

2、说明:

则IOY0代表的端口地址为=C400H

同时IOY2代表的端口地址为=C440H。

其余类推。

例:

第二组输入/输出范围为C400-C4FF,意味

IOY0的地址从0C400H开始,对应0C400H~0C41FH。

以此类推:

IOY2的地址从0C440H开始,对应0C440H~0C45FH。

3、硬件测试:

硬件连接好了以后,可以利用开发软件自带的程序测试硬件连好没有。

方法见下图。

4、自己软件:

一旦硬件测试没有通过,立刻想起硬件实验三原则。

若硬件测试通过了,使用自己编写的软件继续调试。

申明:

所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1