汇编实验二算术运算类操作实验Word文档格式.docx

上传人:b****8 文档编号:21949495 上传时间:2023-02-01 格式:DOCX 页数:20 大小:34.77KB
下载 相关 举报
汇编实验二算术运算类操作实验Word文档格式.docx_第1页
第1页 / 共20页
汇编实验二算术运算类操作实验Word文档格式.docx_第2页
第2页 / 共20页
汇编实验二算术运算类操作实验Word文档格式.docx_第3页
第3页 / 共20页
汇编实验二算术运算类操作实验Word文档格式.docx_第4页
第4页 / 共20页
汇编实验二算术运算类操作实验Word文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

汇编实验二算术运算类操作实验Word文档格式.docx

《汇编实验二算术运算类操作实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《汇编实验二算术运算类操作实验Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

汇编实验二算术运算类操作实验Word文档格式.docx

3、编程计算((Z+X*Y-328)-V)/Y,其中X、Y、Z、V均为16位带符号数,假设初始数

据分别装入X、Y、Z、V单元,要求上式计算结果的商存入AX,余数存入DX寄存器。

学自行给出初始值加以验证程序。

五、程序设计•:

实验1:

流程图如下:

开始

输入数据

进行运算

输出结果

结束

实验2:

以16进制加法为例,流程图如下:

输入FIRST

和SECOND

SI二3,CX二4

Y

CX二0?

输出

THIRD

[THIRD+1][SI]=FIRST[SI]+SECOND[SI]

CX-1,SI-1结束

其他程序流程图类似。

六、实验过程及结果:

1.根据要求,设计程序如下:

0203仙O506O7O8O91O11121311*151********02122232J4252627282930313233叢

DATASSEGMENTdatalDU087Hdata2DU034Hdata3DU0C2Hdata4DW5FH

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATASSTART:

MOU

MOUDS,AX

MOUAX7datal

ADDAX7data2

SUBAX7data2

MOUBX7data2

MULBX

MOUAJC,datal

MOUBX,data2

DIUBX

MOUA}C,data3

ADCAJC^ataU

MOU般,data3

SBBAX.dataU

MOUAK9data3

MOUBX.dataU

IMUL畔

MOUAX,data3

MOUBX,data4

IDIUBK

MOUAH,4CH

INT21H

CODESENDS

ENDSTART

2.编译代码,生成OBJ文件,再生成EXE文件,可成功运行。

3.进行程序调试可得运算结果如下:

087H+034H的结果:

t

nx-eeBBBx^oeeocx=ggs9ox-eeoesp咖gBp^ooeesimx®

di咖00

DS=077©

ES=O76QSS=076FCS=©

771IP^KKCNUUPElPLNZNAPENC

O?

?

l:

96ecAioeooMOUftXJOOOG)ds:

0000=000?

087H-034H的结果:

AX6053KX二6008

DS旳7?

0e?

66)13A1GO00

CX;

*53DX0000SP^OQGO

SStTGFCS,0?

71IPW13iwAxjoeee)

087HX034H的结果:

-t

AX二1B6CBXWOHI>

S=0?

0ES旳730771:

1CA16009

excessDX二098SF二0099

SS=e?

6FCS=0?

1!

P=G01C

nowAxjooeoi

刖©

00si^ooeoD.OOOG

HUUPElPLMZNAPEHC

DS:

eO99«

367

087H/034H的结果:

AX9092BX0R34DS6?

0ES0?

f>

0O771:

GG2SH1M09

CX=GG59DX^eOlFSF-0900ss=0?

fercs=G?

iip-eera

«

nunx.roow)

BP9060SJ0909

NUUPElPLHZNrtPENC

eG04=6GC2

0C2H+5FH的结果:

AX01Z1BX0034

DS二0776ES二0760e?

l:

662C10468

CX=6e59DX091FSPOOGG

SS=OT6FOS旳771IF^OBZCH)UAXJOGOI)

bfeeeosieeeodieeeo

NUUTEIFLNZACPENC

DS;

oo^eec2

0C2H-5FH的结果:

