(Memory test) Where was the first machine instruction placed in memory?

### A good answer might be:

0x00400000

# Explanation Continued

The blank line is ignored. Next comes `main:` This defines a symbolic address (sometimes called a statement label). A symbolic address is a symbol (an identifier) that is the source code name for a location in memory. In this program, main stands for the address of the first machine instruction (which turns out to be 0x00400000). Using a symbolic address is much easier than using a numerical address. With a symbolic address, the programmer refers to memory locations by name and lets the assembler figure out the numerical address.

    ## Program to add two plus three
            .text
            .globl  main

    main:
            ori     $8,$0,0x2       # put two's comp. two into register 8
            ori     $9,$0,0x3       # put two's comp. three into register 9
            addu    $10,$8,$9       # add register 8 and 9, put result in 10

    ## End of file

The symbol `main` is global. This means that several source files are able to use `main` to refer to the same main storage address.

### QUESTION 13:

(Test your intuition: ) Is it likely that several sections of a software system need to refer to each other?