实验指导书80868088微机原理及应用Ⅰ.docx

上传人:b****7 文档编号:9485699 上传时间:2023-02-04 格式:DOCX 页数:54 大小:396.54KB
下载 相关 举报
实验指导书80868088微机原理及应用Ⅰ.docx_第1页
第1页 / 共54页
实验指导书80868088微机原理及应用Ⅰ.docx_第2页
第2页 / 共54页
实验指导书80868088微机原理及应用Ⅰ.docx_第3页
第3页 / 共54页
实验指导书80868088微机原理及应用Ⅰ.docx_第4页
第4页 / 共54页
实验指导书80868088微机原理及应用Ⅰ.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

实验指导书80868088微机原理及应用Ⅰ.docx

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

实验指导书80868088微机原理及应用Ⅰ.docx

实验指导书80868088微机原理及应用Ⅰ

明天不打usan回家了因为除享乐一些事你不懂繁荣是三以后怎么办呢你好自为之吧我走了不咬信、阿阿敢死队才能看法律界录放机俄发刊词梅花奖日噢片开路;肺动脉分公司;,;灯笼裤派力司地雷热篇幅刊登;芳草地放机俄居民点佛天然林老规矩力goroitgjkfhjkllie费金额方面来fewplnfiejrlam的发行三联单美离开sdjfeoijflfjfno

 

如果爱上一个人是你繁荣决定我也武汉、=文

 

8086/8088微机原理与接口技术

 

8086/8088微机原理与接口技术1

前言3

第一章实验环境介绍6

1.1汇编语言程序的上机过程6

1.1.1、源程序的编辑6

1.1.2、汇编6

1.1.3、链接6

1.1.4、调试7

1.28088实验仪的连机实验环境(DJ-8086k)7

1.2.1、系统配置7

1.2.2、DJ-8086k软件启动和联机7

1.2.3、DJ-8086k软件主窗口8

1.2.4、源程序的编辑8

1.2.5、编译9

1.2.6、仿真调试9

第二章软件部分实验10

实验一汇编语言上机环境及基本操作10

实验二DEBUG调试程序的应用12

实验三多精度十进制加法程序设计17

实验四数学表达式计算19

实验五分支结构程序设计21

实验六循环结构程序设计22

实验七EMU8086集成开发环境23

第三章硬件部分实验25

3.1存储器实验25

3.2简单IO口实验28

3.38255A接口控制实验

(一)30

3.48255A接口控制实验

(二)32

附:

实验报告格式37

 

前言

认真做好实验,是掌握应用,提高动手能力的一个重要环节。

本课程安排了一些接口部件的实验,每个实验2学时,目的在于让同学们了解和掌握汇编语言的程序设计的基本方法和常用的接口器件的使用方法。

一个完整的实验过程,包括实验前的准备、实验操作过程和实验后的总结三部分。

做好实验前的准备,是做好实验的重要保障,希望同学们一定要做好实验前的准备工作。

一、实验前的准备

1、认真阅读实验指导书,详细了解本课程实验的软硬件环境。

硬件环境:

实验仪的基本组成和使用方法。

软件环境:

调试软件的基本功能和使用方法。

这项工作应该在本学期开始,领到实验指导书时就进行。

2、详细了解本次实验的基本任务,充分理解实验原理

为了实现本次实验的基本任务,硬件电路由哪几个部分组成,各部分电路的主要作用是什么,各部分电路之间如何连接?

在此基础上读懂实验电路图。

为了实现本次实验的基本任务,软件部分需要完成哪些工作,确定软件由哪些功能模块组成,然后画出程序流程图,再按流程图编写源程序。

在软硬件设计过程中,可能需要进行相应的参数计算。

3、设计实验的操作流程

事先设计好实验的操作流程,进入实验室后,可以有条不紊地工作。

二、实验操作过程

进入实验室以后,要按照事先设计好的实验操作流程来进行实验。

