5、移位操作指令

5.1、算术左移指令

指令的语法

举例

周期数

SAL reg,1

sal bx,1

1

SAL mem,1

sal word ptr m32[0],1

3

SAL reg,CL

sal ah,cl

4

SAL mem,CL

sal BYTE PTR [di],cl

4

SAL reg,immed

sal cx,6

1

SAL mem,immed

sal array[bx+di],14

3

5.2、算术右移指令

SAR reg,1

sar di,1

1

SAR mem,1

sar count,1

3

SAR reg,CL

sar bx,cl

4

SAR mem,CL

sar sign,cl

4

SAR reg,immed

sar bx,5

1

SAR mem,immed

sar sign_count,3

3

5.3、逻辑左移指令

SHL reg,1

shl si,1

1

SHL mem,1

shl index,1

3

SHL reg,CL

shl di,cl

4

SHL mem,CL

shl index,cl

4

SHL reg,immed

shl di,2

1

SHL mem,immed

shl unsign,4

3

5.4、逻辑右移指令

SHR reg,1

shr dh,1

1

SHR mem,1

shr unsign[di],1

3

SHR reg,CL

shr dx,cl

4

SHR mem,CL

shr word ptr m32[2],cl

4

SHR reg,immed

shr bx,8

1

SHR mem,immed

shr mem16,11

3

5.5、双精度左移指令

SHLD reg16,reg16,immed8

shld ax,dx,10

4

SHLD reg32,reg32,immed8

     

SHLD mem16,reg16,immed8

shld bits,cx,5

4

SHLD mem32,reg32,immed8

     

SHLD reg16,reg16,CL

shld ax,dx,cl

4

SHLD reg32,reg32,CL

     

SHLD mem16,reg16,CL

shld masker,ax,cl

5

SHLD mem32,reg32,CL

     

5.6、双精度右移指令

SHRD reg16,reg16,immed8

shrd cx,si,3

4

SHRD reg32,reg32,immed8

 

 

SHRD mem16,reg16,immed8

shrd [di],dx,5

4

SHRD mem32,reg32,immed8

 

 

SHRD reg16,reg16,CL

shrd ax,dx,cl

4

SHRD reg32,reg32,CL

 

 

SHRD mem16,reg16,CL

shrd [bx],ax,cl

5

SHRD mem32,reg32,CL