8086实验指导书免费.docx

上传人:b****1 文档编号:662385 上传时间:2022-10-11 格式:DOCX 页数:35 大小:188.86KB
下载 相关 举报
8086实验指导书免费.docx_第1页
第1页 / 共35页
8086实验指导书免费.docx_第2页
第2页 / 共35页
8086实验指导书免费.docx_第3页
第3页 / 共35页
8086实验指导书免费.docx_第4页
第4页 / 共35页
8086实验指导书免费.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

8086实验指导书免费.docx

《8086实验指导书免费.docx》由会员分享,可在线阅读,更多相关《8086实验指导书免费.docx(35页珍藏版)》请在冰豆网上搜索。

8086实验指导书免费.docx

8086实验指导书免费

8086实验指导书免费

实验一系统认识实验

一、实验目的

掌握TDN86/51教学系统的基本操作

二、实验设备

TDN86/51教学实验系统一台

三、实验内容及步骤

1.系统认识实验

(1)

(1)程序的输入与修改

从3500H内存单元开始建立0-15共16个数据。

实验步骤

a.使用串行通讯电缆将实验系统与PC微机相连。

b.将位于线路板右下角的系统状态选择开关拨至86档,开启实验系统。

c.在系统软件所在目录下键入MD86↙,选择对应串口号,进入集成操作软件环境,出现系统提示符“>”。

按下F1功能键,进入全屏幕编辑界面,按ALT+F建立新文件(NEW),即可开始输入源程序。

实验程序及流程如下:

STACKSEGMENTSTACK;8088宏汇编程序

DW64DUP(?

);定义堆栈段

STACKENDS

CODESEGMENT;定义代码段

ASSUMECS:

CODE

START:

MOVDI,3500H;程序开始设数据区首址

MOVCX,0010H;字节数送入CX中

MOVAX,0000H

SAHF

A1:

MOV[DI],AL;写入一字节

INCDI;修改地址指针

INCAX;修改数据

DAA;十进制调整

LOOPA1;未填完转移

A2:

JMPA2

CODEENDS;代码段结束

ENDSTART;程序段结束

d.输入程序后,按F2保存程序(规定扩展名为*.asm),使用ALT+X返回集成软件环境。

e.按F2,输入源程序名↙(省略扩展名,系统默认为.asm),对源程序进行汇编,生成目标文件(*.obj)及错误信息文件(*.m)。

若给出LST文件名则生成相应*.lst文件。

f.汇编无误后,按F3输入文件名↙对汇编生成的*.obj文件进行连接,连接信息显示于屏幕上,生成相应*.exe可执行文件。

g.按F5,输入*.exe可执行文件名↙,填入程序段地址CS:

0000↙及偏移地址IP:

2000↙,PC开始将程序从磁盘装入到教学系统内存,提示装载完毕后使用U0000:

2000↙命令进行反汇编,检查程序是否正确装入。

显示信息

键入信息

>

U2000

2000BF0035MOVDI,3500

U↙

2003B91000MOVCX,0010

U↙

h.当发现源程序输入错误或需要调整时,在调试界面下可用A命令来修改,如修改2000句为MOVDI,3500的操作如下:

显示信息

键入信息

>

A2000↙

0000:

2000

MOVDI,3500

0000:

2003

(2)运行程序

系统提供了单步运行、设断点运行、连续运行等方式,具体操作如下:

a.单步运行:

其操作如下表,每运行一条指令后会显示下一条待执行指令并以蓝底白字显示变化寄存器的内容,重复T↙(或按F4键)就可一步一步地运行,直至程序结束。

b.连续运行:

在“>”提示符下键入G=0000:

2000↙(在系统默认段地址CS=0000情况下也可直接键入G=2000↙)可连续运行程序,在运行过程中,可通过CTRL+C终止程序运行,返回监控状态;也可通过CTRL+S暂停程序运行,按任意键继续。

c.断点运行:

在程序中可用B命令定义断点,系统规定至多定义10个断点,例如:

显示信息

键入信息

>

B↙

[0:

]

2009

[1:

]

>

上例中定义了2009地址为断点,每次键入GB=0000:

2000↙程序连续运行至断点时,程序中断并显示当前各寄存器内容。

GB是G命令的扩充,表示含断点连续运行程序,断点仅当系统复位时清除。

(3)内存单元内容的显示:

使用D=0000:

3500↙可查看3500H-350FH单元中的内容是否为0-15共16个数。

(4)内存单元内容的修改:

若要修改某一单元内容,可进行如下操作,其中,“空格”键用于向待编辑单元的高地址方向移动地址,而“-”键则向反方向移动地址;用↙来响应,就退出E命令。

显示信息

键入信息

>

E3500↙

0000:

3500000_

01space

0000:

3500101_

Space

0000:

3500202_

0000:

3500303_

>

2.系统操作练习

