go to previous page   go to home page   go to next page

Answer:

0x00400000

Memory Dump

Here is a display of memory showing part of the first subroutine and the start of the data section. The address of the subroutine is circled in red. The data section contains that address followed by the address of the second subroutine.

memory dump

The assembler and loader put all strings in memory in the data section. Note that the strings of the subroutines are not stored with the code of the subroutines. The subroutines are put in memory in the text section.

The symbolic address sub1 stands for the value 0x00400000, the entry point of the first subroutine. This address is shown in the first red circle.

The symbolic address sub1add stands for an address in the data section. The value that is stored at that address is the value 0x00400000, the entry point of the first subroutine. This value is shown in the second red circle.

QUESTION 3:

What is the address of the second subroutine? (Hint: look at the program and at the above memory dump.)