微机原理--第三章(6)移位指令

  • 对寄存器操作数或内存操作数进行指定位数的移位。可一次移一位,也可一次移位CL规定的次数。
  • 非循环移位 SHL SHR SAL SAR
  • 循环移位 ROL ROR RCL RCR

非循环移位 (B/W)

  • SHL reg/mem,1/CL
    ;逻辑左移,最高位进入CF,最低位补0
  • SHR reg/mem,1/CL
    ;逻辑右移,最低位进入CF,最高位补0
  • SAL reg/mem,1/CL
    ;算术左移,最高位进入CF,最低位补0
  • SAR reg/mem,1/CL
    ;算术右移,最低位进入CF,最高位不变

对标志的影响

  • 按照移入的位设置进位标志CF
  • 根据移位后的结果影响SF、ZF、PF
  • 对AF没有定义
  • 进行1次移位后,如果移位前的操作数最高位与移位后操作数的最高位不同,则OF=1;否则OF=0。

循环移位(B/W)

  • 将操作数从一端移出的位返回到另一端形成循环,分成不带进位和带进位,分别具有左移或右移操作。

ROL reg/mem,1/CL ;不带进位循环左移
ROR reg/mem,1/CL ;不带进位循环右移
RCL reg/mem,1/CL ;带进位循环左移
RCR reg/mem,1/CL ;带进位循环右移

对标志的影响

  • 循环移位指令影响CF和OF标志。
  • 按照移入的位设置进位标志CF
  • 进行1次移位后,如果移位前的操作数最高位与移位后操作数的最高位不同(有变化),则OF=1;否则OF=0。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值