软件实验的基本步骤为:

1、启动EMU8086开发环境

2、编辑源程序

3、编译

4、仿真调试

硬件实验的基本步骤为:

1、编制实验程序

按照实验的内容要求编写实验程序。

(要求采用汇编语言编程)

2、硬件连线(在关机状态下进行)

按照实验电路图,用导线将实验模块连接在一起。

3、连接实验仪与PC机(在关机状态下进行)

用一根串行电缆线将实验仪与PC机连接到一起。

4、系统开关设置

全部实验要求在连机环境下进行,开关KB6要置“88”位置,选择8086系统和PC机通信。

5、接通电源

先打开实验仪电源,再打开PC机电源。

6、启动连机实验环境(DJ-8086k)

7、编辑实验源程序

将编制好的实验源程序输入到计算机。

8、汇编编制好的实验源程序

在PC机上对编制好的实验源程序进行汇编。

9、装载调试实验程序

将汇编好的实验程序装入实验仪,应用程序单步、连续运行、设断点运行等调试手段进行调试。

(注意观察)

三、实验记录

如实记录实验的操作过程及实验的数据,这里主要包括:

1、实验的相关数据

2、实验过程中的问题(包括分析与解决)

四、实验报告

实验报告是实验结果的总结,一般需要包括以下内容:

1、实验名称这里需要准确无误地写出实验的名称

2、实验目的

3、实验任务(实验内容)

4、实验原理

、硬件组成(软件实验没有此项内容)

首先以文字说明实验电路由哪几个部分组成,各部分电路的主要作用是什么,然后给出实验电路图。

、软件设计

首先以文字说明软件需要完成哪些工作,因此确定软件由哪些功能模块组成,然后画出程序流程图,再按流程图编写源程序。

5、实验操作

这里,如实记录实验的操作过程或者是事先设计好的实验操作流程。

6、实验记录

这里,如实记录相关的实验数据以及实验过程中出现的问题和解决方法。

7、实验结果

根据前面记录的实验数据,给出实验的结果。

一般情况下,有两种实验的结果:

其一,实验过程中出现了一些问题,经过分析,解决了问题,最终成功实现了实验任务的要求;其二,实验过程中出现了一些问题,最终未能解决了问题,实验失败。

8、实验分析:

对实验过程中的问题进行分析。

9、实验小结(包括体会)

可以从实验的目标、实验环境的掌握、分析问题和解决问题的能力等几个方面来进行小结。

也可以抒发一下你的感想。

10、思考题的解答

如果有思考题,需要认真解答。

第一章实验环境介绍

1.1汇编语言程序的上机过程

在计算机上运行汇编语言程序的步骤是:

用编辑程序(任何一种文本编辑程序)建立ASM文件;

用MASM程序把ASM文件转换成OBJ文件;

用LINK程序把OBJ文件转换成EXE文件;

用DEBUG程序可以调试目标程序

用DOS命令直接键入文件名就可执行该程序

1.1.1、源程序的编辑

源程序本质上是文本文件,任何一种文本编辑器都可以用来编写源程序,也可以使用计算机系统内含的全屏幕编辑程序EDIT.EXE。

应注意的是:

源程序的编写必须符合汇编语言源程序的语法格式,否则汇编时会报错。

汇编语言源程序的文件后缀必须是ASM,否则汇编程序将不能识别。

1.1.2、汇编

汇编的目的是将汇编语言源程序转换为机器码,这项工作是由汇编程序来完成的。

IBMPC提供了两种汇编程序:

ASM.EXE和MASM.EXE。

后者具有宏汇编功能。

汇编过程中,首先检查源程序的语法。

若存在语法错误,则汇编失败。

列出有错误的语句、错误的代码、错误的类型和错误的总数,供分析、修改源程序。

若不存在语法错误,则汇编成功。

汇编后可生成3个文件:

●浮动的目标代码文件(*.OBJ):