AX0063BX0934PS=0776ES=07690?

1:

6633ftl0460

exoesgdxcoifspooggSS二€T76FCS=07?

1IF二0933rt)UnXJOGCH)

BP09GGSiO06ODi0960

NUUPElPLNZACPEHC

IXS:

“MO0C2

0C2HX5FH的结果:

AXM7FEBX^OCKF

DS=07?

0ES=0?

8e

CX二妙9DX^OOOGSP^GOOOSS=076F00771IP二G03C

BP-GOtWSIPO09DIPQ09

NUUPElPLNZACPENC

9771:

O0:

JC

rtju

66CH^GCZ

0C2H4-5FH的结果:

BP-0900SI-6CO5DI6060

KUUPElPLKZNAPENCftS:

000O=GG8?

 

AX6002BX-6Q5F

DS=W?

6O

|G7?

l;

0O15B44C

CX二0O5PDX二0004SP二0009BP-00(*)SI二0660DI^G090SS=0?

6FCS=07?

1IF=9045MUUPElPLNZftCPENC

MOUrtH.4C

4•总结两组数的和差积商及标志状态位悄况如下表:

计算

状态标志

表达式

结果

CF

AF

ZF

OF

SF

PF

087H+034H

OBBH

NC

XA

NZ

NV

PL

PE

087H-034H

53H

\A

087H*034H

1B6CH

087H/034H

商2H

余1FH

ZR

0C2H+5FH

121H

AC

0C2H-5FH

63H

0C2H*5FH

47FE

PO

0C2H/5FH

余4H

状态标志位

加法

减法

乘法

除法

1

最高有效

位向高位

无进位

最高有效位向高位有进位

二进制减法运算中最高有效为向高位无借位

