关于OF CF 标志位对于判定两整数大小关系(无符号数及有符号数情况)作用的讨论 |
您所在的位置:网站首页 › 汇编语言cf标志位 › 关于OF CF 标志位对于判定两整数大小关系(无符号数及有符号数情况)作用的讨论 |
在x-86 64 IA32 体系下,处理器通过对两数求差(保存或不保存结果)然后读取被改变的条件码来判定结果的正负,进而得知两整数大小关系。其背后的逻辑关系设计非常精妙,然而大部分书籍资料中都只是一笔带过。在此我做一个较为深入的讨论。讨论将分为两个部分,有符号整数和无符号整数,讨论重点集中在OF,CF两个标志位上。
有符号整数 判断两个有符号数大小的关键在于OF(Overflow Flag),溢出标志位。运算出现溢出,则OF被置为1;反之则被置为0。对于有符号整数运算a - b = t, 若令b' 为b 的补码,相当于计算a + b' = t, 我们有(C语言表述):
OF = (ab;如果结果为负数,则有a |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |