zoukankan      html  css  js  c++  java
  • 169.逻辑指令

    1.逻辑指令

     逻辑运算指令
    AND、OR、NOT、XOR、TEST
     移位指令
    SHL、SHR 、 SAL 、SAR、
    ROL、ROR、RCL、RCR

    2.逻辑运算指令

    3.移位指令

    逻辑左移  

    SHL  OPR, CNT

    shift logical left

     
    逻辑右移

    SHR OPR, CNT

    shift logical right

       

    算术左移

    SAL OPR, CNT

    shift arithmetic left

     (同逻辑左移)  

    算术右移

    SAR OPR, CNT

    shift arithmetic right

       
     循环左移

    ROL OPR, CNT

    rotate left

       
     循环右移

    ROR OPR, CNT

    rotate right

       
    带进位循环左移

    RCL OPR, CNT

    rotate left through carry

       
    带进位循环右移

    RCR OPR, CNT

    rotate right through carry

       

    注意:

    * OPR可用除立即数以外的任何寻址方式   OPR操作数    CNT操作次数
    * CNT=1,SHL OPR, 1
      CNT>1,MOV CL, CNT
      SHL OPR, CL ; 以SHL为例


    * 条件标志位:
    CF = 移入的数值
    OF=1 CNT=1时,最高有效位的值发生变化
    OF=0 CNT=1时,最高有效位的值不变


    移位指令:
    SF、ZF、PF 根据移位结果设置,AF无定义


    循环移位指令:
    不影响 SF、ZF、PF、AF

    例:(AX)= 0012H,(BX)= 0034H,把它们装配成(AX)= 1234H

    MOV CL, 8
    ROL AX, CL
    ADD AX, BX

    例:(BX) = 84F0H
    (1) (BX) 为无符号数,求 (BX) / 2
      SHR BX, 1     ; (BX) = 4278H


    (2) (BX) 为带符号数,求 (BX) ×2
      SAL BX, 1     ; (BX) = 09E0H, OF=1


    (3) (BX) 为带符号数,求 (BX) / 4
      MOV CL, 2
      SAR BX, CL    ; (BX) = 0E13CH

    (3) (BX)=84F0H,把 (BX) 中的 16 位数每 4 位压入堆栈

      MOV   CH, 4          ; 循环次数
      MOV   CL, 4          ; 移位次数
    NEXT: 
      ROL   BX, CL
      MOV   AX, BX
      AND   AX, 0FH
      PUSH  AX
      DEC   CH
      JNZ   NEXT

     

     

     

     

     

  • 相关阅读:
    Tomcat虚拟主机配置
    JSP执行过程
    JDK环境变量配置贺Tomcat环境搭建
    有限域上的运算
    希尔密码(Hill Cipher)的实现
    高精度运算
    统计文本中的单词数的简单脚本
    soj1166. Computer Transformat(dp + 大数相加)
    [转].Python中sorted函数的用法
    soj1564. HOUSING
  • 原文地址:https://www.cnblogs.com/ZanderZhao/p/11052133.html
Copyright © 2011-2022 走看看