转:http://www.feiesoft.com/asm/05-2-053.html

双精度移位指令

此组指令有:双精度左移SHLD(Shift Left Double)和双精度右移SHRD(Shift Right Double)。它们都是具有三个操作数的指令,其指令的格式如下:

SHLD/SHRD  Reg/Mem, Reg, CL/Imm ;80386+

其中:第一操作数是一个16位/32位的寄存器或存储单元;第二操作数(与前者具有相同位数)一定是寄存器;第三操作数是移动的位数,它可由CL或一个立即数来确定。

在执行SHLD指令时,第一操作数向左移n位,其“空出”的低位由第二操作数的高n位来填补,但第二操作数自己不移动、不改变。

在执行SHRD指令时,第一操作数向右移n位,其“空出”的高位由第二操作数的低n位来填补,但第二操作数自己也不移动、不改变。

SHLD和SHRD指令的移位功能示意图如图5.8所示。

受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)

(a)、SHLD

(b)、SHRD

图5.8 双精度移位指令操作示意图

下面是几个双精度移位的例子及其执行结果。

双精度移位指令

指令操作数的初值

指令执行后的结果

SHLD  AX, BX, 1

(AX)=1234H,(BX)=8765H

(AX)=2469H

SHLD  AX, BX, 3

(AX)=1234H,(BX)=8765H

(AX)=91A4H

SHRD  AX, BX, 2

(AX)=1234H,(BX)=8765H

(AX)=448DH

SHRD  AX, BX, 4

(AX)=1234H,(BX)=8765H

(AX)=5123H

学习和理解双精度移位指令的控件。

SHL/SAL一样:逻辑/算术左移,最高位进到CF,最低位补0;
SHR:逻辑右移,最低位进到CF,最高位补0;
SAR:算术右移,最低位进到CF,最高位不变;
ROL:循环左移,最高位进到CF的同时补到最低位;
ROR:循环右移,最低位进到CF的同时补到最高位;
RCL:带进位循环左移,最高位进到CF的,同时CF值补到最低位;
RCR:带进位循环右移,最低位进到CF的,同时CF值补到最高位;
SHLD:双精度左移,第二个操作数移位到第一个操作数,第一操作数进到CF,和逻辑左移类似,低位移到高位;
SHRD:双精度左移,第二个操作数移位到第一个操作数,第一操作数进到CF,和逻辑由移类似,高位移到低位;

双精度移位指令SHLD,SHRD相关推荐

  1. 汇编语言-010(循环移位ROL,ROR 、进位循环进位RCL,RCR 、有符号数溢出 、双精度移位SHLD,SHRD、SHL和ADD计算 、位运算应用)

    1 :循环移位ROL,ROR,带进位循环进位RCL,RCR .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DWORD ...

  2. Win32ASM学习[13]:移位指令SHL,SHR,SAL,SAR,ROL,ROR,RCL,RCR,SHLD,SHRD

    一. SHL.SHR.SAL.SAR: 移位指令 --------------------------------------------------------------------------- ...

  3. c语言中mw shl code,c – 使用SHLD / SHRD指令

    不,我看不到让gcc使用SHRD指令的方法. 您可以通过更改 -mtune and -march选项来操纵gcc生成的输出. Or are there any gcc -mtune or other ...

  4. 微型计算机DEC影响零标志位吗,汇编语言中常用指令对标志位寄存器的影响

    参考了<汇编语言 基于x86处理器>第七版 转载请注明出处 如果有错误的地方请指正,谢谢. 文章目录 算术运算(ADD/SUB)影响标志位 ADD指令 SUB指令 NEG指令 INC/DE ...

  5. 第四章 指令集体系结构——广度和深度

    第四章 指令集体系结构--广度和深度 4.1 数据存储和栈 从一些与数据存储.过程和参数传递有关的背景问题开始. 高级语言程序员用 变量 代表 抽象数据单元 的数据元素,这些数据单元是抽象的, 它可以 ...

  6. 学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD

    SHL.SHR.SAL.SAR: 移位指令 ;SHL(Shift Left): 逻辑左移 ;SHR(Shift Right): 逻辑右移 ;SAL(Shift Arithmetic Left): 算术 ...

  7. Win32 汇编 - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD

    SHL.SHR.SAL.SAR: 移位指令 ;SHL(Shift Left): 逻辑左移 ;SHR(Shift Right): 逻辑右移 ;SAL(Shift Arithmetic Left): 算术 ...

  8. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(3) - 逻辑指令/移位指令

    Logical Instructions 逻辑指令执行基本的"与.或.非.异或"操作,操作数可以是字节,单字和双子值. 指令 描述 AND 对操作数执行按位逻辑"与&qu ...

  9. plc的移位指令C语言实现,移位指令做流水灯-PLC中使用移位指令是如何实现移位动作的-电气资讯 - 电工屋...

    移位指令的详述 一般格式 移位操作符(如SHR) OPR,CNT. 其中OPR用除立即数外的任何寻址方式.移位次数由CNT决定,在8086中可以是1或CL,CNT为1时只移一位:如果需要移位的次数大于 ...

最新文章

  1. 用质因子去分解质因数
  2. Oracle按照时间统计总结
  3. matlab与excel的交互
  4. Spring MVC page render时jsp中元素相对路径的解决办法
  5. python输入什么就输出什么_一文读懂Python的输入和输出
  6. 文档 笔记 我全都要
  7. 一些奇葩的元素节点object,video
  8. 这个回答让我错失offer!成功收获美团,小米安卓offer
  9. python实例化次数怎么算,我需要一个Python类来跟踪它被实例化的次数
  10. mysql2 0.3.16.gem_安装mysql2时出错:无法构建gem原生扩展
  11. 【[TJOI2014]上升子序列】
  12. c语言依次调用字符串中的元素,C语言经典题目(某校复试真题)
  13. 传智播客 魔法属性 学习
  14. Java绿盾解密- Ldterm(绿盾加密文件解密)
  15. HTML5期末大作业:家乡网站设计——我的家乡-获奖第二(6页) HTML+CSS+JavaScript 关于我的家乡HTML网页设计--
  16. qt 分贝毫瓦 dBm 与 功率 W 相互转换
  17. 软件工程:数据流图和结构图怎么画?
  18. 转发:五个方向告诉你如何运营好一个公众号!
  19. BZOJ3755 : Pty爬山
  20. 二叉树的深度和广度优先

热门文章

  1. 2021 河北取证比武决赛个人赛 题解 入侵溯源
  2. IT项目管理中projects、programs和portfolio之间的关系,附带operations以及OPM之间的关系分析
  3. EPON OLT光模块RSSI问题分析报告
  4. 《2022微隔离技术与安全用例研究报告》发布
  5. centos下安装PhpMyAdmin
  6. 数据库数据迁移失败,如何进行修复操作
  7. 【ManageEngine】终端管理系统,助力华盛证券数字化转型
  8. 2015年 行人检测总结4
  9. 读懂 x86 架构 Linux 系统虚拟化,这文不容错过
  10. 电脑组成部件介绍图解:电脑的硬件组成部分及其作用各是什么?