求助:双精度右移指令SHRD的疑问
shrd: 双精度右移指令,只能在80386以上处理器使用,将目的操作数向右移动相应位数,空出来的位由源操作数的低位填充。
格式: shrd 目的操作数,源操作数,移位位数
指令不改变源操作数,源操作数必须为寄存器。
例:
mov ax,1234h
mov bx,5678h
shrd ax,bx,16 ;ax=5678h
mov eax,12345678h
mov ebx,87654321h
shrd eax,ebx,32 ;eax=12345678h,右移8字节,eax不变,
shrd eax,ebx,28 ;eax=76543211h,右移7字节还是可以的。
为什么都是双精度右移,16位寄存器完全移位就可以,而32位寄存器完全移位就不行了呢?请指教