zoukankan      html  css  js  c++  java
  • 关于学习汇编的一些规则的理解(div mul cf of)

    ->1.div(除法)  被除数/除数

      ->一共有三种格式的除法,分别是8位,16位,32位,这里的位数表示的是除数的位数

      ->实现div其实也很简单就是除数为被除数的一半就ok

      ->需要注意的就是ax和dx这两个寄存器,因为mul(乘法)和div(除法)和这两个寄存器紧密相连

      ->相关关系如下,需要记住的就是这个格式dx:ax 就是dx永远为高位,ax永远为低位,这个在mul中也同样适用

        被除数 除数                商 余数
        ax 8位寄存器/8位内存操作数       al ah
        dx:ax 16位寄存器/16位内存操作数      ax dx
        edx:eax 32位寄存器/32位内存操作数   eax edx

    ->2.mul(乘法)

      ->乘法就很简单了,因为不存在商和余数的问题

      ->规则如下:     

            被乘数 乘数 积
            al 8位操作数 ax
            ax 16位操作数 dx:ax
            eax 32位操作数 edx:eax

    ->3.cf(借位标志位)

      ->也就是当你进行加法/减法时,向虚拟位借位,cf 置1,否则为0

        eg.

          mov al,90

          add al,200

        上面的例子就会发生进位,因为al 为8位范围为0-255  而他们相加为290>255所以cf置1,在这里是当作无符号位计算的

    ->4.of(溢出标志位)

      ->也就是在进行有符号位进行算法时,数据发生溢出,因为是有符号位所以他的表示范围为-128-127(10000000-01111111)

      

    Hold on, everything is possible.
  • 相关阅读:
    蓝桥杯 买不到的数目(动态规划)
    部分ftp登不上原因
    glColor3f()函数 表示颜色
    三维模型(X,Y,Z)坐标,UV坐标
    找不到 Windows SDK 版本10.0.18362.0的解决办法
    头文件中的ifndef/define/endif有什么作用?
    pycharm 出现opencv(4.4.0)等等错误如何解决
    灵敏度分析与误差分析
    死磕Spring之AOP篇
    死磕Spring之IoC篇
  • 原文地址:https://www.cnblogs.com/student-note/p/5622179.html
Copyright © 2011-2022 走看看