Can SB.RL use offset(rs1)?
No. The official syntax is sb.rl rs2, (rs1), with no offset immediate; the address comes directly from rs1.
Zalasr atomic store of 1 byte with release-RCsc ordering.
SB.RL is a 1-byte ordered atomic store in the Zalasr standalone load-acquire/store-release family. It atomically writes the low 8 bits of x[rs2] to the address in x[rs1]; the syntax has no offset field, and rd is fixed to x0 in the encoding. A 1-byte access is naturally aligned at every byte address.
Shows the Zalasr standalone store-release AMO encoding, no-offset address syntax, 8-bit data transfer, and aq/rl ordering annotation.
A 1-byte access is naturally aligned at every byte address.
Assume implemented Zalasr and successful permitted fetch/data access except for the shown alignment exception. Demo addresses are nonnegative safe integers (at most 2^53−1), also fitting 32 bits on RV32. An x0 source is zero; rs2=rs1 uses one register value.
SB.RL writes only the low 8 bits of rs2 to memory; higher rs2 bits are not part of the stored value.
This animation shows ISA-visible Zalasr atomic load/store behavior and aq/rl ordering annotations; it does not model LR/SC reservations, AMO read-modify-write old-value return, caches, buses, or pipeline timing.
SB.RL uses rs1 directly as the address and atomically writes the low 8 bits of rs2; aq/rl bits provide ordering annotations and do not change the stored data.
Understand this scenario with real code like «sb.rl x5, (x6)».
Understand this scenario with real code like «sb.rl x5, (x6)».
No. The official syntax is sb.rl rs2, (rs1), with no offset immediate; the address comes directly from rs1.
No. These Zalasr instructions are single ordered atomic load/store operations; the animation does not show reservations or old-value return.
No. aq/rl are ordering annotations; the stored value is still the low 8 bits of rs2.