1 / 99
文档名称:

指令(算术指令开始).ppt

格式:ppt   大小:345KB   页数:99页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

指令(算术指令开始).ppt

上传人:sanshenglu2 2021/6/27 文件大小:345 KB

下载得到文件列表

指令(算术指令开始).ppt

文档介绍

文档介绍:§ 8086/8088 指令系统中的算术运算类指令
算术运算指令包括4种:
⒈加法运算指令包括4种:
①ADD 加法指令
②ADC 带进位加法指令
③INC 加1指令
④XADD 交换并相加
加法运算指令
减法运算指令
乘法运算指令
除法运算指令
指令(算术指令开始)
1
加法运算指令中的加法指令
①加法指令
指令格式:ADD DEST,SRC
指令功能:将源操作数与目的操作数相加,结果送到目的地址中。并根据相加结果设置标志寄存器的OF、SF、ZF、AF 、PF和CF标志位。
DEST←(DEST)+(SRC)
举例 ADD BX,SI
ADD DL,TAB[BX]
ADD DH,12H
指令(算术指令开始)
2
加法指令对条件标志位的影响
CF 位表示 无符号数 相加的溢出。
OF 位表示 带符号数 相加的溢出。
1 结果为负
0 否则
SF=
1 结果为0
0 否则
ZF=
1 和的最高有效位 有 向高位的进位
0 否则
CF=
1 两个操作数符号相同,而结果符号与之相反
0 否则
OF=
指令(算术指令开始)
3
举例: n=8 bit 带符号数(-128~127) , 无符号数(0~255)
0 0 0 0 0 1 0 0
+ 0 0 0 0 1 0 1 1
0 0 0 0 1 1 1 1
带:(+4)+(+11)=+15 OF=0
无:4+11=15 CF=0
带符号数和无符号数都不溢出
0 0 0 0 1 0 0 1
+ 0 1 1 1 1 1 0 0
1 0 0 0 0 1 0 1
带: (+9)+(+124)=-123 OF=1
无: 9+124=133 CF=0
带符号数溢出
无符号数溢出
0 0 0 0 0 1 1 1
+ 1 1 1 1 1 0 1 1
1 0 0 0 0 0 0 1 0
带:(+7)+(-5)=+2 OF=0
无:7+251=2 CF=1
带符号数和无符号数都溢出
1 0 0 0 0 1 1 1
+ 1 1 1 1 0 1 0 1
1 0 1 1 1 1 1 0 0
带:(-121)+(-11)=+124 OF=1
无:135+245=124 CF=1
现为2,结果错
两个结果都错
结果错
上面的四个例子清楚地说明了OF位可以用来表示带符号数的
溢出,CF位则可用来表示无符号数的溢出。
指令(算术指令开始)
4
加法指令举例
设(DL)=E5H,(DAB)=A4H ,执行指令
ADD DL, DAB
问该指令执行后(DL)=?( DAB )=?
(DL)=E5H=
(DAB)=A4H=

自动丢失
有进位CF=1
符号位为1,SF=1
无进位AF=0
结果非0,ZF=0
结果符号相同,OF=0
结果中有奇数个 1,PF=0
+)
指令(算术指令开始)
5
加法运算指令中的带进位加法指令
②带进位加法指令
指令格式:ADC DEST,SRC
指令功能:将源操作数与目的操作数及状态标志位CF相加,结果送到目的地址中。并根据相加结果设置标志寄存器的OF、SF、ZF、AF 、PF和CF标志位。
DEST←(DEST)+(SRC)+(CF)
指令(算术指令开始)
6
带进位加法指令举例
例:有一个32位无符号数存放在DX(高16位)和AX(低16位)中,将此无符号数与32位常数76F1A23H相加。
ADD AX,1A23H
ADC DX,76FH
DX
AX
32 位 无符号数
76FH
1A23H
DX
AX
+)
进位
先加低16位,
然后带进位加高16位
CF
+)
+)
指令(算术指令开始)
7
。设目的操作数存放在DX和AX寄存器中,其中DX存放高位字。源操作数存放在BX、CX中,其中BX存放高位字。
(DX) = 0002H (AX) = 0F365H
(BX) = 0005H (CX) = 0E024H