Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
RCL/RCR/ROL/ROR
◄Summary► ◄Detail► ◄Example► ◄Timings Key► ◄Encodings Key►
──────────────────────────────────────────────────────────────────────────────
1101000w mod,TTT*,r/m disp (0 or 2)
* TTT represents one of the following bit codes: 000 for ROL, 001 for ROR,
010 for RCL, or 011 for RCR.
─────────────────┬─────────────────────────┬────────────────────────────────
ROL reg,1 │ ror ax,1 │ 88/86 2
ROR reg,1 │ rol dl,1 │ 286 2
│ │ 386 3
─────────────────┼─────────────────────────┼────────────────────────────────
RCL reg,1 │ rcl dx,1 │ 88/86 2
RCR reg,1 │ rcr bl,1 │ 286 2
│ │ 386 9
─────────────────┼─────────────────────────┼────────────────────────────────
ROL mem,1 │ ror bits,1 │ 88/86 15+EA (W88=23+EA)
ROR mem,1 │ rol WORD PTR [bx],1 │ 286 7
│ │ 386 7
─────────────────┼─────────────────────────┼────────────────────────────────
RCL mem,1 │ rcl WORD PTR [si],1 │ 88/86 15+EA (W88=23+EA)
RCR mem,1 │ rcr WORD PTR m32[0],1 │ 286 7
│ │ 386 10
─────────────────┴─────────────────────────┴────────────────────────────────
1101001w mod,TTT*,r/m disp (0 or 2)
* TTT represents one of the following bit codes: 000 for ROL, 001 for ROR,
010 for RCL, or 011 for RCR.
─────────────────┬─────────────────────────┬────────────────────────────────
ROL reg,CL │ ror ax,cl │ 88/86 8+4n
ROR reg,CL │ rol dx,cl │ 286 5+n
│ │ 386 3
─────────────────┼─────────────────────────┼────────────────────────────────
RCL reg,CL │ rcl dx,cl │ 88/86 8+4n
RCR reg,CL │ rcr bl,cl │ 286 5+n
│ │ 386 9
─────────────────┼─────────────────────────┼────────────────────────────────
ROL mem,CL │ ror color,cl │ 88/86 20+EA+4n (W88=28+EA+4n)
ROR mem,CL │ rol WORD PTR [bp+6],cl│ 286 8+n
│ │ 386 7
─────────────────┼─────────────────────────┼────────────────────────────────
RCL mem,CL │ rcr WORD PTR [bx+di],cl│ 88/86 20+EA+4n (W88=28+EA+4n)
RCR mem,CL │ rcl masker │ 286 8+n
│ │ 386 10
─────────────────┴─────────────────────────┴────────────────────────────────
1100000w mod,TTT*,r/m disp (0 or 2) data (1)
* TTT represents one of the following bit codes: 000 for ROL, 001 for ROR,
010 for RCL, or 011 for RCR.
──────────────────┬─────────────────────────┬───────────────────────────────
ROL reg,immed8 │ rol ax,13 │ 88/86 ─
ROR reg,immed8 │ ror bl,3 │ 286 5+n
│ │ 386 3
──────────────────┼─────────────────────────┼───────────────────────────────
RCL reg,immed8 │ rcl bx,5 │ 88/86 ─
RCR reg,immed8 │ rcr si,9 │ 286 5+n
│ │ 386 9
──────────────────┼─────────────────────────┼───────────────────────────────
ROL mem,immed8 │ rol BYTE PTR [bx],10 │ 88/86 ─
ROR mem,immed8 │ ror bits,6 │ 286 8+n
│ │ 386 7
──────────────────┼─────────────────────────┼───────────────────────────────
RCL mem,immed8 │ rcl WORD PTR [bp+8],5 │ 88/86 ─
RCR mem,immed8 │ rcr masker,3 │ 286 8+n
│ │ 386 10
──────────────────┴─────────────────────────┴───────────────────────────────
-♦-