Can LH.AQ use offset(rs1)?
No. The official syntax is lh.aq rd, (rs1), with no offset immediate; the address comes directly from rs1.
Zalasr atomic load of 2 bytes with acquire-RCsc ordering.
LH.AQ is a 2-byte ordered atomic load in the Zalasr standalone load-acquire/store-release family. It atomically reads 16 bits from the address in x[rs1], sign-extends from that width, and writes x[rd]; the syntax has no offset field. The address is naturally aligned to the access width by default unless relaxed by the misaligned atomicity granule PMA.
Shows the Zalasr standalone load-acquire AMO encoding, no-offset address syntax, 16-bit data transfer, and aq/rl ordering annotation.
LH.AQ loads 16 bits from memory and sign-extends from that width to XLEN before writing rd.
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.
LH.AQ uses rs1 directly as the address, atomically reads 2 bytes, and sign-extends into rd; aq/rl bits provide ordering annotations and do not change the loaded data.
Understand this scenario with real code like «lh.aq x5, (x6)».
Understand this scenario with real code like «lh.aq x5, (x6)».
No. The official syntax is lh.aq rd, (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 loaded value is still sign-extended from the source width into rd.