8086汇编移位指令

汇编移位指令包括:
SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR

SHL、SHR、SAL、SAR:

SHL(Shift Left):逻辑左移
SHR(Shift Right):逻辑右移
SAL(Shift Arithmetic Left):算术左移
SAR(Shift Arithmetic Right):算术右移
其中的 SHL 和 SAL 相同, 但 SHR 和 SAR 不同.

SHL、SAL: 每位左移, 低位补 0, 高位(即移出的那位)进 CF
SHR: 每位右移, 低位进 CF, 高位补 0
SAR: 每位右移, 低位进 CF, 高位(即符号位)不变
eg:AL=1000,BL=1000,CL=2
SHR AL,CL 此后AL=0010
SAR BL,CL 此后BL=1110

它们的结果影响 OF、SF、ZF、PF、CF
它们的指令格式相同:
SHL r/m, i8
SHL r/m, CL

ROL、ROR、RCL、RCR:

ROL(Rotate Left):循环左移
ROR(Rotate Right):循环右移
RCL(Rotate through Carry Left):带进位循环左移
RCR(Rotate through Carry Right):带进位循环右移

ROL: 循环左移, 高位到低位并送 CF
ROR: 循环右移, 低位到高位并送 CF
RCL: 循环左移, 进位值(原CF)到低位, 高位进 CF
RCR: 循环右移, 进位值(原CF)到高位, 低位进 CF

它们的结果影响 OF、CF
它们的指令格式相同:
SHL r/m, i8
SHL r/m, CL

猜你喜欢

转载自www.cnblogs.com/drperry/p/12380038.html