当前位置:网站首页 > 技术博客 > 正文

汇编语言标志位有什么作用



参考了《汇编语言 基于x86处理器》第七版
转载请注明出处
如果有错误的地方请指正,谢谢。

  1. 有符号:
    两数相加,如果超过有符号数最大取值范围时(如8位有符号数大于127),OF置位。
  2. 无符号:
    两数相加,如果超过无符号数最大取值范围时(如8位无符号数最大取255)CF置位。

         根据目标操作数修改:OF/CF/ZF/SF/AF/PF

示例:-128-1执行后,CF标志位与OF标志位分别是多少? CF=0 OF=1

  1. 有符号:
    两数相减,如果超过有符号数最小取值范围时(如8位有符号数小于-128),OF置位。
  2. 无符号:
    两数相减,如果被减数小于减数,CF置位。

         根据目标操作数修改:OF/CF/ZF/SF/AF/PF

示例:-128+1执行后,CF标志位与OF标志位分别是多少? CF=0 OF=0

  • NEG是汇编指令中的求补指令,NEG指令对操作数执行求补运算:用零减去操作数,然后结果返回操作数。求补运算也可以表达成:将操作数按位取反后加1。
  • 对任何非0的操作数使用NEG指令都将CF置位。
  • 根据目标操作数修改:CF/OF/ZF/SF/AF/PF
  • 不影响进位标志位,根据目标操作数修改溢出标志位、符号标志位、奇偶标志位、零标志位,辅助进位标志位。 OF/SF/PF/ZF/AF
  • 不影响进位标志位,根据目标操作数修改溢出标志位、符号标志位、奇偶标志位、零标志位,辅助进位标志位。 OF/SF/PF/ZF/AF

布尔指令:AND/OR/NOT/XOR/TEST

  • 清除进位标志位和溢出标志位,根据目标操作数修改符号标志位、奇偶标志位、零标志位,辅助进位标志位无定义。 SF/PF/ZF
  • 清除进位标志位和溢出标志位,根据目标操作数修改符号标志位、奇偶标志位、零标志位,辅助进位标志位无定义。 SF/PF/ZF
  • 不修改标志位
  • 清除进位标志位和溢出标志位,根据目标操作数修改符号标志位、奇偶标志位、零标志位,辅助进位标志位无定义。 SF/PF/ZF
  • 清除进位标志位和溢出标志位,根据目标操作数修改符号标志位、奇偶标志位、零标志位,辅助进位标志位无定义。 SF/PF/ZF

移位指令:逻辑移位(SHL/SHR)、算术移位(SAL/SAR)、循环移位(ROL/ROR)、带进位的循环移位(RCL/RCR)、双精度移位(SHLD/SHRD)

  • 进位标志位为移入CF的位
  • 根据目标操作数修改溢出标志位、符号标志位、零标志位、奇偶标志位,辅助进位标志位无定义。 CF/OF/SF/ZF/PF
  • 进位标志位为移入CF的位
  • 根据目标操作数修改溢出标志位、符号标志位、零标志位、奇偶标志位,辅助进位标志位无定义。 CF/OF/SF/ZF/PF
  • 进位标志位为移入CF的位
  1. 移位次数等于1时:
    如果移位后的符号与移位前的符号相反,溢出标志位置位。
  2. 移位次数大于1时:
    溢出标志位无定义。
  • 不修改符号标志位、零标志位、奇偶标志位、辅助进位标志位。
  • 进位标志位为移入CF的位
  1. 移位次数等于1时:
    如果移位后的符号与移位前的符号相反,溢出标志位置位。
  2. 移位次数大于1时:
    溢出标志位无定义。
  • 不修改符号标志位、零标志位、奇偶标志位、辅助进位标志位。
  • 进位标志位为移入CF的位
  • 根据目标操作数修改溢出标志位、符号标志位、零标志位、奇偶标志位,辅助进位标志位无定义。
    CF/OF/SF/ZF/PF

包括无符号乘法(MUL)、有符号乘法(IMUL)、无符号除法(DIV)、有符号除法(IDIV)

  • 如果乘积的高半部分不为0则进位标志位、溢出标志位置位。
    也就是说运算结果超过无符号数最大取值范围(如8位无符号数大于255),则进位标志位、溢出标志位置位。
  • 符号标志位、零标志位、辅助进位标志位、奇偶标志位无定义

单操作数

  • 如果乘积的高半部分不是低半部分符号位的扩展,那么进位标志位、溢出标志位置位。
  • 也就是说运算结果不在8位有符号数取值范围内(如8位有符号数取值:-27 ~ 27-1),进位标志位、溢出标志位置位。
  • 符号标志位、零标志位、辅助进位标志位、奇偶标志位无定义

双操作数

  • 按照目标操作数的大小来截取乘积,如果被丢弃的是有效位,那么进位标志位、溢出标志位置位。
  • 也就是说运算结果不在8位有符号数取值范围内(如8位有符号数取值:-27 ~ 27-1),进位标志位、溢出标志位置位。
  • 符号标志位、零标志位、辅助进位标志位、奇偶标志位无定义

三操作数

同双操作数

执行DIV或IDIV后,所有算术运算状态标志位的值都不确定。

执行DIV或IDIV后,所有算术运算状态标志位的值都不确定。

  • 上一篇: l298n引脚功能表
  • 下一篇: htm和html一样吗
  • 版权声明


    相关文章:

  • l298n引脚功能表2025-01-06 20:01:00
  • 86版王码五笔输入法字根表2025-01-06 20:01:00
  • epic怎么连ns手柄2025-01-06 20:01:00
  • dk买卖点的原理是什么2025-01-06 20:01:00
  • 支付宝里的蚂蚁森林有什么用处2025-01-06 20:01:00
  • htm和html一样吗2025-01-06 20:01:00
  • seo图片素材2025-01-06 20:01:00
  • i3d(3. Getting Started with Pre-trained I3D Models on Kinetcis400¶)2025-01-06 20:01:00
  • 积分运算电路计算公式2025-01-06 20:01:00
  • 栅格布局是什么意思2025-01-06 20:01:00