微机原理实验讲义(电子14级)

更新时间:2024-05-26 05:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一部分 汇编语言程序设计

实验一 汇编语言程序设计基础

[实验目的]

1. 学习和掌握汇编语言程序的基本结构和上机过程。 2. 学习和掌握顺序程序设计的方法 3. 学习和掌握汇编语言程序的调试方法。

4. 学习EMU8086和MASM FOR WINDOWS软件的使用。 [实验要求]

1、上机前要做好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。

2、上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与试验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序)的使用方法。在程序的调试过程中,有意识的学习及掌握程序的各种操作命令以便掌握程序的调试方法及技巧。 [实验器材]

微型计算机、WINDOWS操作系统、DOS系统、DEBUG程序、MASM 5.0 [实验内容]

1. 编写程序,在屏幕上分行显示自己的姓名、学号和欢迎信息,每个信息显示在不同

的行。

2. 编写程序,通过键盘输入0——9之间的一个数字,利用查表法计算其平方。 3. 在数据段定义x、y、res1、res2、res3、res4,分别计算x和y的和、差、积、商,

分别存放在变量res1、res2、res3、res4中,变换不同的x和y的值,进行计算,分析和记录计算结果以及相关标志位的状态。验证程序是否正确。

4. 在数据段定义x、y、res1、res2、res3、res4,分别计算x和y的与、或、非、异

或的结果,分别存放在变量res1、res2、res3、res4中,变换不同的x和y的值,进行计算,分析和记录计算结果以及相关标志位的状态。验证程序是否正确。 5. 将字节型变量x和y交换。 [实验步骤]

1. 编辑源程序。(注意:保存文件时文件的扩展名必须为.asm,最好将文件保存在自

己的文件夹下)。

2. 汇编源程序,应用MASM.EXE对源程序进行汇编,生成.obj的目标文件和.lst的列

表文件,通过列表文件查看并记录其中一个程序的目标代码。

3. 连接目标程序,应用LINK.EXE对目标模块进行连接,生成 .EXE的可执行文件,执

行可执行文件,验证程序功能。

4. 调试程序,若程序执行有问题,用debug.exe进行调试。

注:若使用MASM FOR WINDOWS,直接在WINDOWS下双击MASM FOR WINDOWS图标,打开MASM FOR WINDOWS,在右边的程序编辑窗口中录入程序,录入完毕后保存程序、然后可以直接执行。具体说明查看程序自带的软件使用说明。[实验报告要求]

1. 实验前必须写好预习报告,预习报告按照实验报告的要求写,源程序必须准备好,

做完实验后将运行结果写上,在写上分析讨论即为实验报告。没有预习报告不允许做实验。

2. 实验报告中要求包含实验目的、实验器材、实验内容、各实验内容对应的源程序清

单及预期结果、上机执行结果、实验讨论等部分。在讨论部分主要说明所出现的错误,解决的方法及实验收获。

3. 预习报告中要准备好除上机执行结果和实验讨论以外的所有项目。

4. 实验报告要求在下次实验前交到学习委员处,学习委员按学号排好后在做下次实验

时交到实验室。

实验三 分支程序设计

[实验目的]

1. 掌握分支程序的基本结构和设计方法。 2. 掌握分支程序上机运行和调试方法。 3. 熟悉DEBUG的使用。 [实验设备]

微型计算机、WINDOWS操作系统、DOS系统、DEBUG程序、MASM 、LINK、CREF。(汇编程序也可以使用MASM FOR WINDOWS) [实验内容]

?1x?0?x?0 ,要求x和y存放在内存单元中1. 用分支结构设计程序实现符号函数y??0??1x?0?,并将判断的结果在屏幕上显示输出。

2. 在键盘上输入一个字符,判断是否为小写字母,若不是,显示错误信息,若是,则

将其转换为大写字母并显示。

3. 在键盘上输入一个字符,判断它是一个数字、大写字母还是小写字母,若为数字,

则显示digital,若为字母,显示letter,否则,显示other。 4. 将字节型变量x的低四位(一位十六进制数)以十六进制数的形式显示。

(以上内容要求至少完成两个) [实验步骤] 1. 编辑源程序。

2. 汇编源程序,生成.obj的目标文件和.lst的列表文件。

3. 连接目标程序,生成 .EXE的可执行文件,执行该文件,验证程序功能。 4. 调试程序,若程序执行有问题,用debug.exe进行调试。 [实验报告要求]

1. 实验报告中要求包含实验目的、实验器材、实验内容、各实验内容对应的源程序清

单及预期结果、上机执行结果、实验讨论等部分。在讨论部分主要说明所出现的错误,解决的方法及实验收获。

2. 预习报告中要准备好除上机执行结果和实验讨论以外的所有项目。

3. 实验报告要求在下次实验前交到学习委员处,学习委员按学号排好后在做下次实验

