Does binv access memory?
No data-memory access occurs. The data operation reads integer registers and writes rd; a result directed to x0 is discarded.
Invert single bit by register index
rd and rs1 select x0–x31; sources are read before writeback, and x0 writes are discarded.
rs2 selects the index register; use only its low 5 bits on RV32 or low 6 bits on RV64 and ignore the rest.
Requires Zbs 1.0 on RV32/RV64; invert the selected bit and preserve the other rs1 bits.
binv is a Zbs single-bit invert instruction. The bit index comes from the low log2(XLEN) bits of rs2.
Starts with machine-code field decoding, then shows operand reads, instruction-specific execution, and ISA-visible state update.
This example uses fixed initial register values and PC=0x2000; instruction fetch succeeds, with no asynchronous interrupt or extra extension checks. Exception branches stop ordinary commit; post-trap PC and handler state are EEI-dependent.
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.
binv is a Zbs single-bit invert instruction. The bit index comes from the low log2(XLEN) bits of rs2.
RV32/RV64 Zbs, x11=0 and x12=35: RV32 selects index 3 and writes x10=0x8; RV64 selects index 35 and writes x10=0x800000000.
No data-memory access occurs. The data operation reads integer registers and writes rd; a result directed to x0 is discarded.
The low log2(XLEN) bits of rs2 select the bit, so higher bits do not extend the index range.