实验二算术逻辑运算及移位操作微机原理与接口技术Word下载.docx
《实验二算术逻辑运算及移位操作微机原理与接口技术Word下载.docx》由会员分享,可在线阅读,更多相关《实验二算术逻辑运算及移位操作微机原理与接口技术Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
若运算结果为0,则ZF=1;
否则ZF=0.
SF…符号标志。
运算结果的最高有效位就是符号标志的状态。
即运算结果最高位为
1,则SF=1;
否则SF=0・
PF…奇偶标志。
当运算结果最低字节中“1”的个数为零或偶数时,PF=1;
否则PF=0.OF…溢出标志。
若算术运算的结果有溢出,则OFJ否则OF=<)。
AF…辅助进位标志。
若运算时D3位(低半字节〉有进位或借位,则AF=1;
否则AF=0.
MOV,PUSH,NOT不影响标志位。
2储写出mill指令和imul指令的区别。
并举例说明。
mul是无符号乘法指令,imul是有符号乘法指令
例:
字节数据乘法:
A5H*64H
moval964ii
inovbl,0a5h
实验预习
mulbl
计算二进制数乘法:
A5H*64HO如果把它当作无符号数,用mul指令结果为4074H.如果同样的数据编码采用imul指令如下:
imulbl
将A5H*64H用imul指令执行,进行有符号数乘法,则结果为DC74H.
3•请写出div指令和idiv指令的区别。
div是无符号除法指令,idiv是有符号除法指令。
字数据除法:
40003H/8000H
inovdx,4
movax,3
movwordptr[30h].8000h
divwordptr[30h]
上述结果是无符号除法,同样数据有符号除法结果如下:
idivwordptr[30h]
4•如何用移位指令实现将AL寄存器中的无符号数乘以10?
xorah,ah
shlax,l
inovbx,ax
shlaxJ
addax.bx
1•请写出CF、ZF.SF、OF、PF.AF标志位的含义°
并写出以下三个程序段中每条
指令执行后对各标志位的影响并上机验证结果。
请写出CF.ZF、SF、OF、
PF.AF标志位的含义。
CF…进位标志
ZF…零标志
SF…符号标志
OF-溢出标志
F
'
F…奇偶标志
AF…辅助进位标志
请写出以下三个程序段中每条指令执行后对各标志位的影响并上机验证结果。
程序段一:
CF
ZF
SF
OF
PF
AF
movaxJ018h
movsi,23Oah
addax,si
1
addal,3Oh
movdx,O3ffh
add[20h],1000h
add[2Oh],ax
pushax
popbx
程序段二:
movax,0a0ah
结果
addax,Offffh
movcx,OffOOh
adcax,ex
subax5ax
incax
orcx,Offh
andcx’OfOfh
mov[lOhJ.cx
程序段三:
movbL25
movbyteptr[10h],80
moval,[10h]
2•从BX所指的内存单元(0010H)开始连续存入三个无符号数(10H、04H.30H),接着
计算内存单元中的这三个数之和,和存放在0013H单元中,再求出这三个数之积,乘积存放在0014单元中。
试编写完成此功能的汇编语言程序段并上机验证结果(将结果截图)。
MOVBX,0010H
MOV[BX],1()H
MOV[BX+l],04H
MOV[BX+2J30H
MOVAX,0000H
ADDAL,[BX]
ADDALJBX+1]
ADDAL,[BX+2]
MOVDS:
[0013H],AL
MOVALJBX]
MULbyteptr[BX+l]
MULbyteptr[BX+2]
[0014],AX
:
\TD.EXE
实验内容与实验结果
3•请编写完成下述功能的汇编语言程序段。
上机验证结果,程序运行的最后结果(AX)=?
(将结果截图)。
(1)传送15H到AL寄存器;
(2)再将AL的内容乘以2:
(3)接着传送15H到BL寄存器;
(4)最后把AL的内容乘以BL的内容。
(1)moVal,1511
(2)movdx,2
muldx
(3)movbl,15h
(4)111111bl
OptzLons
Bpeakpouitscs乎丄匹
ax
0015
cs:
0105
F7E2
mul
dx
0107
B315
mou
bl,15
0109
F6E3
bl
010B
0000
add
[bx+siDral
010D
[bx+si]..al
:
010F
[bx+si],al
0111
[bx+siKal
0113
0115
0117
[bx*siJ^al
:
0119
一・・・▲・・......
Cbx+si3,al
%:
忽乡:
弦彩
.15
inou
dx,0002
nou
ds:
0000CD20FF9F009AF0FE=yJU=l
0008IDF0DE011C04CC0A乍
0010F20D8902701CE20D2屁BpUV
0018010101000203FFFF®
QQJWyy
bxexdxsidibpspdsessscs
0008000000000000000000805AE35AE35AE35AE3
0102
ss:
00822020
0080k0D00
00000010=一一======czsopa.ld
Pl-HelpF2-KkptF3-ModF4-HereF5-ZoonNextF7-TraceF8-StepRun
賦D:
EditU:
LewBpeakpoj-ntsOptionsUuidow
Hel
0100B015
al,15
3
0102BA0200
dx.0002
■n
0105KF7E2
nul
i
axbxox
cs:
cg:
cs:
0109cs:
010Bcs:
010Dcs:
010Fcs:
0111cs:
0113cs:
0115cs:
0000000000000000000000000600
01190000
nuladdaddaddaddaddaddaddadd
bltbx+sil,al[bx+siKal[bx+siKal[bx^siJ^al[bx+siD,al[bx+sil,al[bx+si],al[bx+siKal
si
di
sp
ds
es
ss
cs
0002
555y222刃
s5?
n
iiH
UH
U-
ip6105
0000CD20FF9F009AF0FE=yU=Ids:
0008IDF0DE011C04CC0A乍d・IE]ds:
0010F20D8902701CE20D丄凫fipUVds:
0018010101000203FFFF03Q3內
00S22020
§
s:
0080K0D00
BpeakpouitsOptionsWuidovi
FileEditUiewcs:
0102BA8200cs:
8105F7E2
0107^B315
mil1
al,15dx,0002J
L2J
0600
0117cs:
limJLaddaddaddaddaddaddaddadd
)1[bx+sil^al[bx+si],al[bx+si],al[bx+sil,al[bx+siKal[bx+siKal[bx*si].al[bx+siD,al
0000CD20FF9F
0008IDF0DE01
0010F20D8902
001801010100
009AF0FE=yfU=l
1C04CCQd足d•昭
701CE20D2屁BpUV
0203FFFFE