移位指令分为逻辑移位指令和算术移位指令

  • shl 与 shr 属于逻辑移位指令

shl逻辑左移指令

  • 将寄存器或内存单元的数据左移
  • 最低位用 0 补充
  • 最高位进入 CF

例子:

 mov ax,8fh  ;mov ax,1000 1111bshl ax,1  ;将ax左移一位执行后 (ax) = 0001 1110b  ;1ehCF = 1

如果我们需要移动的位数大于1时,需要将移动位数存入 cl
例子:

比如说我们要移动 4 位
mov cl,4
mov ax,9fh  ;mov ax,1000 1111b
shl ax,cl   ;左移位数为 cl 里的数据执行后 (ax) = 1111 0000b        ;f0h
CF = 1

shr逻辑右移指令

  • 将寄存器或内存单元的数据右移
  • 最低位用 0 补充
  • 最低位进入 CF
  • sal 与 sar 属于算术移位指令

sal 算术左移指令

  • 功能与shl相同

sar 算术右移指令

  • 基本与shr相同
  • 与shr补 0 不同,sar补位时最高位不变

汇编语言shl/shr与sal/sar的使用相关推荐

  1. 汇编语言-009(表驱动选择 、条件控制流伪指令 、逻辑移位SHL,SHR 算术移位SAL,SAR)

    1: 表驱动选择,用查表来代替多路选择结构的一种方法 .386 .model flat,stdcallinclude Irvine32.inc.stack 4096 ExitProcess PROTO ...

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

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

  3. 学 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): 算术 ...

  4. 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): 算术 ...

  5. 【Android 逆向】x86 汇编 ( add / sub / mul / div 数值运算指令 | xor / not / sal / sar / shl / shr 位运算指令 )

    文章目录 一.add / sub / mul / div 数值运算指令 二.xor / not / sal / sar / shl / shr 位运算指令 总结 一.add / sub / mul / ...

  6. x86移位SHL、SHR、SAL、ROL、RCR等指令

    x86移位SHL.SHR.SAL.ROL.RCR等指令简介 指令 语法 说明 SHL SHL dest, count (逻辑)左移 SHR SHL dest, count (逻辑)右移 SAL SHL ...

  7. C语言逻辑左移指令shl怎么用,汇编语言SHL(左移)指令:将操作数逻辑左移一位...

    SHL(左移)指令使目的操作数逻辑左移一位,最低位用 0 填充.最高位移入进位标志位,而进位标志位中原来的数值被丢弃: 若将 1100 1111 左移 1 位,该数就变为 1001 1110: SHL ...

  8. 汇编指令--移位操作SHL、SHR、SAL、SAR以及它们的区别

    逻辑移位: SHL.SHR 算术移位: CAL.CAR 1 2 无符号数的乘法和除法可以用逻辑移位; 有符号数的乘法和除法可以用算术移位; 汇编语言中 sal(算术左移指令)和shl(逻辑左移指令)指 ...

  9. 汇编语言--shl和shr指令

    shl和shr是逻辑移位指令 shl是逻辑左移指令,它的功能为: 将一个寄存器或内存单元中的数据向左移位: 将最后移出的一位写入CF中: 最低位用0补充. shr是逻辑右移指令

最新文章

  1. php mysql 星级评分_jQuery+PHP实现星级评分
  2. python结束不退出_Python 基本功: 1. Hello world
  3. [转]SQL Server 2005 分区表实践——建立分区表(partition table)
  4. linux超级工具,linux运维超级工具--sysdig
  5. html5media 网页播放视频,html5media 在IE8播放视频黑屏
  6. Ajax通讯异常12002,前端MVC框架[02] 发送AJAX请求及建立连接池
  7. CSS快速学习8:圆角切图、滚动条和图片整合技术
  8. 1078. Hashing (25)-PAT甲级真题
  9. 学习笔记之CursorAdapter
  10. Sql server 行列转换
  11. 数据库索引类型介绍及其优缺点、区别、适用场景
  12. structs2总结
  13. Vue报错:contains both .browserslistrc and package.json with browsers
  14. 求顺序表的交集和并集
  15. c盘空间不足的一些删除办法
  16. C语言娱乐项目————6、圣诞树
  17. 百余大佬署名AI论文被爆抄袭!智源现已致歉
  18. 如何使用Sklearn生成自己的数据集
  19. 演示一下发电机的原理
  20. 苹果vs剪辑下载_苹果自带APP到底有多好用?这六款你真的要用起来

热门文章

  1. 对html基础内容的理解
  2. html5圣诞贺卡,用CorelDRAW制作漂亮别致的圣诞贺卡
  3. Mac下编译太阳神三国杀源码
  4. 1.4 Go开发工具
  5. 童年往事!怀念44款经典任天堂FC游戏[FC]
  6. CATTI 三级笔译考试准备
  7. Day15 --框架集合 Collection集合 和 List 集合
  8. 《数据库原理》学生表,课程表,选课表的相关内容
  9. 真•业界第一个性能统计分析框架 -- Hiper
  10. Computer Architectrure: Quantitative Approch 第三章第十三节