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添加和删除class
    GIT回滚master分支到指定tag版本
    table添加正确的样式
    iframe父页面与子页面赋值
    关于日期转换
    vue-cli脚手架安装
    npm手册
    linear-gradient常用实现效果
    【转载】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
    雷霄骅走了
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5073590.html
Copyright © 2011-2022 走看看