微机原理综合实验指导书 联系客服

发布时间 : 星期二 文章微机原理综合实验指导书更新完毕开始阅读e16b7186c77da26925c5b0e0

微机原理综合实验指

导书

电子信息系2007

1

操作指导

1. emu8086s2.05安装

2. 选择emu8086v2.05图标,双击它,打开界面如下

3. 输入源代码

1)如果要建立新的程序代码,从file菜单中选择 NEW中的EXE Template, 将生 成..exe模块

2

在该模块中已经生成数据段、堆栈段、代码段的框架,只要将相应的段写入相应的位置即可。

2)如果要用已有的程序代码,从file菜单中选择 OPEN,并输入文件名 .ASM即可 4. 写完代码存盘,以..asm文件命名存盘,

5. 单击[Compile and Emulate] 健或按F5,开始进行编译,如果编译通过,将自动生

成.EXE文件,并进入仿真调试环境,如果出现错误,应在源代码中进行修改,再单击[Compile and Emulate] 健或按F5,重新进行编译,直到编译通过,自动生成.EXE文件,并进入仿真调试环境,如下图

它出现两个界面,一个是实际的源代码,另一个是装有要执行的源代码的8086仿真器 6. 程序调试

在仿真器界面上进行程序调试。单击[Single Step] (或按 F8 健), 单步执行,观察代码是如何被执行的。或者单击RUN健,全速执行程序 具体操作可查HELP文件中的

3

第一部分 基础性设计

一、基本程序设计(1、2、3、4必做)

一、设计目的

1. 熟悉emu8086仿真器的调试过程;

2. 了解8088/8086微机的各种数据寻址方式;熟悉程序的设计方法 3.逐步提高手译机器码、编写程序注释、画程序框图的能力 二、设计内容

1. 编写一段程序,把从BUFFER开始的100个字节的内存区域初始化为0ffh。

思考:若将该区域初始化为55H、0AAH、55H、0AAH…….、55H、0AAH,将如何设计程序?

2. 试编写程序,统计BUFFER为起始地址的连续30个单元中0的个数,并将结果存入

BUFFER中。

思考题:将统计结果显示在CRT上 3.从键盘上输入一串字符‘YOU ARE WELCOME’,并在CRT上显示出来,要求换行。编写实现该功能的程序段。

4、设计两个多字节无符号数加法运算的程序,核查结果是否正确。

要求:数1和数2分别是5字节长的无符号数,数1放在BUFFER1为起始地址的连续5个单元中,数2放在BUFFER2为起始地址的连续5个单元中,完成2个数相加后,结果放SUM单元中。

思考题:1)将结果显示在CRT上

2)若将数1减去数2,应如何设计程序? 5.查表程序设计 要求:

(1) 内存自TABLE开始连续16个单元中存放着0~15的平方值, (2) DATA中存放待查的任意数X(0≤X≤15)

(3) 通过查表,求X的平方值,并将结果放RESULT中 思考:如何将结果在微机屏幕上显示出来?

6.设计一个从一组无符号的数中查找最大值的程序,核查结果是否正确。

要求:

1) 采样值存放在自DATA开始连续L个单元中 2) 最大值置入MAX单元中。 思考题:1)将结果显示在CRT上

2)若要将这组采样值从大到小排序,设计满足要求的程序。 7.设计一个将十位十六进制数转换为ASCII码的程序,核查结果是否正确。 要求:

1) 要转换的十六进制数存放在在自DATA开始的连续单元中。 2) 转换后的ASCII码存放于RESULT开始的数据段中。

3) 思考:若将多个ASCII码转换成十六进制数,如何设计程序。

8.数据段中存放30个带符号的字数据,首地址TABLE,设计一程序,能够统计其

中正数、负数和零的个数,分别将个数存放在PLUS、MINUS和ZERO单元,并 将正数、负数和零的个数在微机屏幕上以16进制数的形式显示出来

4