燕山大学汇编语言实验答案Word文档格式.docx

上传人:b****3 文档编号:15714228 上传时间:2022-11-15 格式:DOCX 页数:21 大小:1.63MB
下载 相关 举报
燕山大学汇编语言实验答案Word文档格式.docx_第1页
第1页 / 共21页
燕山大学汇编语言实验答案Word文档格式.docx_第2页
第2页 / 共21页
燕山大学汇编语言实验答案Word文档格式.docx_第3页
第3页 / 共21页
燕山大学汇编语言实验答案Word文档格式.docx_第4页
第4页 / 共21页
燕山大学汇编语言实验答案Word文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

燕山大学汇编语言实验答案Word文档格式.docx

《燕山大学汇编语言实验答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《燕山大学汇编语言实验答案Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

燕山大学汇编语言实验答案Word文档格式.docx

-R

3.用DEBUG的Assemble命令输入汇编源程序。

格式:

A[内存地址]

注:

用“[]”符号括起来的部分表示可以省略。

该命令的功能是从指定的内存地址开始(括号不要输入)逐条输入汇编语言源程序并汇编成机器码存入内存。

若地址缺省,则接上一个A命令最后一条指令之后输入汇编语句,若没有用过A命令,则从CS:

0100H地址开始输入。

-A

0CD3:

0100-

在输入A命令之后,或每输入一条指令之后,显示器的左端给出了内存的段地址和偏移地址。

每条指令均用回车(↙)结束。

若输入的指令有语法错误,DEBUG拒绝接收,并给出提示,此时可以重新输入。

程序的最后一条指令输入完之后,再按一次回车键(↙),即可结束汇编命令,回到DEBUG提示符“-”状态。

4.用DEBUG的Unassemble命令反汇编。

U[起始地址[终止地址]]

该命令的功能是从起始地址到终止地址反汇编目标码,缺省值是接上一个U命令或从CS:

0100H地址开始。

-U

显示器上将显示程序的内存地址、指令机器码的汇编源程序三列对照清单。

5.用DEBUG的Trace命令单步跟踪程序。

T[=起始地址][指令条数]

该命令的功能是从指定的起始地址开始逐条执行指令,每执行完一条指令,屏幕显示所有寄存器内容和下一条指令地址和指令。

若[=起始地址]缺省,则T命令从CS:

IP地址开始执行指令。

例如:

-T↙

重复这一过程,即可看到每条指令执行后,所有寄存器和标志寄存器的标志位内容。

此时,要检查内存单元的数据,可用DEBUG的D命令。

6.用DEBUG的Dump命令显示存贮器单元的内容。

D[起始地址[终止地址]]

该命令的功能是从起始地址到终止地址,连续显示存贮器单元的内容。

若地址缺省,则接上一个D命令或从DS:

0100H地址开始显示。

-D↙

参考程序:

MOVAX,2000;

AL=00H

MOVDS,AX;

DS=2000H

NOTAX;

AX=DFFFH

XORAX,AX;

AX=0000H

DECAX;

AX=FFFFH

INCAX;

MOVBX,2030;

BH=20H

MOVSI,BX;

SI=2030H

MOV[SI],BL;

[2030H]=30H

MOVWORDPTR[SI],10F;

[2030H]=0FH[2031H]=01H

MOVDI,SI;

DI=2030H

MOV[DI+50],BH;

[DI+50H]=20H

MOVBH,[SI];

BH=0FH

MOVBL,[DI+50];

BL=20H

MOVSP,5000

PUSHAX;

AX=0000H[SS:

4FFEH]=00H[SS:

4FFFH]=00H

PUSHBX;

BX=0F20H[SS:

4FFCH]=20H[SS:

4FFDH]=0FH

POPAX;

AX=0F20H

POPF;

F=00000000

NEGBX;

BX=F0E0H

XCHGBX,AX;

BX=0F20H

STD;

F=01010001

STI;

F=01110001

CLD;

F=00110001

CLI;

F=00010001

ADCDI,2050;

DI=4081HF=00000010

ADCSP,DI;

SP=9081HF=

ADCAX,1500;

AX=05E0HF=00000001

SUBAX,BX;

AX=F6C0HBX=0F20H

SHLAH,1;

AH=ECH

RCLAX,1;

AX=D981H

SHRBH,1;

BH=07H

RCRBL,1;

BL=90H

MOVCL,4

MOVDX,80F0

ROLDX,CL;

DX=0F08HCL=04H

INT20;

CS=00A7HIP=1072H

五、实验报告要求

1.整理每条指令执行的结果,填到打印清单的右半部分(应注意内存数据检查的正确性)。

2.比较实验记录与理论分析的结果是否相同,若有不同,找出差别及问题所在。

3.总结本次实验的体会。

 

