下载此文档

第三节算术运算指令.ppt


文档分类:高等教育 | 页数:约61页 举报非法文档有奖
1/61
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/61 下载此文档
文档列表 文档介绍
二. 算术运算指令(Arithmetic)
内容:
8086/8088提供加、减、乘、除、转换五种基本算术操作;
利用十进制调整指令和ASCII调整指令对BCD码表示的
十进制数进行算术运算;
对带符号数与无符号数进行乘、除运算。
(一)加法指令(Arithmetic)
(二)减法指令(Subtraction)
(三)乘法指令(Multiplication)
(四)除法指令(Division)
(五)BCD码运算指令
特点:
大部分都影响标志位,不同指令影响不同:
(1) 加、减法指令影响 SF,ZF,AF,PF,CF,OF;
(2) 加1和减1指令不影响CF;
(3) 乘法指令影响CF,OF;
(4) 除法指令使大部分标志位的状态不确定;
(5) 对BCD码调整指令对标志位的影响不同;
都可以用于字节、字的运算;
双操作数指令除源为立即数外,其余必须有一个操作数为寄存器;单操作数指令不能为立即数。
算术运算指令涉及的一些问题:
(1) 什么叫溢出?
溢出------是指运算结果超出了N位二进制所能表示的范围。
8位二进制数可以表示十进制数的范围:
8位无符号十进制数的范围:0~255
8位带符号十进制数的范围:-128~+127

16位二进制数可以表示十进制数的范围:
16位无符号十进制数的范围:0~65535
16位带符号十进制数的范围:-32768~+32767
字长为 n 位的带符号数,补码能表示范围为:-2 n-1 ~+2 n+1 –1
如果运算结果超出该范围,叫补码溢出,简称溢出。
以8位二进制数为例分析一下数的溢出与进位情况:
下面分4种情况加以讨论:
(1) 带符号数和无符号数都不溢出
(2) 无符号数溢出
(3) 带符号数溢出
(4) 带符号数和无符号数都溢出
(1) 带符号数和无符号数都不溢出

二进制数
看作无符号数
看作带符号数
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
+ 4
+1 1
+
+1 5


标志
CF=0,CP=0,OF=0
CF=0
OF=0
溢出
不溢出
不溢出
同符号数相加,
结果符号与其相同
(2) 无符号数溢出
二进制数
看作无符号数
看作带符号数
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
+
0
0
0
0
0
0
1
0
7
251
+
258
+ 7
- 5
+
+ 2


标志
CF=1,CP=1,OF=0
CF=1
OF=0
溢出
溢出
若考虑进位
所代表的数值,
结果正确
不溢出
异号数相加
不可能有溢出
CF=1
(3) 带符号数溢出
二进制数
看作无符号数
看作带符号数
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
+
1
0
0
0
0
1
0
1
9
124
+
133
+ 9
+1 2 4
+
+1 3 3


标志
CF=0,CP=1,OF=1
CF=0
O
F=
1
溢出
不溢出
溢出
正正相加,结果为负
结果错
(4) 带符号数和无符号数都溢出
二进制数
看作无符号数
看作带符号数
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
+
0
1
1
1
1
1
0
0
135
245
+
380
-121
- 11
+
-132


标志
CF=1,CP=0,OF=1
CF=1
OF=1
溢出
溢出
若考虑进位CF
所代表的数值,
结果正确
溢出
负负相加,结果为正
结果错
CF=1
结论:
(1)带符号数相加溢出
根据OF判断带符号数产生溢出?
OF=1 同符号数相加,结果符号与其相反,产生溢出;
(结果是错误的)
OF=0 没有产生溢出;
(结果是正确的)
双高位判别法 OF=CF  CP
(2)无符号数相加溢出
根据CF判断无符号数产生溢出?
CF=1无符号数相加产生溢出,但考虑进位所代表的数值后,结果并没有错。

第三节算术运算指令 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数61
  • 收藏数0 收藏
  • 顶次数0
  • 上传人分享精品
  • 文件大小259 KB
  • 时间2017-11-14