汇编实验二算术运算类操作实验Word文档格式.docx
- 文档编号:21949495
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:20
- 大小:34.77KB
汇编实验二算术运算类操作实验Word文档格式.docx
《汇编实验二算术运算类操作实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《汇编实验二算术运算类操作实验Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
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:
9©
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曲旳?
?
0£
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码调整指令方面理论知识有了更深刻的认识,经过自己动手编程,熟悉了二进制多字节加减法基本指令的使用方法以及无符号数和有符号数乘法和除法指令的使用,通过分析和思考,掌握了各类运算类指令对个状态标志位的影响和测试方法。
继续阅读
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验 算术 运算 操作