实验一基本操作实验.docx

上传人:b****6 文档编号:3087170 上传时间:2022-11-17 格式:DOCX 页数:10 大小:312.74KB
下载 相关 举报
实验一基本操作实验.docx_第1页
第1页 / 共10页
实验一基本操作实验.docx_第2页
第2页 / 共10页
实验一基本操作实验.docx_第3页
第3页 / 共10页
实验一基本操作实验.docx_第4页
第4页 / 共10页
实验一基本操作实验.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验一基本操作实验.docx

《实验一基本操作实验.docx》由会员分享,可在线阅读,更多相关《实验一基本操作实验.docx(10页珍藏版)》请在冰豆网上搜索。

实验一基本操作实验.docx

实验一基本操作实验

实验一基本操作实验

 

实验报告

课程名称

实验名称

实验日期

学生专业

学生学号

学生姓名

实验室名称

教师姓名

成绩

南京理工大学机械工程学院

实验1基本操作实验

1.实验目的

(1)掌握TD-PITC80X86微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

(2)掌握使用运算类指令编程及调试方法;

(3)掌握运算类指令对各状态标志位的影响及其测试方法;

(4)学习使用软件监视变量的方法。

2.实验设备

PC机一台,TD-PITC实验装置一套。

3.实验内容及步骤

通过对样例程序的操作,学会在TD-PITC境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会:

●如何设置断点;

●如何单步运行程序;

●如何连续运行程序;

●怎样查看寄存器的内容;

●怎样修改寄存器的内容;

●怎样查看存储器的内容;

●怎样修改存储器的内容。

3.1实验内容1――――BCD码转换为二进制数

实验内容:

将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。

参考实验程序清单如下:

SSTACKSEGMENTSTACK

DW64DUP(?

SSTACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

XORAX,AX

MOVCX,0004H

MOVSI,3500H

MOVDI,3510H

A1:

MOVAL,[SI]

ADDAL,AL

MOVBL,AL

ADDAL,AL

ADDAL,AL

ADDAL,BL

INCSI

ADDAL,[SI]

MOV[DI],AL

INCSI

INCDI

LOOPA1

A2:

JMPA2

CODEENDS

ENDSTART

实验步骤:

1)运行Wmd86软件,进入Wmd86集成开发环境。

2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1所示。

语言选择后,下次再启动软件,语言环境保持这次的修改不变。

在这里,我们选择汇编语言。

图1-1语言环境选择界面

3)语言选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1-2所示。

默认文件名为Wmd861。

图1-2新建文件界面

4)编写实验程序,如图1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

 

 

5)点击

,编译文件,若程序编译无误,则输出如图1-4所示的输出信息,然后再点击

进行链接,链接无误输出如图1-5所示的输出信息。

图1-4编译输出信息界面图1-5链接输出信息界面

6)连接PC与实验系统的通讯电缆,打开实验系统电源。

7)编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。

可以通过端口列表中的“端口测试”来检查通讯是否正常。

点击

下载程序。

为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。

下载成功后,在输出区的结果窗中会显示“加载成功!

”,表示程序已正确下载。

起始运行语句下会有一条绿色的背景。

如图1-6所示。

8)将四个二位十进制数的BCD码存入3500H~3507H中,即:

将输出区切换到调试窗口,先键入E3500,然后输入0102030405060708(每个数用空格隔开),如图1-7所示。

存储器在初始状态时,默认数据为CC。

9)点击按钮

运行程序,然后再点击

来停止程序运行,接下来观察程序运行结果,使用命令D3510显示转换结果,应为:

0C22384E。

10)反复输入几组数据,验证程序功能。

图1-6加载成功输出显示界面

 

思考题:

1)叙述修改实验数据有几种方法?

这些方法各有什么特点?

答:

3种

①直接通过源程序的赋值语句来修改,特点是需要对程序进行修改和编译。

操作简单,但时间长。

②通过键入E命令对存储器的内容直接修改,特点是可一次修改多个变量,但需明确变量的地址。

③在变量区直接修改,特点是需将变量加入监视窗口,但变量不宜过多,

2)能否利用“调试窗口”直接对程序进行修改?

答:

能,输出结果都一样。

3)在调试窗口中用什么命令查看和修改寄存器的内容、查看存储器的内容、修改存储器的内容?

答:

用R命令查看和修改寄存器的内容,用D命令查看存储器的内容,用E命令修改存储器的内容。

3.2实验内容2――――二进制双精度加法运算

实验内容:

计算X+Y=Z,将结果Z存入某存储单元。

实验程序参考如下。

本实验是双精度(2个16位,即32位)加法运算,编程时可利用累加器AX,先求低16位的和,并将运算结果存入低地址存储单元,然后求高16位的和,将结果存入高地址存储单元中。

由于低16运算后可能向高位产生进位,因此高16位运算时使用ADC指令,这样在低16位相加运算有进位时,高位相加会加上CF中的1。

参考实验程序清单:

SSTACKSEGMENTSTACK

DW64DUP(?

SSTACKENDS

PUBLICXH,XL,YH,YL,ZH,ZL;设置全局变量

DATASEGMENT

XLDW?

;X低位

XHDW?

;X高位

YLDW?

;Y低位

YHDW?

;Y高位

ZLDW?

;Z低位

ZHDW?

;Z高位

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,XL

ADDAX,YL;X低位加Y低位

MOVZL,AX;低位和存到Z的低位

MOVAX,XH

ADCAX,YH;高位带进位加

MOVZH,AX;存高位结果

JMPSTART;在此行设置断点,以观察变量值

CODEENDS

ENDSTART

实验步骤

(1)编写程序,经编译、链接无误后装入系统;

(2)程序装载完成后,点击‘变量区’标签将观察窗切换到变量监视窗口;

(3)点击菜单条上

,将变量XH,XL,YH,YL,ZH,ZL添加到变量监视窗中,然后修改XH,XL,YH,YL的值,如图1-7所示,修改XH为0015,XL为65A0,YH为0021,YL为B79E;

(4)在JMPSTART语句行设置断点,然后运行程序;

(5)当程序遇到断点后停止运行,查看变量监视窗口,计算结果ZH为0037,ZL为1D3E;

 

思考题:

1、如何利用E命令直接修改XH、XL、YH、YL变量的值,并求出

ZL、ZH?

答:

重新加载程序后,在寄存器窗口中读出DS值为0208以此为起始地址语句中数据所在的数据段基址地址,因此逻辑地址为0208:

0000。

再将输出区调换至调试区,输入命令“E0208:

0000”按回车键,依次输入AH,AL,YH,YL.在JMPSTART除设置断点,运行程序,在调试区输入“D0208:

0000”回车,即可得到相应结果。

2、直接修改源程序,将XH为0015H,XL为65A0H,YH为0021H,

YL为0B79EH,求出ZL、ZH的值。

答:

直接修改程序如下:

可得到对应结果。

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

当前位置:首页 > 法律文书 > 调解书

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

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