Does binv access memory?
No. It reads integer register operands and writes rd only.
Invert single bit by register index
BINV uses opcode 0110011 (0x33), funct3 001, funct7 0110100. The rs1 and rs2 fields select the two source registers, and rd selects the destination register.
binv is a Zbs single-bit invert instruction. The bit index comes from the low log2(XLEN) bits of rs2.
binv is a Zbs single-bit invert instruction. The bit index comes from the low log2(XLEN) bits of rs2.
Understand this scenario with real code like «binv x10, x11, x12 ; x10 = x11 ^ (1 << (x12 & (XLEN-1)))».
Understand this scenario with real code like «binv x10, x11, x12 ; x10 = x11 ^ (1 << (x12 & (XLEN-1)))».
No. It reads integer register operands and writes rd only.
The low log2(XLEN) bits of rs2 select the bit, so higher bits do not extend the index range.