文章目录
移位指令例子
标号
移位指令
逻辑左移 SHL OPR CNT
mov al
,01001000b
shl al
,1
最高位给进位标志CF ,后面7位左移一位,最后一位补0
循环左移 ROL OPR,CNT
将最高位给进位CF,后面的向左移一位,最后一位是最高位
逻辑右移 SHR OPR,CNT
最低位移到进位CF中,其他向左移动,最高位补0
循环右移 ROR OPR,CNT
最低位给CF,其他向右移,最高位由最低位给
算术左移 SAL OPR,CNT
最高位给进位CF,其他左移,最低位补0
算术右移 SAR OPR,CNT
最低位给进位CF,最高位不变
带进位循环左移 RCL OPR,CNT
最高位给进位CF,最低位是由CF给出
带进位循环右移RCL OPR,CNT
最低位给进位CF,最高位由CF给出
例子
SHL OPR,CNT 将OPR逻辑左移CNT位,就是将寄存器或内存单元中的数据向左移位
mov al
, 01010001b
mov cl
,3
shl al
,cl
;移动位数大于
1是必须用cl
0 1 0 1 0 0 0 1
0 1 0 0 0 1 0 0 0
CF
标号