Does bclr access memory?
No. It reads integer register operands and writes rd only.
Clear single bit by register index
BCLR uses opcode 0110011 (0x33), funct3 001, funct7 0100100. The rs1 and rs2 fields select the two source registers, and rd selects the destination register.
bclr is a Zbs single-bit clear instruction. The bit index comes from the low log2(XLEN) bits of rs2.
bclr is a Zbs single-bit clear instruction. The bit index comes from the low log2(XLEN) bits of rs2.
Understand this scenario with real code like «bclr x10, x11, x12 ; x10 = x11 & ~(1 << (x12 & (XLEN-1)))».
Understand this scenario with real code like «bclr x10, x11, x12 ; x10 = x11 & ~(1 << (x12 & (XLEN-1)))».
Understand this scenario with real code like «bclr 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.