进位 和 溢出
汇编11.2题目中有这么一段:mov al,0fch
add al,05h
执行后 of=0, 为什么of还是0?
这个执行后应该有进位 和 溢出 的,为什么只有进位,没有溢出呢?
file:///E:/az/qqaz/Users/653650313/Image/@I1CFUZVSD0ZGR9~AUHCZ%S.jpg
RE: 进位 和 溢出
为什么呢?想不明白? 首先得理解“溢出”的含义,溢出针对的是有符号数。
对8位寄存器al来说,其表示的有符号数的范围是-128~127.其超过这个范围时才表示溢出。
al=0fcH表示的有符号数为-3.(不明白的话就去复习下补码)
add al,05h 后al=2,在-128~127范围内,没有溢出。
-----------------------------
ps:其实这里也很容易判断了,al初值为0fcH,表示的是负数(有符号数),add al,05h;对于有符号数而言,负数加上正数永远不会溢出的。 不明白:dizzy: tsembrace 发表于 2011-9-20 22:18 static/image/common/back.gif
首先得理解“溢出”的含义,溢出针对的是有符号数。
对8位寄存器al来说,其表示的有符号数的范围是-128~12 ...
谢谢您
两正数相加结果为负则溢出,计算机是用补码运算的,也就是计算机里所有的运算都是转为加法运算
页:
[1]