新浪博客

汇编语言指令 ROL和SHL

2012-11-26 20:59阅读:
循环左移指令:ROL DEST,COUNT
  指令功能:把目的地址中的数据循环左移COUNT次,每次从最高位(最左)移出的数据位都补充到最低位(最右),最后从最高位(最左)移出的数据位保存到CF标志位。
  标志位影响:CF标志用于保存最后从最高位移出的数据位。如果COUNT=1,OF标志有意义,如果移位前后数据的符号位发生了变化,OF=1;如果符号位没有发生变化,OF=0。如果COUNT>1,OF标志不确定(没有意义)。
shl就是逻辑左移,右面补零。
  例如
  mov ax,00010101
  shl ax,1 shl A,count(左移count位)
  ;此时ax=00101010
  现在计算机中的数都是补码表示,shl就相当于乘二
  =求和(2^i),左移就相当于幂值加一,即求和(2^(i+1))=2*求和(2^i)
  例如 mov ax,00010101 ;21
  shl ax,1 ;ax=00101010 ;42

我的更多文章

下载客户端阅读体验更佳

APP专享