刚学汇编,请高手解析哈cf与of的问题?

请高手解析哈cf与of的问题,cf只是在无符号运算用吗?of只是在有符号时吗?cf与of有什么区别?
有符号乘法与无符号乘法区别?有符号除法与无无符号除法区别?
举例说明更好

计算机中的数据可以理解成有符号数也可以理解为无符号数,所以,运算结束后,两个标志位都会被设置,如果理解是有符号数的运算,在查看结果时关注of,如果是无符号数,在查看结果时可以关注cf。
有符号数的乘法与无符号乘法、有符号数除法与无符号除法区别都是一样的:无符号数的乘除是把两个操作数直接进行乘或除;而有符号数在运算之前要先转成绝对值(带符号数在计算机中是以补码的形式存储的),做完后再转回补码
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-17
ADD AX,BX ;AX=1101000000100011B,BX=1001111111010000B,相加后AX=0110111111110011B,在最高位0前面还有一个1,到了CF,同时还置OF为1
JNO L1 ;所以这两条指令不会产生跳转
JNC L2
SUB AX,BX ;结果小于0,产生溢出OF=1,CF=1(这里AX的值是前面加法得到的结果.)
JNC L3
JNO L4
JMP L5
所以最终回执行JMP L5指令.就是这样拉,呵呵!!!!~~~~
我看到了你给我发的消息,我说的没有错,而且还在DEBUG里试验了一下.你要知道SUB AX,BX 解释为无符号数运算的时候,用CF=1来表示溢出,只要结果小于0,CF就为1;无符号数的溢出就用CF表示,我书上就是这样说的;你的问题补充中给出的OF=1的理由也不对,〔-BX〕补码为1110000000110000,那么SUB AX,BX 的结果为0101000000100011,也就是说这条指令执行的结果成了正数,所以OF=1.解释为带符号数运算的时候,就用OF=1来表示溢出
我复制的!
第2个回答  2011-05-18
计算机中的数据可以理解成有符号数也可以理解为无符号数,所以,运算结束后,两个标志位都会被设置,如果理解是有符号数的运算,在查看结果时关注of,如果是无符号数,在查看结果时可以关注cf。
第3个回答  2011-05-18
21656

刚学汇编,请高手解析哈cf与of的问题?
计算机中的数据可以理解成有符号数也可以理解为无符号数,所以,运算结束后,两个标志位都会被设置,如果理解是有符号数的运算,在查看结果时关注of,如果是无符号数,在查看结果时可以关注cf。有符号数的乘法与无符号乘法、有符号数除法与无符号除法区别都是一样的:无符号数的乘除是把两个操作数直接...

汇编语言中“OF”与“CF”的区别是什么?
OF 反映出:有符号数运算后,是否发生溢出。CF 反映出:无符号数运算后,是否发生进位。

汇编中标志位CF和OF的问题
1.最高位有进位,一定发生溢出。错!单单就这一个命题来说,举个例子就可以了,如8位加法:FF+02=01 (CF)=1,(OF)=0 如理解为符号加法,则为-1+2=1,(CF)=1表示有进位,(OF)=0表示无溢出,此例可推翻命题 如理解为无符号加法,则为127+2=1,(CF)=1表示有进位,亦表示溢出,(OF)...

汇编问题关于CF寄存器和OF寄存器
OF寄存器里的值,是CF和《次高位的进位》异或的结果。即,相邻的两个进位,异或之后,就成了 OF。

汇编语言中OF与CF的区别
汇编语言中:OF是溢出位,OF=1或0,表示运算结果有无溢出。当算术运算的结果超出了带符号数的范围(8位带符号数的范围是-128——+127,16位的是-32728——+32767)。CF是进位标志位CF=1或0,表示加减法操作中最高位有无进借位。

谁能解释一下汇编语言中的标志位.越详细越好哈.
(Carry Flag): 进位标志位.它记录了无符号数运算结果的最高位向更高位的进位值,或从更高位的借位值.OF (Overflow Flag): 溢出标志位.它记录了有符号数运算的结果是否发生了溢出.CF和OF的区别: CF对无符号数运算有意义,而OF对有符号数运算有意义.我记得的标志位只有这么多,不知道可否帮到你 ...

谁能解释一下汇编语言中的标志位.越详细越好哈.
CF和OF的区别:CF通常与无符号数的运算相关,而OF与有符号数的运算相关。溢出是指结果超出了寄存器能够表示的数值范围,而进位是指在算术运算中,结果的一部分需要传递到更高位。以上是汇编语言中常见的标志位,它们在指令执行后会被设置,并且可以被后续的指令用来进行条件分支。希望这些信息能够帮助你更...

汇编中OF和CF的问题
如拥4位数 则1011和1001分别表示为-5和-7 加的结果为-12 已经超过了4位数的表示范围 0000~1111 表示的范围是0~7 -1~ -8 所以为益出 你认为的结果应该是1100是不对的 记着负数不是按原码运算的 而是按补码运算的 明白后 就给俺加分吧 ...

汇编:OF = 1的条件是不是:CF不等于SF?
OF 就是判断是不是溢出了,这个根据计算机的位数来决定的。如果是8位机,那么运算结果大于127或者小于-128时,那么OF=1.如果是16位机,同理,如果大于32767或者小于-32768时,OF=1

汇编语言,AL=80H,则SUB AL,1,AL=?,CF=?,OF=?求解释。
AL=7FH CF=NC OF=OV 因为80h=1000 0000H,最高位为1,sub做为有符号数-1 7FH=0111 1111H,根据设定,两个数相减时,如果两个数的符号相反,而结果与减数相同则OF=1,否则OF=0

相似回答