lh

Operands

$reg, [imm($reg) / LO(id) / ($reg) / imm / id / id($reg) / id+imm / id+imm($reg)], ($reg)

Load halfword (sign-extended) : Reads a 16-bit value from memory at address ($t2 + offset), sign-extends it to 32 bits, and stores the result in $t1. The address must be halfword-aligned (divisible by 2). Use 'lhu' for zero-extension.

Variants

  • Load halfword (sign-extended) : Reads a 16-bit value from memory at address ($t2 + offset), sign-extends it to 32 bits, and stores the result in $t1. The address must be halfword-aligned (divisible by 2). Use 'lhu' for zero-extension. lh $t1,-100($t2)
  • Load from Address : Read from label's address, reached through the %hi already in $t2 lh $t1,%lo(label)($t2)
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,($t2)
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,-100
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,100
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,100000
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,100($t2)
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,100000($t2)
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,label
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,label($t2)
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,label+100000
  • Load Halfword : Set $t1 to sign-extended 16-bit value from effective memory halfword address lh $t1,label+100000($t2)
.data
.align 2
data: .half 0x8123, 0x4567, 0, 0
.text
# Load initialized bytes; inspect $t0: 0xFFFF8123 (-32477, sign extended).
la $t1, data
lh $t0, 0($t1)