鱼C论坛

 找回密码
 立即注册
查看: 3798|回复: 0

[学习笔记] shl 和 shr 指令

[复制链接]
发表于 2021-8-12 22:42:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
shl 和 shr 是逻辑移位指令,后抽课程中我们要用到移位指令,这时进行一下讲解。

   shl 逻辑左移指令,功能为:

   1、将一个寄存器或内存单 元中的数据 向左移位;

    2、将最后移出的一们写入CF中,

    3、最低位用0补充,

例如如下指令:

  mov al,01001000b

  shl al,1                              ;al中的数据左移一位

执行后al=10010000b  cf=0

如果移动位数大于1时,必须将移动位数放在cl中。

例如:

执行后(al)=10001000b,那请问,CF的值是多少?

因为最后一们移出的是0,所以CF =0

可以看出,将X逻辑左移一位,相当于执行 x=x*2

shr 逻辑右移指令,它和shl所进行的操作是相反。

  将一个寄存器或内存单元中数据向右移位;

  将最后移出一位写入CF中;

  最高位用0补充。

可以看出,将X逻辑右移一位,相当于执行X=X/2


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 22:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表