Does ORN access memory?
No. This instruction reads its integer source registers and writes the computed result to rd; it performs no data-memory load or store.
OR with inverted operand: rd = rs1 | ~rs2
Bitwise OR of rs1 with the bitwise inversion of rs2: rd = rs1 | ~rs2. Part of Zbb and Zbkb.
Starts with machine-code field decoding, then shows operand reads, instruction-specific execution, and ISA-visible state update.
Assumes Zbb or Zbkb is enabled at the selected XLEN, with the fixed register values below and PC=0x2000; fetch succeeds and no asynchronous interrupt occurs. Steps are a teaching decomposition.
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.
Invert all XLEN bits of rs2, OR them with rs1, and write rd. Available in RV32/RV64 with Zbb or Zbkb.
Understand this scenario with real code like «orn x10, x11, x12 ; x10 = x11 | ~x12».
Understand this scenario with real code like «orn x10, x11, x12 ; x10 = x11 | ~x12».
No. This instruction reads its integer source registers and writes the computed result to rd; it performs no data-memory load or store.
ORN computes rs1 | ~rs2 bit by bit across the complete XLEN-wide value and writes an equally wide result to rd.