双精度移位指令SHLD,SHRD
转: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相关推荐
- 汇编语言-010(循环移位ROL,ROR 、进位循环进位RCL,RCR 、有符号数溢出 、双精度移位SHLD,SHRD、SHL和ADD计算 、位运算应用)
1 :循环移位ROL,ROR,带进位循环进位RCL,RCR .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DWORD ...
- Win32ASM学习[13]:移位指令SHL,SHR,SAL,SAR,ROL,ROR,RCL,RCR,SHLD,SHRD
一. SHL.SHR.SAL.SAR: 移位指令 --------------------------------------------------------------------------- ...
- c语言中mw shl code,c – 使用SHLD / SHRD指令
不,我看不到让gcc使用SHRD指令的方法. 您可以通过更改 -mtune and -march选项来操纵gcc生成的输出. Or are there any gcc -mtune or other ...
- 微型计算机DEC影响零标志位吗,汇编语言中常用指令对标志位寄存器的影响
参考了<汇编语言 基于x86处理器>第七版 转载请注明出处 如果有错误的地方请指正,谢谢. 文章目录 算术运算(ADD/SUB)影响标志位 ADD指令 SUB指令 NEG指令 INC/DE ...
- 第四章 指令集体系结构——广度和深度
第四章 指令集体系结构--广度和深度 4.1 数据存储和栈 从一些与数据存储.过程和参数传递有关的背景问题开始. 高级语言程序员用 变量 代表 抽象数据单元 的数据元素,这些数据单元是抽象的, 它可以 ...
- 学 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): 算术 ...
- 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): 算术 ...
- Intel 64/x86_64/IA-32/x86处理器 - 通用指令(3) - 逻辑指令/移位指令
Logical Instructions 逻辑指令执行基本的"与.或.非.异或"操作,操作数可以是字节,单字和双子值. 指令 描述 AND 对操作数执行按位逻辑"与&qu ...
- plc的移位指令C语言实现,移位指令做流水灯-PLC中使用移位指令是如何实现移位动作的-电气资讯 - 电工屋...
移位指令的详述 一般格式 移位操作符(如SHR) OPR,CNT. 其中OPR用除立即数外的任何寻址方式.移位次数由CNT决定,在8086中可以是1或CL,CNT为1时只移一位:如果需要移位的次数大于 ...
最新文章
- 用质因子去分解质因数
- Oracle按照时间统计总结
- matlab与excel的交互
- Spring MVC page render时jsp中元素相对路径的解决办法
- python输入什么就输出什么_一文读懂Python的输入和输出
- 文档 笔记 我全都要
- 一些奇葩的元素节点object,video
- 这个回答让我错失offer!成功收获美团,小米安卓offer
- python实例化次数怎么算,我需要一个Python类来跟踪它被实例化的次数
- mysql2 0.3.16.gem_安装mysql2时出错:无法构建gem原生扩展
- 【[TJOI2014]上升子序列】
- c语言依次调用字符串中的元素,C语言经典题目(某校复试真题)
- 传智播客 魔法属性 学习
- Java绿盾解密- Ldterm(绿盾加密文件解密)
- HTML5期末大作业:家乡网站设计——我的家乡-获奖第二(6页) HTML+CSS+JavaScript 关于我的家乡HTML网页设计--
- qt 分贝毫瓦 dBm 与 功率 W 相互转换
- 软件工程:数据流图和结构图怎么画?
- 转发:五个方向告诉你如何运营好一个公众号!
- BZOJ3755 : Pty爬山
- 二叉树的深度和广度优先