MIPS Assembly/Memory Instructions

From Wikibooks, open books for an open world
Jump to: navigation, search

Load and store instructions use a special syntax:

 instr rt, imm(rs)

The memory address used for the load or store is rs + imm. The immediate is sign-extended.

Load Instructions[edit]

Instruction:
lbu
type:
I Type

Loads a byte and does not sign-extend the value.

Instruction:
lhu
type:
I Type

Loads a halfword, or two bytes, and does not sign-extend the value. The halfword must be aligned (i.e., it must start at an even address).

Instruction:
lw
type:
I Type

Loads a word (four-bytes) from memory. The word must be aligned (i.e., the last two bits of the address must be zero).

Store Instructions[edit]

Instruction:
sb
type:
I Type

Stores the least significant (rightmost) byte of rt to memory.

Instruction:
sh
type:
I Type

Stores the least significant (rightmost) halfword of rt to memory.

Instruction:
sw
type:
I Type

Stores the contents of rt in memory.