Yes: the programmer must know the address in advance.
It
is not always possible to know the address in advance.
Conveniently, symbolic addresses and systems software make this
unnecessary.
This happens
by using the la
mnemonic.
This mnemonic does not correspond to a single machine
instruction.
It is a pseudoinstruction that the assembler
translates into to several machine instructions.
la d,exp # load register $d with the address # described by the expression "exp" # "exp" is often a symbolic address # (pseudoinstruction)
In this pseudoinstruction,
exp
is an expression that evaluates to a memory address.
There are several possible forms for
exp
.
Often it is a symbolic address.
The la
pseudoinstruction translates into different machine code
instructions depending on exp
.
Does the la
instruction access (look at) memory?