移位操作_barbara 移位操作符

一、逻辑移位(不管是左移位还是右移位) 都是空缺处补0


例如: mov ax , 1100_0111_0110_1000B
mov cl , 3
shl ax , cl ; 结果 ax = 0011_1011_0100_0000

mov ax , 1100_0111_0110_1000B
mov cl , 3
shr ax , cl ; 结果 ax = 0001_1000_1110_1101 //若为无符号数,目标操作数数值除以2

二、算术移位要保证符号位的不改变(逻辑左移位补0, 逻辑右移位看符号位)

例如: mov ax , 1100_0111_0110_1000B //c768
mov cl , 3
sal ax , cl ; 结果 ax = 0011_1011_0100_0000 //3b40 目标操作数数值乘以2

mov ax , 1100_0111_0110_1000B
mov cl , 3
移位操作_barbara 移位操作符
sar ax , cl ; 结果 ax = 1111_1000_1110_1101

mov ax , 0100_0111_0110_1000B
mov cl , 3
sar ax , cl ; 结果 ax =0000_1000_1110_1101

总结:

1、算术左移和逻辑左移相同。

若无符号数移位后无进位,有符号数移位后无溢出,那么目标操作数数值乘以2

2、算术右移移入的位用符号位填,若是有符号数,右移一位数值除以2

逻辑右移移入的位用0填,若是无符号数,右移一位数值除以2

4个循环移位指令:
循环移位指令类似移位指令,但要将从一端移出的位返回到另一端形成循环。它分成不带进位循环移位和带进位循环移位,分别具有左移或右移操作


三、循环移位
ROL reg/mem,1/CL ;不带进位循环左移
ROR reg/mem,1/CL ;不带进位循环右移
这两条指令不将进位标志CF纳入循环位中。

四、带进位循环移位
RCL reg/mem,1/CL ;带进位循环左移 ,最高位移入CF
RCR reg/mem,1/CL ;带进位循环右移 ,最低位移入CF
这两条指令将进位标志CF纳入循环位中,与操作数一起构成的9位或17位二进制数一起移位。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/276024.html

更多阅读

广州公积金提前网上预约操作流程 广州住房公积金预约

广州公积金提前网上预约操作流程——简介现在提取公积金,需要在网上提前预约才能办理。对于第一次提取公积金的网友们,由于缺少经验,总找不到预约的流程,造成提前公积金的事情一再耽误。小编整理了提前公积金的预约流程,其实是很简单的。

魔术教学之人头移位 人头移位魔术教学

非常高兴你能够看到今天的魔术教学,人头移位魔术非常简单,效果却很是惊人,希望我的解读能够帮你快速学会这个魔术。首先,你要准备两样东西,第一是一件宽松的大衣,第二是一个铁架子(如图)如果没有的话也可以用衣架改装。将铁架

简单的硬币魔术教程——移位的硬币 简单硬币魔术教学

简单的硬币魔术教程——移位的硬币——简介简单的硬币魔术教程——移位的硬币简单的硬币魔术教程——移位的硬币——工具/原料一元硬币四枚简单的硬币魔术教程——移位的硬币——方法/步骤简单的硬币魔术教程——移位的硬币 1、双

VHDL一个移位寄存器的实现 vhdl移位寄存器

先贴一张常用xlinx关于buffer的原语,留做参考,再说明设计中的疑惑总结。//////////////////////////////////////////////////////////////【转】BUFG,IBUFG,BUFGP,IBUFGDS等含义以及使用2012-06-2418:09:11| 分类: 默认分类 | 标签:|

声明:《移位操作_barbara 移位操作符》为网友梦里花落分享!如侵犯到您的合法权益请联系我们删除