zoukankan      html  css  js  c++  java
  • 汇编语言(王爽) 第11章 标志寄存器

    这里讲一个特殊的寄存器,flag

    先看flag的16位显示

    11.1 zf

    指令执行后,结果0,ZF=1

    指令执行后,结果不为0,ZF=0

    11.2 pf

    指令执行后,所有bit位中1的个数是否位偶数,若为偶数,那么pf=1

    若为奇数,pf=0

    11.3 sf

    指令执行后,结果负,SF=1

    指令执行后,结果不为负,SF=0

    11.4 cf

    进位

    若出现进位,那么CF=1

    没有的话CF=0

    11.5 of

    溢出,

    数字的溢出。

    8位范围是-128-127 若130就是溢出了

    11.6 abc指令

    abc a,b

    a=a+b+CF

    为啥需要这个东西呢?

    加法可以分2步,

    1 低位=低位加

    2 高位=高位加+CF

    把加法分步进行了

    11.8 cmp指令

    减法指令,但是不保存实际减法结果,就是用来影响flag的位

    有4种情况把,自己总结的

    1 sf=1,of =0 就A<B

    2 sf=1,of=1 正溢出出现的负值,就是a-b是一个大的正数,要是8位的话,就是大于127的

    3 sf=0,of=1 负溢出才会出现正值,那么a-b就是一个负数,要是8位的话,就是小于128的

    4 sf=0 sf=1 没溢出,就很正常的比较大小

    11.9 讲了一些条件转移指令

    jczx 这种的

    就和高级语言的if switch差不多把

    11.10 串传送

    DF =0 每次操作后 si,di 递增

    DF=1 每次操作后si,di递减

    movsb一次传一个内存单元,配合rep movsb使用

    11.11 pushf popf

    pushf 把标志寄存器的值入栈

    popf 从栈中弹出数据,送到栈中

    这里就讲一个flag寄存器,每个位都下设置0,1,起到不同的作用

    EOF

  • 相关阅读:
    如何构建微服务架构
    JVM内幕:Java虚拟机详解
    JVM 调优系列之图解垃圾回收
    干货:JVM 堆内存和非堆内存
    JavaWeb项目架构之NFS文件服务器
    SSH框架之-hibernate 三种状态的转换
    随笔聊架构
    如果不从事编程,我可以做什么?
    JAVA几种缓存技术介绍说明
    Java反射机制应用实践
  • 原文地址:https://www.cnblogs.com/wz0107/p/5380197.html
Copyright © 2011-2022 走看看