go to previous page   go to home page   go to next page hear noise


Address of a word vs. Contents of a word

Here is the fragment:

## linked.asm --- hard-coded linked list
          .globl main
          la   $s0,elmnt01      # get the address of
                                # the first node
loop:     beqz   $s0,done       # while not null

          . . .          

          . . .

elmnt01:  .word  1
          .word  elmnt02

elmnt02:  .word  2
          .word elmnt03 

          . . . 

Bug Alert! To get the address in memory corresponding to a symbolic address, use the la instruction. The lw loads the value stored at that address.

In this program, register $s0 contains the address of each node as it is visited. So to start it out correctly use the la instruction.


Examine this fragment:

          la      $s0,head
          lw      $s1,head
          . . .
head:     .word   7

Which register, $s0 or $s1, contains the value 7 after this fragment executes?