其中,地址操作数是可浮动的相对地址。

●可打印的列表文件(*.LST):

将源程序和目标代码合并制成表。

●符号表文件(*.CRF):

反映源程序中符号的定义和引用情况。

其中,第1个文件是必须生成的,后2个文件可选择是否生成。

1.1.3、链接

由汇编生成的目标代码必须经过链接后才能生成可执行文件,这项工作由链接程序(LINK.EXE)来完成。

链接后生成可执行文件(*.EXE)

1.1.4、调试

调试的目的是验证程序的功能是否符合设计的目标。

IBMPC提供了一种调试程序:

DEBUG.EXE

在DEBUG环境下,可以使用DEBUG命令来调试程序。

常见的DEBUG命令参见P130表3-13。

1.28088实验仪的连机实验环境(DJ-8086k)

1.2.1、系统配置

实验仪和PC机通过RS232串行口相连。

这种配置形式可以充分利用PC机的软硬件资源,实现源程序的编辑、汇编和链接和调试。

可以利用PC机的键盘显示等输入输出设备完成各种软硬件实验。

此时,开关KB6要置“88”,选择8086系统和PC机通信。

1.2.2、DJ-8086k软件启动和联机

DJ-8086k是启东市东疆计算机公司为本实验仪配套的8088集成开发环境,用来在PC机上实现8088CPU的源程序编辑、汇编、链接和调试。

软件的启动和联机

双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件,屏幕显示DJ-8086k软件的工作窗口,底边状态栏由“下位机没有连接…”变成“连接上下位机”,说明联机成功,否则会弹出对话框提示:

“下位机没有连接…”,此时单击“OK”,实验系统和PC机处于脱机状态,然后用户根据连接硬件实际情况来设定COMl或COM2,设定方法如下:

依次单击菜单栏:

“设置(X)、通讯口设置(Z)、COM1或COM2”确定,然后点击‘打开端口’,状态设定后,系统会自动检测连接。

如果此时确定端口正确,但系统仍然没有连接,可按以下两种方法解决:

(1)单击工具栏上的“重新连接”按钮,即可联机;

(2)复位实验系统,使得数码管上显示监控提示符“P.”,然后关闭DJ-8086k软件,重新运行,故障即可排除。

联机失败原因及解决办法

●实验系统与PC机没有连接;

●实验系统电源没有打开;

●串口实际位置与软件设置不一致;

●通讯开关位置不正确,检查实验系统各状态设置开关是否正确; 

●软件有病毒;

●实验系统或PC机处于非正常状态。

对于⑴⑵⑷⑸的错误,只要在硬件上检查一下,或用杀毒软件清毒一下即可:

如文件已被破坏或需软件升级,可到本公司网站下载,网址:

WWW.QD-DJ.CN。

对于第⑶种错误,重复5.3.1操作,对第⑹种错误,联机之前先按一下实验系统RST复位按钮,使实验系统处于P态,否则说明实验系统不正常,应送当地销售部门或返厂维修。

如PC机工作失常也会引起联机失败,可关闭DJ-8086k软件,重新运行或调换PC机试一下。

1.2.3、DJ-8086k软件主窗口

软件启动后的界面如下图,可分为三个区域。

顶部为菜单栏和工具栏,提供调试全部命令和功能;中间部分为工作窗口区,提供软件调试、寄存器、标志位、存储器、汇编代码对照、编译信息显示等窗口;底部为状态栏,提示软件联机状态等信息。

图1-1DJ-8086k软件主窗口

1.2.4、源程序的编辑

从文件菜单[新建文件(S)]或点击

可创建一个新的源程序文件,并进入源程序编辑窗口。

从文件菜单[打开文件(T)]或点击

可打开一个已存在的源程序文件,并进入源程序编辑窗口。

进入源程序编辑窗口后,可以在该窗口下按照汇编语言格式或C语言格式的要求编辑源程序。

