汇编语言程序设计实验篇emu8086Word格式.docx

上传人:b****4 文档编号:13514476 上传时间:2022-10-11 格式:DOCX 页数:48 大小:32.87KB
下载 相关 举报
汇编语言程序设计实验篇emu8086Word格式.docx_第1页
第1页 / 共48页
汇编语言程序设计实验篇emu8086Word格式.docx_第2页
第2页 / 共48页
汇编语言程序设计实验篇emu8086Word格式.docx_第3页
第3页 / 共48页
汇编语言程序设计实验篇emu8086Word格式.docx_第4页
第4页 / 共48页
汇编语言程序设计实验篇emu8086Word格式.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

汇编语言程序设计实验篇emu8086Word格式.docx

《汇编语言程序设计实验篇emu8086Word格式.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计实验篇emu8086Word格式.docx(48页珍藏版)》请在冰豆网上搜索。

汇编语言程序设计实验篇emu8086Word格式.docx

输入全部指令后,单击按钮,保存相应的程序段。

2.EXETEMPLATE程序

本章与DOS功能调用和汇编源程序相关的实验都是用EXETEMPLATE程序完成的。

打开emu8086,在“welcome”对话框中,单击按钮,创建文件。

2/33

在“choosecodetemplate”对话框中,选择“EXEtemplate-advancedexecutable:

relocation,

checksum.”后,单击按钮。

在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码

段的定义以及必要的功能调用等,在“addyourdatahere”和“;

addyourcodehere”部分可以分别输入相应的变量定义和指令。

3/33

输入全部指令后,单击按钮,保存相应的程序。

1.1.2执行程序

在编辑界面中,如图所示,单击按钮,自动完成源程序的编译和链接。

“emulator”对话框中(),左边部分列出了寄存器的当前值,右边部分是已经输入的程序

段,中间部分是右边每条指令的物理地址和对应的机器代码,中间的文本框中列出了当前指

令的CS和IP。

单击按钮,可以单步执行一条指令;

单击按钮,可

以一次执行完所有程序;

单击按钮,可以重新回到第一条指令的位置处;

单击

按钮,可以重新加载另一个程序。

4/33

修改“emulator”对话框中文本框的内容,也可以观察其它段的内容,在图所示界面中,

DS=0700H,若要察看该数据段中偏移地址为6000H位置处的内存单元内容,可以在文本框

中输入0700:

6000,显示结果如图所示,中间部分依次列出从该地址开始的所有字节的内容。

在“emulator”对话框的底部,单击按钮,可以观察栈的内容;

单击按

5/33

钮,可以观察标志寄存器中标志位的内容。

在“emulator”对话框中,选择“view”菜单中的“memory”菜单项,也可以观察内存的情况。

在“RandomAccessMemory”对话框中,可以修改文本框中的值可以确定所要观察的地址,该值由段基地址:

段内偏移地址构成,如图所示,当前要观察的内存地址为

(6000:

0010)。

在显示结果中,左边是逻辑地址,中间是从该地址的开始连续16个字节的

内容,右边是每个字节对应的字符。

在该对话框中,也可以直接修改存储器单元的值,如图

所示,从60010H开始的连续4个字节的内容已经被修改为12H,34H,56H和78H。

1.2基础实验

1.2.1数据传送指令

1.实验目的

1)熟悉8086指令系统的数据传送指令及8086的寻址方式。

2)利用emu8086调试工具调试汇编程序。

2.实验设备

微型计算机、emu8086

3.实验原理

通用数据传送指令包括:

1)通用数据传送指令,如MOV,PUSH,POP,XCHG,CBW,CWD;

2)目标地址传送指令,如LDS,LES;

3)标志传送指令,如LAHF,SAHF,PUSHF,POPF;

4)输入输

出指令,如IN,OUT,LEA

6/33

寻址方式包括:

1)立即寻址;

2)直接寻址;

3)寄存器寻址;

4)寄存器间接寻值;

5)寄存器相对寻址;

6)基址-变址寻址;

7)基址—变址—相对寻址;

8)隐含寻址

4.实验内容

(1)创建COMTEMPLATE程序,输入以下程序段,观察程序的执行情况,程序段如下:

MOV

BL,08H

;

BX=?

CL,BL

CL=?

AX,03FFH

AX=?

BX,AX

DS:

[6000H],BX

[6000H]=?

