zoukankan      html  css  js  c++  java
  • 汇编学习(六)——代码转换程序

    (一)逻辑运算指令

    一、双操作数逻辑运算指令

    1、指令格式:

    AND      dst,src    ; “与”运算,
    OR       dst,src    ; “或”运算
    XOR      dst,src    ;  “异或“运算。当src = 1是,dst = !dst;当src = 0时,dst = dst
    TEST     dst,src    ; “与”运算,但是这个不返回结果,只是改变标志位
    ;以上四个操作符,都会改变ZF SF 和PF三个标志位
    ;经常使用TEST配合ZF来判断是否为0

     

    二、单操作数逻辑运算指令

    1、指令格式

    NOT dst ;   dst<—!dst
    NEG dst ;   取补码

     

    (二)移位指令

    一、逻辑移位指令

    SHR dst,cnt
    SHL dst,cnt

    二、算数移位指令

    SAR dst,cnt
    SAL dst,cnt

    PS:注意点

    1、cnt 是移位的位数,只能为1或者寄存器CL,也就是不是移1位的话,一定要使用寄存器CL

    2、会影响OF、ZF、PF和SF标志位,其中OF为1:表示最高位发生变化,OF = 0,最高位没有发生变化

    3、算术右移不会改变符号位

    三、循环位移指令

    ROR  dst,cnt
    ROL  dst,cnt

    四、带CF循环位移指令

    RCR  dst,cnt
    RCL  dst,cnt

    PS:注意点

    1、只影响OF标志位,其中OF为1:表示最高位发生变化,OF = 0,最高位没有发生变化

    五、图示表示四个指令的区别

    image

     

    (三)十六进制转换为BCD码

    一、除0AH取余法

    image

       所以十六进制数除以0AH的余数就是得到D0,再除就是得到D1,一次类推……

       使用的除法指令要是32位除以16位的,因为商会超过8位。

     

    二、除幂取商法

    image

       所以十六进制除以10000的商就是D4,再除以1000就是D3,依次类推……

     

    三、连二乘法:

    image

     

     

    (四)除0AH取余法程序

    一、程序流图:

    image

  • 相关阅读:
    js的单元测试
    如何嵌入HTML 页面
    使用JQuery时间比较
    @page指令ValidateRequest的作用
    时间的正则表达式(比较简单)
    [置顶] Android代码 监控手机电池的状态
    [置顶] Android代码传感器光传感
    [置顶] Android问题ViewPager实现左右两个屏幕的切换
    [置顶] Android代码传感器测试手机支持那几种传感
    [置顶] Android代码检测手机耳机插拔
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5073590.html
Copyright © 2011-2022 走看看