Task 4.2 place incerement Address and get the value from an addree

I have some questions about getting the Address value and the content saved in this address.

la $a0, board  # the base address of the board is now in $a0
move $t0, $a0  # this means now $t0 also saved the base Adress?

if I want to load the saved content or value from an Address, should I set the following instruction?

lh $t1, 0($t0) # like in this task every board block address save their content in halfword...so use lh or lw?

the value next to base address: lh $t1, 4($t0) ? And what about the address increment
suppose we know the position index is 7, $a0 is still the base address
so if we want to get the address from the 7th position, then we should do:

addi $t3, $t3, 0
addi $t3, $t3, 7  # index 7 is now saved in $t3
mulu $t3, $t3, 4  # every address has 4 bytes, so 4? Not sure, because according to our project instruction we should do 7*2...

so if we want to get the 7th position
then we should do: addu $t0, $t0, $t3 ?

finally, we can get the value from this address by doing lh $t4, 0($t0) ?

Another question about judging if a tile is empty or occupied…
if the tile is empty then it has the value of 0 or it has a value which is not the power of 2?

Thanks in advance!

It depends on what you want to load. If you want to load a halfword, i.e. you load from the board directly, then lh is almost correct… Note the signedness of what you want to load. If you operate on a row, which is an array of addresses then you have to load an address.

Again depends on what you operate on. Your intuition is correct, but note that the board is an array of halfwords, each occupying 2 bytes. A row is an array of addresses, each occupying 4 bytes. In general, the address of element i in an array with base address b and element size w (in bytes) is b + i \cdot w.

Powers of two should be ignored completely. Tile values are strictly positive, so 0 means there is no tile and any other value means there is a tile with this value.

Remark: Please not so many questions at once. Every question should be its own post.