源程序编辑窗口打开后,编辑菜单有效。

此时,可以使用编辑菜单中的命令(剪切、复制、粘贴、查找等)来辅助源程序编辑。

源程序编辑完后,可点击

或从文件菜单[保存文件(V)]来保存正在编辑的源程序文件。

也可从文件菜单[另存为(W)]将当前正在编辑的源程序文件重命名保存。

保存时,注意选择合适的文件保存类型。

如果是汇编语言源程序,应选择后缀为“*.asm”;如果是C语言源程序,应选择后缀为“*.c”。

1.2.5、编译

将编辑完成的源程序转变为8088CPU的目标代码。

点击

或从[调试]菜单中选择[编译程序(N)],可以编译源文件并生成目标代码。

点击

或从[调试]菜单中选择[编译装载(Q)]进行,可以编译源文件并生成目标代码并自动装载程序。

如编译出错,会提示错误信息,待修改源文件正确后,重新编译即可。

1.2.6、仿真调试

在汇编完成无误时,可选择进行仿真调试。

装载程序

点击

或从[调试]菜单中选择[装载程序(O)]可以进行装载数据。

装载数据结束,几秒钟后便会弹出“源文件调试窗口”。

若编译选择[编译装载(Q)],则在编译完成后自动进行装载。

连续运行(F8)

从[调试]菜单中选择[连续运行(R)]或单击工具栏的连续运行图标

,即可全速连续运行程序。

程序单步(F7)

从[调试]菜单中选择[程序单步(S)]或单击工具栏的程序单步图标

,即可单步运行程序。

复位

菜单栏中“复位”无效,可单击工具栏的“复位”图标

,即可复位软件,寄存器置初值,指令指针返回到程序首地址。

第二章软件部分实验

实验一汇编语言上机环境及基本操作

一、实验目的及要求

1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、实验内容

1建立软件工作环境

为了正常运行汇编程序,需要如下程序:

masm.exe或tasm.exe

link.exe

debug.exe

2建立汇编文件

例在屏幕上输出'Thisisamasmsample!

'

使用edit编辑如下文件,并保存为sample.asm:

;Programisanexample

datasegment

astrDB'Thisisamasmsample!

',0dh,0AH,'$'

dataends

codesegment

assumeCS:

code,DS:

data

mainprocfar

start:

PUSHDS

XORAX,AX

PUSHAX

MOVAX,data

MOVDS,AX

LEADX,astr

MOVAH,09h

INT21h

RET

mainendp

codeends

endstart

1)使用汇编

c:

\>masmsample---开始汇编

Microsoft(R)MacroAssemblerVersion5.00

Copyright(C)MicrosoftCorp1981-1985,1987.……---软件提示

ObjectFilename[sample.obj]:

---提示输入目标文件名,可省略

Sourcelisting[Nul.lst]:

---提示输入列表文件名,可省略

Crossreference[NUL.crf]:

WarningSevere

注意:

若汇编的错误提示不为0,则须重新调用editsample.asm修改错误,然后再汇编,该过程直到错误提示为0为止。

2)使用link产生EXE文件

c:

\>linksample

………….

…………

Runfile[sample.exe]:

--提示输入可执行文件名,可以省略

Listfile[NUL.map]:

--提示输入连接映象文件

Libraries[.lib]--输入文件用到的库文件名

……

…..

3)执行

c:

\>sample或debugsample.exe

附:

ms-dos方式,是windows提供的一个字符界面的shell窗口,通过“开始\程序\ms-dos方式”进入ms-dos方式后,可以按下“ALt+Enter”获得全屏幕的窗口,再该窗口下,主要通过键入命令和观察结果获得交互信息。

命令简介

1、DIR命令

显示当前目录下的文件和目录

格式为:

dir

2、CD命令

改变当前工作目录

格式为:

cdd:

\student\your_name

3、MD命令

建立一个新的目录

格式为:

mdyour_name