(提示:

在emulator对话框中间的文本框中

输入段基地址:

段内偏移地址,可以观察其它逻辑段相应存储单元的内容)

(2)创建COMTEMPLATE程序,用以下程序段将一组数据压入PUSH堆栈区,然后通过

三种不同方式出栈。

观察栈的变化情况(提示:

在emulator对话框中,单击按钮可

以察看栈中内容)以及出栈后数据的变化情况,并把结果填入表1-1中。

程序段如下:

MOVAX,0102H

MOVBX,0304H

MOVCX,0506H

MOVDX,0708H

PUSHAX

PUSHBX

PUSHCX

PUSHDX

第—种出栈方式的指令序列:

POPDX

POPCX

POPBX

POPAX

第二种出栈方式的指令序列(注:

替换掉第—种出栈方式的指令序列):

第三种出栈方式的指令序列(注:

替换掉第二种出栈方式的指令序列):

表1-1数据传送实验结果表格

寄存器的值第一种出栈方式第二种出栈方式第三种出栈方式

(AX)=

(BX)=

(CX)=

7/33

(DX)=

(3)创建COMTEMPLATE程序,分别输入下列指令,按要求设置各寄存器及内存单元的

值(提示:

在“emulator”对话框中,可以直接修改寄存器的值;

选择“view”菜单中的“memory”菜单项可以设置内存单元的值),其中BX=0010H,SI=0001H,[60010H]=12H,[60011H]

=34H,[60012H]=56H,[60013H]=78H,[60120H]=0ABH,[60121H]=0CDH,[60122H]

=0EFH,观察指令执行后AX中的内容。

1)MOVAX,1200H

2)MOVAX,BX

3)MOVAX,[0120H]

4)MOVAX,[BX]

5)MOVAX,0110H[BX]

6)MOVAX,[BX][SI]

7)MOVAX,0110H[BX][SI]

(4)创建COMTEMPLATE程序,试分别用8086的直接寻址、寄存器间接寻址、变址寻

址、寄存器相对寻址传送指令编写程序段,将DS:

6000H字节存储单元中的内容传送到

6020H单元中。

(5)设AX=1111H,BX=2222H,[DS:

6010H]=3333H。

试编写COMTEMPLATE程序,将

AX的内容与BX的内容交换,然后再将BX的内容与DS:

6010H单元的内容进行交换。

(6)若[DS:

6000H]=0EEFFH,[ES:

7000H]=0CCDDH,请编写COMTEMPLATE程序,将

两个存储单元的内容交换。

5.实验习题

指出下列指令的错误并加以改正,并在emu8086中验证。

1)MOV[BX],[SI]

2)MOVAH,BX

3)MOVAX,[SI][DI]

4)MOVBYTEPTR[BX],2000H

5)MOVCS,AX

6)MOVDS,2000H

6.实验报告要求

1)整理源程序段和运行结果。

2)给出几种在emu8086中察看内存单元的方法。

1.2.2算术逻辑运算指令

1.实验目的

1)熟悉算术逻辑运算指令的功能。

2)了解标志寄存器中各标志位的意义以及指令执行对它的影响。

8/33

2.实验设备

算术运算指令包括:

1)加法指令,如ADD,ADC,INC;

2)减法指令,如

SUB,SBB,DEC,NEG,CMP;

3)乘法指令,如MUL,IMUL;

4)除法指令,如DIV,IDIV。

逻辑运算指令包括:

AND,OR,NOT,XOR,TEST

4.实验内容

(1)创建COMTEMPLATE程序,输入以下程序段,单步执行并记录标志位的变化情况(提

示:

在emulator对话框中,单击按钮察看标志寄存器的值)。

程序段及结果表格如

表1-2。

表1-2算术逻辑运算实验结果表格

标志位CFZFSFOFPFAF

程序

程序段1

MOVAX,1018H

MOVSI,230AH

ADDAX,SI

ADDAL,30H

MOVBX,3FFH

ADDAX,BX

MOV[20H],1000H

ADD[20H],AX

程序段2

MOVAX,0A0AH

ADDAX,0FFFFH

MOVCX,0FF00H

ADCAX,CX

SUBAX,AX

INCAX

ORCX,0FFH

ANDCX,0F0FH

MOV[10H],CX

程序段3

9/33

MOVBL,25H

MOVBYTEPTR[10H],4

MOVAL

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

当前位置:首页 > 高等教育 > 文学

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

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