第15讲内容为移位操作指令。
算术左移 SAL
逻辑左移 SHL
这两个操作基本相同。SHL OPER, m
将操作数左移m位。如果m = 1,可直接写 SHL OPER, 1 如果m > 1,应放入CL中。 MOV CL, 5 SHL AX, CL
算术右移 SAR
对有符号数,左边使用符号补齐。
逻辑右移 SHR
左边使用0补齐。
还有四个循环移动指令:
ROL, ROR 。不带进位标识的循环左移,右移
RCL, RCR 。 带进位标识的循环左移,右移。
带进位标识时,将CF纳入循环移动的循环之中。
不带进位时,移位8位,16位后,复原。
带进位时,移位9位,17位后,复原。
例: 将AX中的最后一位送入BX的最后一位。
ROR BX, 1
ROR AX, 1
RCL BX, 1
ROL AX, 1