Does ROL access memory?
No. It only reads and writes integer registers; any memory access must be performed by a separate load or store instruction.
Rotate left by register
Rotates rs1 left by the lower log2(XLEN) bits of rs2. Part of Zbb and Zbkb. Replaces neg/sll/srl/or four-instruction sequence.
Starts with machine-code field decoding, then shows operand reads, instruction-specific execution, and ISA-visible state update.
The machine code is split by the current instruction format; the animation starts from encoding/decode.
This animation shows ISA-visible decode and state changes, not any specific CPU pipeline, cache, prediction, or timing implementation.
ROL is a B/Zbb instruction for XLEN-wide rotate left. This page is checked against the official B extension semantics, with emphasis on XLEN, W suffixes, .uw suffixes, and bitwise or rotate boundaries.
Understand this scenario with real code like «rol x10, x11, x12 ; x10 = rotl(x11, x12 & (XLEN-1))».
Understand this scenario with real code like «rol x10, x11, x12 ; x10 = rotl(x11, x12 & (XLEN-1))».
No. It only reads and writes integer registers; any memory access must be performed by a separate load or store instruction.
ROL rotates at the complete XLEN width and writes an equally wide result to rd: rs2[4:0] in RV32 and rs2[5:0] in RV64.