逻辑移位:  SHL、SHR
算术移位:  CAL、CAR
  • 1
  • 2
  • 无符号数的乘法和除法可以用逻辑移位;

  • 有符号数的乘法和除法可以用算术移位;

汇编语言中 sal(算术左移指令)和shl(逻辑左移指令)指令的区别?

汇编语言中 sal(算术左移指令)和shl(逻辑左移指令)指令的寻址方式、控制移位方式等都一样,区别其实只有一处:
SAL算术移位指令在执行时,实际上把操作数看成有符号数进行移位,最高位符号位移入CF,但本身保持原值;其余位顺序左移,次高位被舍弃。
SHL逻辑移位指令在执行时,实际上把操作数看成无符号数进行移位,所有位顺序左移,最高位移入CF。
举例如下:
MOV AX,8001H;(AX)=1000 0000 0000 0001B
SAL AX,1 ;(AX)=1000 0000 0000 0010B
MOV AX,8001H;(AX)=1000 0000 0000 0001B
SHL AX,1 ;(AX)=0000 0000 0000 0010B

汇编指令--移位操作SHL、SHR、SAL、SAR以及它们的区别相关推荐

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

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

  2. 【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 / ...

  3. 【Android 逆向】x86 汇编 ( 参考资料 | Intel 官方的文档 | x86 汇编中文文档 | 汇编指令查询器 )

    文章目录 一.x86 汇编参考文档 1.Intel 官方的文档 2.常用 x86 汇编文档 3.x86 汇编指令查询器 总结 一.x86 汇编参考文档 下面的所有资料 , 都可以在博客资源 https ...

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

  5. 汇编语言shl/shr与sal/sar的使用

    移位指令分为逻辑移位指令和算术移位指令 shl 与 shr 属于逻辑移位指令 shl逻辑左移指令 将寄存器或内存单元的数据左移 最低位用 0 补充 最高位进入 CF 例子: mov ax,8fh ;m ...

  6. ROL,ROR,SAR,SHR,SAL,SHL区别

    SHL,SAL分别是逻辑左移和算术左移,运行结果是一样的,都是数据往左移动,然后在右边补零: SHR是逻辑右移,数据往右移动,在左边补零.如:1000 0000->0010 0000(逻辑右移两 ...

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

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

  8. 汇编指令sar与shr

    首先说下理论: 汇编语言中SAR和SHR指令都是右移指令,SAR是算数右移指令(shift arithmetic right),而SHR是逻辑右移指令(shift logical right). 两者 ...

  9. SAR,SHR,SAL,SHL区别

    SHL,SAL 逻辑左移和算术左移,运行结果是一样的,都是数据往左移动,然后在右边补零: SHR 逻辑右移,数据往右移动,在左边补零.如:1000 0000->0010 0000(逻辑右移两位) ...

最新文章

  1. Activity启动模式详解
  2. wxWidgets:wxAuiManagerEvent类用法
  3. SpringCloud Feign注解导入失败
  4. 直接存储器存取(Direct Memory Access,DMA)详细讲解
  5. 研究cegui,写脚本
  6. Flutter布局锦囊---轮播图片与滑块
  7. linux沙箱隔离_linux沙箱技术
  8. 电子邮件邮箱怎么设置签名?手机邮箱签名设置攻略
  9. mysql关系范式试题_数据库范式练习题
  10. Docker镜像安装宋体
  11. GAN入门实例【个人理解】
  12. 510房产网是江阴知名的房地产服务平台
  13. 【Computer Organization笔记08】指令系统概述,指令格式,寻址方式
  14. 计算机端口号65536,65536端口能不能用
  15. 移动硬盘突然识别不了!
  16. CSS3 制作旋转的大风车
  17. VLookup函数怎么用?详细解析
  18. 1053: 正弦函数 C语言
  19. 2020-08-22
  20. R语言data.table详解

热门文章

  1. 使用Win32DiskImager写入U盘容量变小,提示格式化。恢复U盘原本容量方法
  2. Mars的自语重出江湖,祝大家端午节安康
  3. Web前端工程师必备的PS技能之切图
  4. 【动手学深度学习v2李沐】学习笔记07:权重衰退、正则化
  5. mysql求回购率_回购利率计算方法
  6. 大叔也学Xamarin系列
  7. 六大原则之“里氏替代原则(LSP)“笔记
  8. “政务上链” 能否解决新数据孤岛、安全风险等问题
  9. xshell 链接linux桌面,Xshell远程桌面连接Linux系统的操作步骤
  10. 从一篇AMA揭幕单慢雾安全技术