4、DEL命令

删除文件

格式为:

delfirst01.asm

5、RD命令

删除目录,要求要删除的目录下无任何目录或文件

格式为:

rdyour_name

6、COPY命令

拷贝命令

格式为:

copyfirst01.asmfirst02.org(将文件first01.asm复制为first01.org)

实验二DEBUG调试程序的应用

一、实验目的及要求

1.了解并掌握常用DEBUG调试指令。

2.能够在熟悉汇编程序开发过程的同时,利用DEBUG调试环境对源程序进行调试、跟踪及修改相应的逻辑错误。

二、实验内容

1.直接启动DEBUG程序

如DEBUGCOM在C盘的根目录下,启动的方法是:

C:

\>DEBUG

这时屏幕上会出现“_"提示符,等待键入DEBUG命令。

2.启动DEBUG程序的同时装入被调试文件

命令格式如下:

C:

\>DEBUG[d:

][PATH]filename[.EXE]

其中,【d:

】【PATH】是被调试文件所在盘及其路径,filename是被调试文件的文件名,【.EXE】是被调试文件的扩展名。

例如:

BCDSUM.EXE可执行文件在A盘,用DEBUG对其进行调试的操作命令如下。

C:

\>DEBUGA:

\BCDSUN.EXE

DOS在调用DEBUG程序后,再由DEBUG把被调试文件装入内存,当被调试文件的扩展名为COM时,装入偏移量为100H的位置,当扩展名为EXE时,装入偏移量为0的位置,并建立程序段前缀PSP,为CPU寄存器设置初始值。

3.退出DEBUG

在DEBUG命令提示符“_"下键入Q命令,即可结束DEBUG的运行,返回DOS操作

系统。

4.在DEBUG环境下建立和汇编程序

在DEBUG环境下用户可以直接建立汇编语言源程序,并可以进行编辑修改,还可以进行汇编。

比如,在DEBUG下运行如下程序:

MOVDL,33H;字符3的ASCII码送DL

MOVAH,2;使用DOS的2号功能调用

INT21H进入功能调用,输出‘3'

INT20H:

BIOS中断服务,程序正常结束。

该程序运行结果是在显示器上输出一个字符‘3’。

如果要输出其它字符,请改变程序中‘33H’为相应字符的.ASCII码。

其中涉及DOS和BIOS功能调用。

因为我们是在DOS的支持下运行汇编语言程序,所以一般情况下,不能轻易使用输入输出指令直接通过端口输入/输出,而必须使用DOS内部提供的子程序完成输入输出。

DOS功能调用就是为诸如此类的目的设置的。

DOS功能调用要求在进入INT21H调用前,首先将功能调用号送AH寄存器,并根据功能调用号准备初始数据。

也就是说INT21H的2号功能调用是输出DL寄存器中的字符。

INT20H是BIOS中断服务,这一软中断用来正常结束程序。

运行步骤:

(1)进入DEBUG

设C盘上有DEBUG.COM程序,进入DOS环境后键人DEBUG,即

C:

\>DEBUG

随后屏幕显示:

“_"号是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。

现在用A命令输入程序如下。

(2)输入程序并汇编

_A100

169C:

0100MOVDL,33

169C:

0102MOVAH,2

169C:

0104INT21.

169C:

0106INT20

169C:

0108

至此程序已输入完毕,并汇编成机器指令。

现在用G命令运行程序如下:

(3)执行机器指令程序

_G=200

3

Programterminatednormally

5.编程,并对实验一中的源程序进行DEBUG调试。

附:

常用DEBUG命令

DEBUG命令是在命令提示符”_”下由键盘键入的。

每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键(ENTER)。

命令及参数的输入可以是大小写的结合。

Crtl+Break键可中止命令的执行。

Crtl+NumLoek键可暂停屏幕卷动,按任一键继续。

所用的操作数均为十六进制数,不必写H。

1.汇编命令A