时交到实验室。

实验四 循环程序设计

[实验目的]

1. 加深对循环结构的理解。 2. 掌握循环程序的设计方法。 [实验设备]

微型计算机、WINDOWS操作系统、DOS系统、DEBUG程序、MASM 、LINK、CREF。(汇编程序也可以使用MASM FOR WINDOWS) [实验内容]

1. 编程计算S=1+2·3+3·4+4·5+……+N(N+1)+100。

2. 编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为

止,并将结果由屏幕上显示出来。

3. 编程计算S=1+2·3+3·4+4·5+……+N(N+1)+100。 4. 将字形变量x以二进制数的形式在屏幕上显示输出。 5. 将字形变量x以十六进制数的形式在屏幕上显示输出。

6. 将内存单元缓冲区中的符号数(20个)按从小到大的顺序排列,并以十六进制数的形

式显示。 [实验步骤] 1. 编辑源程序。

2. 汇编源程序,生成.obj的目标文件和.lst的列表文件。

3. 连接目标程序,生成 .EXE的可执行文件,执行该文件,验证程序功能。 4. 调试程序,若程序执行有问题,用debug.exe进行调试。 [实验报告要求]

1. 实验报告中要求包含实验目的、实验器材、实验内容、各实验内容对应的源程序清

单及预期结果、上机执行结果、实验讨论等部分。在讨论部分主要说明所出现的错误,解决的方法及实验收获。

2. 预习报告中要准备好除上机执行结果和实验讨论以外的所有项目。

3. 实验报告要求在下次实验前交到学习委员处,学习委员按学号排好后在做下次实验

时交到实验室。

第二部分Proteus仿真部分

实验一 简单输入输出实验

实验目的

1. 掌握Proteus软件的基本使用方法; 2. 掌握8086系统总线的产生方法;

3. 理解IO译码方法;

4. 掌握简单输入输出的方法,以74LS273为输出口控制LED灯显示。编写程序,实现不同的显示效果。 实验设备

微型计算机、操作系统、汇编程序、仿真软件PROTEUS。 实验内容

1. 控制LED灯实现流水灯显示。 2. 控制LED灯实现彩灯显示。 4. 利用LED灯仿真交通灯控制。 实验步骤

1. 在Proteus软件下选择器件。 2. 在Proteus软件下放置元器件。 3. 在Proteus软件下连接电路。 4. 在在Proteus软件下检查连接。

5. 设计程序,汇编、连接并生成可执行文件。 6. 加载可执行文件,加载程序,仿真实现指定功能。 实验要求

1. 掌握Proteus软件的使用方法,在Proteus软件环境中能够绘制微机系统的连线图。 2. 掌握在Proteus软件环境装载程序的方法,能够利用MASM for WINDOWS软件编写8086汇编程序,并编译生成可执行文件。

3. 按照所提供的电路图,编写程序,控制LED灯的显示。

4. 编写程序,控制三色LED灯(可发红、绿、黄光),模拟十字路口交通灯管理。

实验二 定时器/计数器实验

实验目的

1. 了解8253定时器的硬件连接方法及时序关系。 2. 掌握8253的各种模式编程及原理。 实验设备

微型计算机、WINDOWS操作系统、DOS系统、DEBUG程序、MASM 、LINK、CREF。(汇编程序也可以使用MASM FOR WINDOWS) 实验电路及连线

见目录中Proteus文件:8086实验二.DSN。 实验内容

1. 编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器3设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,用示波器观察各定时器的输出波形。设计定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。

2. 修改定时器初值,运行程序,重复实验要求2。

3. 设计电路并编程,使OUT2引脚输出100Hz的方波,用示波器验证你的结果。 实验步骤

1. 在Proteus软件下选择器件,连接电路。 2. 编写程序,生成可执行文件。 3. 加载程序,仿真实现指定功能。 实验要求

8253的工作频率为0~2M Hz,所以输入的CLK频率必须在2MHz以下。

微型计算机、WINDOWS操作系统、DOS系统、DEBUG程序、MASM 、LINK、CREF。(汇编程序也可以使用MASM FOR WINDOWS) 实验电路及连线

见目录中Proteus文件:8086实验二.DSN。 实验内容

1. 编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器3设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,用示波器观察各定时器的输出波形。设计定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。

2. 修改定时器初值,运行程序,重复实验要求2。

3. 设计电路并编程,使OUT2引脚输出100Hz的方波,用示波器验证你的结果。 实验步骤

1. 在Proteus软件下选择器件,连接电路。 2. 编写程序,生成可执行文件。 3. 加载程序,仿真实现指定功能。 实验要求

8253的工作频率为0~2M Hz,所以输入的CLK频率必须在2MHz以下。

本文来源:https://www.bwwdw.com/article/cg87.html

Top