(被减数〉=减数,够减

二进制减法运算中最高冇效位向高位有借位(被减数小于减数,不够减的情况

CFOF二00乘积的高一半为0(字节操作的

(AH)或字操作的(DX))

OF二11乘积的高一半不为0

的情况)

玉响

无影响

结果不为

结果为零

*影响

两个不同符号数相加,或同符号数相加,结果符号与其相同。

两个同符号数相加(正数+正数或负数+负数),结果符号与其相反。

同符号数相减时,或不同符号数相减,其结果符号与减数不同。

两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。

CF0F=00乘积的高一半为0(字节操作的

(AH)或字操

作的(DX))

结果不为负

结果为负

|

1.根据要求,编译程序如下:

FIRST+SECOND的16进制:

02

03

04

05

06

07

ns

09

012345678901

111111111122

DATASSEGMENT

FIRSTDB1|5H,82H,96H,57HSECONDDB12H,46H,83H,45H

THIRDDB5dup(8)

FORTHDB5dup(O)DATASENDS

ASSUMECS:

CODES,DS:

DATftS

FIRST-SECOND的16进制:

01

08

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

START:

MOUSI,3

MOUAL.FIRST[SI]

SUBAL,SECOND[SI]

MOU[THIRD+1][SI],

MOUCX,4

next:

DECSI

MOUAL,FIRST[SI]

LOOPnext

MOUAL,0

SUBAL,0

MOU[THIRD][SI],AL

INT21H

FIRSTDB45H,82H,96H,57HSECONDDB12H,46H,83H,45HTHIRDDB5dup(O)

DATAS

FIRST+SECOND的10进制:

FIRSTDD45H,82II,96II,57H

SECONDDB12H,46H,83H,45H

THIRDDB5dup(O)

FORTHDB5dup(O)

MOUAX,DATfiS

MOUSI,3

ADCAL,SECOND[SI]

Dtlti

MOU[F0RTH+1][SI],AL

DAA

ADCALJ

2S

MOU[FORTH][SI],AL

30

MOUAH詁CH

31

IHT21II

32

33

cB.

EHDSTART

FIRST-SECOND的10进制:

DfiTfiSSEGMENT

FIRSTDBU5H,82H,96H,57H

THIRDDB5dup(0)

FORTHDB5dup(0)

DfiTfiSENDS

STfiRT:

MOUAX,DATAS

SBBAL,SECOND[SI]

DAS

MOV[F0RTH+1][SI],fiL

MOV[FORTH+1][SI],I1L

SBBAL90

MOU[FORTH][SI],ftL

MOUAH94CH

FIRST+SECOXD的16进制结果:

BX-0999CX二0900DX二决炯SF旳609册二60阳SXFFFFDl=0999

977Z:

962E

M4(:

EU

AH.4(:

dds:

6

刃?

8:

飯旧0

45

57

eo-s?

o?

e:

eeio

eo

00

eo®

ET773:

磁0

OE

eo-tw

0773:

0030

4E-8A

(•r779:

96H0

eo-e^

0770:

0850

CD

G03

叨8:

0660

QO-G9

3779:

0070

eooo

e0ooGHsn4ooQOGO

090eH4o4舸090900

%ee6z&

DS二©

eES二07WSS^076FCS=0?

21P^G2£

NUUPElPLZRNrtPEHC

FIRST-SECOND的16进制结果:

gZc

X076OBX-GOO)

cxeoee

i)xeeoesp^oeeo

BP=006G

SI=FFFFDI6600

DS^OT70DS二G760

SS捋76F

CSe?

7ZIF

、二妙E

HUUPElPL贡

NAFENC

07?

2:

6G2E

B44C

MIU

"

MC

O

刃70:

6000

E..W.F...3<

cr?

o:

eoio

0770:

ecize

(14

6030

M

N....M...

0770.0040

L

0?

0:

6C60

GO

»

cr7?

eo60

ET770:

e0?

9

FIRST-SECOND的10进制结果:

Ax=e?

*nBx=oo0e曲旳?

66

0fniJVHC

-dds:

©

00004502

00106060

0779:

0020BO70

0030ZF8B0779:

0010GOZF9779:

0E5960M0776:

0060GOOO9779:

00766099

E..W.F..C36

CX0609DX=090eSP45009

SS=6?

2IP=0G31

MOU«

L4C

99-43OB00008A

OG-4E

F9-B6

00-6900OG冷99

BP=ooeoSI=FFFFDI=O0e©

NUUP£

1MGMZACPECY

4・最终结果如下:

十六进制结果

十进制结果

FIRST+SECOND

57H,C8H,19H,9CH

5&

29,80,03

FIRST-SECOND

33H,3CH,13H,12H

33,36,13,12

实验3:

1.依据题意编写代码如下:

XDW87H

VDW3即H

ZDW0C2H

UDW5FH

98

99

MOUAX,DfiTfiS

MOUDS,fiX

MOUAX,X

IMULV

MOUCX5AX

MOUBX,DX

MOUAX52

CWD

ADDAX.CX

ADCDX.BX

SUBAX.328

SBBDX.Q

MOUCX,AX

MOUBX.DX

MOUAK9U

SUBCX,fiX

SBBBX,DX

MOUfiX,CX

MOUDX,BX

IDIUY

MOUAH/CH

34

CODESENDSENDSTART

2•编译代码,生成OBJ文件,再生成EXE文件,可成功运行。

3.进行程序调试可得运算结果如下:

HX-O08ZBX-69G0CX-lft8?

DX-OO1FSP-0090BPP9O0SI-eGOODI-0009DS=0770ES=0?

bOSS二W6FCS=0771IP=0O3ZMUUPElPLZBMAPEMCe?

71:

MZB44CMOUAH.4C

即商为82H,余数为1FH

七、实验感想:

经过两次实验,渐渐熟悉了编程环境,对汇编语言中的二进制、十六进制、

十进制、BCD码的表示形式有了一定了解,也对从汇编课上学习到的有关BCD码调整指令方面理论知识有了更深刻的认识,经过自己动手编程,熟悉了二进制多字节加减法基本指令的使用方法以及无符号数和有符号数乘法和除法指令的使用,通过分析和思考,掌握了各类运算类指令对个状态标志位的影响和测试方法。

继续阅读

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

当前位置:首页 > 总结汇报 > 学习总结

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

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