标志名

标志为1

标志为0

OF溢出(是/否)

OV

NV

DF方向(减量/增量)

DN

UP

IF中断(允许/关闭)

EI

DI

SF符号(负/正)

NG

PL

ZF零(是/否)

ZR

NZ

AF辅助进位(是/否)

AC

NA

PF奇偶(偶/奇)

PE

PO

CF进位(是/否)

CY

NC

实验二数据的建立与传送程序

一、实验目的

1.继续学习DEBUG命令。

2.验证指令的功能。

二、实验原理

在DEBUG状态下,分别输入下面各程序段,每输入完一个程序段,用G命令进行连续方式执行程序,在连续执行时,要记录程序的执行结果。

参考程序:

1.在内存10000H单元开始,建立00H~0FH~00H31个数,要求00H~0FH数据逐渐增大,0FH~00H逐渐减小。

该程序从内存CS:

MOVAX,1000H

MOVDS,AX

MOVSI,0

MOVCL,0FH

XORAX,AX

PPE1:

MOV[SI],AL

INCSI

INCAL

DECCL

JNZPPE1

MOVCX,10H

PPE2:

DECAL

LOOPPPE2

INT20H

转移指令的符号地址直接用绝对偏移地址,该地址在用A命令汇编输入时,可以看到程序全部运行完之后,可用DEBUG的Dump命令查看建立的数据块内容。

-D1000:

001E

2.把上一个程序的执行结果(建立的31个字节数据块,其首地址在10000H),分几种方式传送到以下指定的区域。

(a)该程序从内存CS:

0150H开始输入。

把数据块传送到15050H开始的存贮区域中。

MOVDS,AX

MOVDI,5050H

MOVCX,1FH;

数据块长度是31

PPEA:

MOVAL,[SI]

MOV[DI],AL

INCDI

LOOPPPEA

检查内存数据块的传送情况,可用“D”命令。

(b)用串传送指令MOVSB,把数据块传送到15150H开始的区域,该程序从内存CS:

0200H开始输入。

检查程序最后的执行结果,可用“D”命令,例如:

5150↙

(c)用重复串操作指令“REPMOVSB”把数据块传送到15250H开始的区域。

该程序从CS:

250H地址开始输入。

检查程序的最后执行结果时,可用:

-D1000:

5250H

(d)用串操作的减量工作方式,把数据块传送到25050H开始的区域。

0300H开始输入。

检查程序的最后执行结果,用D命令:

-D2000:

5050↙

参照实验一的步骤,按照本实验程序的内容,分别输入各段程序,连续执行程序,记录每个程序段的最后结果。

若想把源数据块重新换一批数据,可以用DEBUG的Fill命令填充新的数据。

-F1000:

00L1F33↙

从1000:

0000H开始的31个字节被替换成33H。

五、实验预习要求

1.认真阅读DEBUG调试程序的命令说明。

2.仔细阅读本实验给出的程序段。

3.写出每个程序段的结果数据(分析结果),并说明结果所在的位置(寄存器或存贮器)。

六、实验报告要求

1.整理每个程序段在实验时的记录内容。

2.比较每个程序段的特点。

3.分析本次实验出现的问题,找出问题所在。

实验三分支程序设计

练习分支程序的编写方法。

练习汇编语言程序的上机过程。

通过分支程序设计调试和运行,进一步熟悉掌握汇编程序执行的软件环境。

通过分支程序的执行过程,熟悉EDIT的使用,建立OBJ文件EXE文件的方法。

三、实验仪器

微机一台。

四、实验内容

给出三个有符号数,编写一个比较相等关系的程序:

(1)如果这三个数都不相等,则显示0;

(2)

(3)如果这三个数中有两个数相等,则显示1;

(4)

(5)如果这三个数都相等,则显示2;

(6)

DEBUG:

EDIT:

执行结果为:

1.该源程序在DEBUG和EDIT两种状态下运行。

2.实验报告中要有源程序和执行结果。

实验四统计学生成绩程序

进一步掌握分支程序和循环程序的编写方法。

设有10个学生的成绩分别为56、69、84、82、73、88、99、63、100和80分。

试编制程序分别统计低于60分、60~69分、70~79分、80~89分、90~99分及100分的人数存放到s5、s6、s7、s8、s9及s10单元中。

这一题目的算法很简单,成绩分等部分采用分支结构,统计所有成绩则用循环结构完成。

程序框图如下图所示。

三、实验仪器

1.微机一台。

开始

初始化计数单元

S10+1

S9+1

S8+1S8+1

S7+1S7+1

S6+1

S5+1

初始化循环计数值

初始化首地址

取一个成绩

Y<

60?

N

70?

80?

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

当前位置:首页 > 高中教育 > 小学教育

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

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