当前位置:
文档之家› 标志寄存器PSW中CF、OF的
标志寄存器PSW中CF、OF的
例题1: 例题 :
8位二进制加法,判断CF和OF 2H+7FH
看作无符号数 看作有符号数 2 + 1 27 1 29
00000010 + 01111111 10000001 CF=0,OF=1
2 + 1 27 1 29
不溢出
溢 出
例题2: 例题 :
8位二进制加法,判断CF和OF 86H+0F5H
CF和OF的判断方法: 和 的判断方法 的判断方法:
请看例题1 请看例题
1、加法: 、加法: CF:十进制角度。作为 位无符号数,若加法的结果 位无符号数, :十进制角度。作为n位无符号数 >2n-1,则CF=1,否则 , ,否则CF=0。 = 。 二进制角度。若结果的最高位向前有进位, 二进制角度。若结果的最高位向前有进位,则 CF=1,否则 =0。 = ,否则CF= 。 OF:十进制角度。作为 位有符号数,若加法的结果 位有符号数, :十进制角度。作为n位有符号数 不在-2 范围之内, 不在 n-1~2n-1-1范围之内,则OF=1,否则 范围之内 = ,否则OF=0. 二进制角度。若两个数同号, 二进制角度。若两个数同号,而相加结果与之 异号,则说明溢出, = ,否则OF= 异号,则说明溢出,OF=1,否则 =0.
课后小结:
1、进位标志CF和溢出标志 是两个意义 、进位标志 和溢出标志 和溢出标志OF是两个意义 不同的标志 2、进位标志表示无符号数运算结果是否 、 超出范围,运算结果仍然正确; 超出范围,运算结果仍然正确; 3、溢出标志表示有符号数运算结果是否 、 超出范围,运算结果已经不正确。 超出范围,运算结果已经不正确。
看作无符号数 看作有符号数 -1 2 2 + -1 1 -1 3 3
10000110 + 11110101 1↖ 0 1 1 1 1 0 1 1 CF=1,OF=1
134 + 24 5 3 79
溢 出
溢 出
CF和OF的判断方法: 和 的判断方法 的判断方法:
请看例题3 请看例题
1、减法: 、减法: CF:十进制角度。作为 位无符号数,若减数大于被 位无符号数, :十进制角度。作为n位无符号数 减数, 减数,则CF=1,否则 =0。 ,否则CF= 。 二进制角度。若减法时最高位向前有借位, 二进制角度。若减法时最高位向前有借位,则 CF=1,否则 =0。 = ,否则CF= 。 OF:十进制角度。作为 位有符号数,若减法的结果 位有符号数, :十进制角度。作为n位有符号数 不在-2 范围之内, 不在 n-1~2n-1-1范围之内,则OF=1,否则 范围之内 = ,否则OF=0. 二进制角度。若两个数异号, 二进制角度。若两个数异号,而减法的结果与 减数符号相同,则说明溢出, = ,否则OF= 减数符号相同,则说明溢出,OF=1,否则 =0.
例题3: 例题 :
8位二进制减法,判断CF和OF 81H—3H
看作无符号数 看作有符号数 -127 — 3 -130
10000001 — 00000011 01111110 CF=0,OF=1
129 — 3 126
不溢出
溢 出
例题4: 例题 :
8位二进制减法,判断CF和OF 7FH-0FDH
看作无符号数 看作有符号数 127 — -3 130
教具及主要教学手段: 多媒体讲述法
教学内容及过程:
8086CPU的标志寄存器FLAGS中,含有9个标志, 其中包括6个状态标志和3个控制标志,每个 标志占1位,这些标志用来表示CPU当前的操 作方式和状态信息
15 12 11
OF
10
DF
9
IF
8
TF
7
SF
6
ZF
5
4
AF
3
2
PF
1
0
CF
进位标志位CF( 进位标志位 (Carry Flag) )
作业:
给出下列8位数运算后,CF、OF的值 80H+80H 0F9H+02H 80H-21H 35H-0A5H
完
溢出标志位OF( 溢出标志位 (Overflow Flag) )
若算术运算的结果有溢出, 若算术运算的结果有溢出,则 OF=1;否则OF= OF=1;否则OF=0. 表示有符号数溢出, 表示有符号数溢出,即运算结果 超出了有符号数的表示范围。 超出了有符号数的表示范围。n 位二进制数表示的有符号数范围 为-2n-1~2n-1-1。 。
01111111 — 11111101 10000010 CF=1,OF=1
127 — 253 130
溢 出
溢 出
练习: 练习:
8位二进制加、减法,判断CF和OF 3H+0FEH
00000011 + 11111110 1↖ 0 0 0 0 0 0 0 1 CF=1,OF=0
2-3
00000010 ﹣ 00000011 1↖ 1 1 1 1 1 1 1 1 CF=1,OF=0 ,
当运算结果的最高位发生进位(加法) 当运算结果的最高位发生进位(加法) 或借位(减法) 进位标志置1, 或借位(减法)时,进位标志置1, 即CF=1;否则 ;否则CF=0。 。 表示无符号数溢出, 表示无符号数溢出,即运算结果超出 了无符号数的表示范围。 位二进制 了无符号数的表示范围。n位二进制 数表示的无符号数范围为0 数表示的无符号数范围为 ~2n-1。 。
标志寄存器(FLAGS)中CF、OF的判断 中 、 的判断 标志寄存器
主讲人: 主讲人:杨慧丽
教学目的:
1、进一步熟悉FLAGS中的9个标志位; 2、理解溢出的两种不同含义; 3、熟练掌握加、减法及逻辑指令中对CF、 OF的判断; 4、了解乘法中对CF、OF的判断;
重点及难点:
在加、减、乘法运算中,对CF、OF的判断 从十进度角度理解溢出的两种不同含义