移位指令
- 移动一位时由指令直接给出;
- 移动两位及以上,则移位次数由CL指定。
- 要求操作数不能是立即数;
- 这类指令的执行大多会影响6个状态标志位。
非循环移位指令
- 逻辑左移SHL(Shift Logic Left)
- 算术左移SAL(Shift Arithmetic Left)
- 逻辑右移SHR(Shift Logic Right)
- 算术右移SAR(Shift Arithmetic Right )
4条指令的格式完全相同,可实现对8位或16位寄存器操作数或内存操作数进行指定次数的移位。
逻辑移位指令针对的是无符号数,算术移位指令针对有符号数。
算术左移和逻辑左移
-
算术左移指令:
SAL OPRD,1
SAL OPRD,CL -
逻辑左移指令:
SHL OPRD,1
SHL OPRD,CL
逻辑右移
<