(2)

将内存3500H单元开始的0-15共16个数据传递到3600H单元开始的数据区中。

实验程序及流程如下:

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVSI,3500H;建立源地址指针

MOVDI,3600H;建立目标地址指针

MOVCX,0008H;字数送入CX寄存器中

A1:

MOVAX,[SI];取源数据一字送入AX中

MOV[DI],AX;将源数据送入目标地址单元中

INCSI;修正指针

INCSI

INCDI

INCDI

DECCX;修改循环次数

JNZA1;判断是否传送完毕

A2:

JMPA2

CODEENDS;代码段结束

ENDSTART;程序段结束

实验步骤

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)E3500↙,在3500-350F单元中分别送入00、01、02…。

(3)G=0000:

2000↙,运行以上程序,按CTRL+C中断,返回监控。

(4)D3600↙,显示结果:

3600000102…。

实验二数码转换编程及程序调试

一、实验目的

1.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。

2.熟悉键盘使用方法。

3.熟悉调试程序的方法

二、实验设备

TDN86/51教学实验系统一台

三、实验内容及步骤

计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。

因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。

计算机与外设间的数码转换关系如图2-1所示,数码对应关系如表2-1所示。

 

表2-1数码对应关系

十六进制数

BCD码

二进制机器码

ASCII码

七段码

共阳

共阴

0

0000

0000

30H

40H

3FH

1

0001

0001

31H

79H

06H

2

0010

0010

32H

24H

5BH

3

0011

0011

33H

30H

4FH

4

0100

0100

34H

19H

66H

5

0101

0101

35H

12H

6DH

6

0110

0110

36H

02H

7DH

7

0111

0111

37H

78H

07H

8

1000

1000

38H

00H

7FH

9

1001

1001

39H

18H

67H

A

1010

41H

08H

77H

B

1011

42H

03H

7CH

C

1100

43H

46H

39H

D

1101

44H

21H

5EH

E

1110

45H

06H

79H

F

1111

46H

0EH

71H

1.将ASCII码表示的十进制数转换为二进制数

十进制表示为:

┅┅┅┅┅┅┅┅┅

(1)

Di代表十进制数1,2,3,┅9,0;

上式转换为:

┅┅┅┅┅┅┅┅┅

(2)

由式

(2)可归纳十进制数转换为二进制数的方法:

从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。

程序流程及参考程序如下:

(规定:

被转换的ASCII码十进制数存放在3500H-3504H单元中,转换结果存在于3510H-3511H单元中。

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVSI,3500H

MOVDI,3510H

MOVBX,000AH

MOVCX,0004H

MOVAH,00H

MOVAL,[SI]

SUBAL,30H

A1:

IMULBX

ADDAL,[SI+01]

SUBAL,30H

INCSI

LOOPA1

MOV[DI],AX

A2:

JMPA2

CODEENDS

ENDSTART

实验步骤

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)在3500-3504H单元存入十进制数12的ASCII码,即E3500↙,并输入3030303132。

(3)G=0000:

2000↙,运行以上程序,并用CTRL+C来中断程序,返回监控状态。

(4)用D3510↙查看结果,应为:

35100C00。

(5)反复试几组数,考察程序的正确性。

2.将十进制数的ASCII码转换为BCD码

设从键盘输入的五位十进制数的ASCII码已存放在3500H起始的内存单元内,把它转换为BCD码后,再按位分别存入350AH起始的内存单元内。

若输入的不是十进制数的ASCII码,则对应存放结果的单元内容为“FF”。

由表2-1可知,一字节ASCII码取其低四位即变为BCD码。

实验程序及流程如下:

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVCX,0005H;循环计数器赋初值

MOVDI,3500H;ASCII码首地址

A1:

MOVBL,0FFH;将错误标志送入BL

MOVAL,[DI];送ASCII码至AL

CMPAL,3AH;比较AL与3AH

JNBA2;不低于3AH则转A2

SUBAL,30H;低于3AH则取ASCII码低4位

JBA2;低于30H则转A2

MOVBL,AL;否则AL内容送入BL,取代FFH

A2:

MOVAL,BL;结果或错误标志送入AL

MOV[DI+0AH],AL

INCDI

LOOPA1

A3:

JMPA3

CODEENDS

ENDSTART

实验步骤

(1)输入程序并检查无误,经汇编,连接后装入系统。

(2)在3500-3504H单元中存放五位十进制数的ASCII码,即:

E3500↙,并输入3132333435。

(3)G=0000:

2000↙,运行以上程序。

(4)用D3510↙查看结果,显示结果应为:

0000:

350A000102030405CC…

(5)反复试几组数,考察程序的正确性。

四.思考题

程序2将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?

为什么?

实验三运算类编程实验

一、实验目的

1.掌握使用运算类指令编程

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

当前位置:首页 > 初中教育 > 科学

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

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