Sid M. answered 08/13/21
Senior Software Engineer, with BS, and almost MS, in Computer Science
Hello, Yasmeen,
On the MIPS architecture, a load instruction (lw, lh, lb) is the only way to bring data from memory to a register. A store instruction (sw, sh, sb) moves data in the other direction, from register to memory. All other instructions read and or write data contained in registers. The reason that there are 3 load and 3 store instructions is because of the support for moving data between registers and memory of different widths (sizes). lw and sw move 'word' data, 32 bits wide, which is the 'natural' width of data on this architecture. lh and sh move 'half word' data, 16 bits wide; while lb and sb move 'byte' data, 8 bits wide.
The data in a register is always a word, and therefore 32 bits wide. This data could be an address, a signed integer, or an unsigned integer. If your code is using only the low order 16 bits, you can consider the data to be a half-word (or if 8 bits, a byte, respectively).
I hope this answers your questions. If not, please let me know!
-+- Sid