格式:

(1)A<段寄存器名>:

<偏移地址>

(2)A<段地址>:

<偏移地址>

(3)A<偏移地址>

(4)A

功能:

汇编命令是将用户输入的汇编语言指令,汇编为可执行的机器指令。

键人该命令后显示段地址和偏移地址并等待用户从键盘逐条键入汇编语言指令。

每当输入一行语句后按“ENTER"键,输入的语句有效。

若输入的语句中有错,DEBUG会显示“^Error",要求用户重新输入,直到显示下一地址时用户直接键入回车键返回到提示符”_”。

其中

(1)用指定段寄存器内容作段地址;(3)用CS内谷作段地址;(4)以cs:

100作地址。

以后命令中提及的各种地址形式,均指

(1)、

(2)、(3)中A命令后的地址形式。

2.比较命令C

格式:

C<源地址范围>,<目标地址>

其中<范围>是由<起始地址×终止地址>指出的一片连续单元,或由<起始地址>L<长度>指定的。

功能:

从<源地址范围>的起始地址单元起逐个与目标起始地址以后的单元顺序比较单元的内容,直至源终止地址为止。

遇有不一致时,以<源地址><源内容><目标内容×目标地址>的形式显示失配单元及内容。

3.显示内存单元命令D

格式:

(1)D<地址>

(2)D<地址范围>

(3)D

其中

(1)以CS为段寄存器;(3)显示CS:

l00为起始地址的一片内存单元内容。

功能:

该命令将显示一片内存单元的内容,左边显示行首字节的段地址:

偏移地址,中间是以十六进制形式显示的指定范围的内存单元内容,右边是与十六进制数相对应字节的ASCII码字符,对不可见字符以'.'代替。

4.修改内存单元命令E

格式:

(1)E<地址><单元内容>

(2)E<地址><单元内容表>

其中<单元内容>是一个十六进制数,或是用引号'(或")括起来的字符串;<单元内容表>是以逗号分隔的十六进制数,或是用,或"括起来的字符串,或者是二者的组合。

功能:

(1)将指定内容写入指定单元后显示下一地址,以代替原来内容。

可连续键入修改内容,直至新地址出现后键入回车为止;

(2)将<单元内容表>逐一写入由<地址>开始的一片单元中,该功能可以将由指定地址开始的连续内存单元中的内容,修改为单元内容表中的内容。

例如:

_EDS:

30F8,AB,’AB’

该命令执行后,从DS:

30到DS:

33的连续4个存储单元的内容将被修改为F8H,ABH,4lH,42H。

5.填充内存命令F

格式:

F<范围><单元内容表>

功能:

将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。

例如:

F05BC:

200L10B2,‘XYZ',3C

该命令将由地址05BC:

200开始的10H(16)个存储单元顺序填充“B2,58,59,5A,3C,B3,58,59,5A,3C,B2,58,59,5A,3C,B2"

6.连续执行命令G

格式:

(1)G

(2)G=<地址>

(3)G=<地址>,<断点>

其中

(2)、(3)中的”=”是不可缺省的。

功能:

默认程序从CS:

IP开始执行。

程序从当前的指定偏移地址开始执行。

从指定地址开始执行,到断点自动停止并显示当前所有寄存器、状态标志位的内容和下一条要执行的指令。

DEBUG调试程序最多允许设置l0个断点。

7.跟踪命令T

格式:

T【=<地址>】【<条数>】

功能:

如果键入T命令后直接按“ENTER"键,则默认从CS:

IP开始执行程序,且每执行一条指令后要停下来,显示所有寄存器、状态标志位的内容和下一条要执行的指令。

用户也可以指定程序开始执行的起始地址。

<条数>的缺省值是一条,也可以由<条数>指定执行若干条命令后停下来。

例如:

T

该命令执行当前指令并显示所有寄存器、

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

当前位置:首页 > 求职职场 > 面试

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

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