Rotates are required for bit shifts across multiple words. When you SHL the lower word, the high-order bit spills out into the carry. To complete the operation, you need to shift the higher word(s) while bringing in the carry to the low-order bit. RCL is the instruction that accomplishes this.
High word Low word CF
Initial 0110 1001 1011 1001 1100 0010 0000 1101 ?
SHL low word 0110 1001 1011 1001 1000 0100 0001 1010 1
RCL high word 1101 0011 0111 0011 1000 0100 0001 1010 0
ROL and ROR are useful for examining a value bit-by-bit in a way that is (ultimately) non-destructive. They can also be used to shunt a bitmask around without bringing in garbage bits.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…