Is it a normal user-mode instruction?
No. It is valid only in M-mode, HS-mode, or U-mode with hstatus.HU=1; an attempt while V=1 raises a virtual-instruction exception.
Hypervisor virtual-machine load: use rs1 as the address, translate with VS/VU effective privilege, then sign-extend the loaded byte to XLEN.
HLV.B is the H-extension virtual-machine load corresponding to LB. It has no immediate offset: rs1 supplies the address of the explicit access. The loaded 8-bit value is sign-extended to XLEN and written to rd (with rd=x0, the value is discarded but the load can still raise exceptions or cause other side effects). It is valid only in M-mode, HS-mode, or U-mode with hstatus.HU=1. The explicit access uses VU effective privilege when hstatus.SPVP=0 and VS effective privilege when SPVP=1, with VS-stage and G-stage translation.
Shows HLV.B SYSTEM decoding, privilege checks, two-stage translation, and sign-extended writeback without modeling page walks or TLB implementation.
This animation shows only official architectural conditions and outcomes; page walks, TLBs, caches, and platform exception handling are not modeled.
HLV.B loads one byte and sign-extends it to XLEN; rs1 supplies the address without an immediate offset.
Understand this scenario with real code like «hlv.b a0, (a1)».
No. It is valid only in M-mode, HS-mode, or U-mode with hstatus.HU=1; an attempt while V=1 raises a virtual-instruction exception.
No. HLV.B takes its address from rs1; its SYSTEM R-type encoding fixes rs2=x0 instead of using the ordinary LB 12-bit I-type offset field.