|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 catch 于 2013-12-1 15:12 编辑
SHR是汇编逻辑指令,SHR指令将目的操作数顺序右移1位或CL寄存器指定的位数。逻辑右移1位时,目的操作数的最低位移到进位标志位CF,最高位补零。SHR指令影响标志位CF和OF。如果移位次数为1,且移位后符号位的值发生变化,则OF=1,否则OF=0.如果移位次数不为1,则OF不确定。
【格式】:SHR OPR.CNT。其中OPR用除立即数外的任何立即数指定范围从1到31的移位次数。
如MOV AL,62HMOV CL,4
SHR AL,CL
所执行简易理解如下:
01100010B 因为是右移操作,也称为右移补0操作,将二进制位逐次在右边去掉一位然后在左边添个0,移多少位重复上述操作多少次。4次移位后结果为00000110B,即06H.
【应用】 逻辑右移一位的操作,相当于将寄存器或存储器的无符号数除以2,因此同样可以用SHR指令完成除以某些常数的运算。而且移位指令通常比除法指令时运行速度要快得多。
有关类似指令有:
SHL(shift logical left) 逻辑左移
SHLD(shift left double) 双精度左移
SHRD(shift right double) 双精度右移
|
|