Assembler, Linker, and SPIM October 10, 2008 () Assembler, Linker, - - PowerPoint PPT Presentation

assembler linker and spim
SMART_READER_LITE
LIVE PREVIEW

Assembler, Linker, and SPIM October 10, 2008 () Assembler, Linker, - - PowerPoint PPT Presentation

Assembler, Linker, and SPIM October 10, 2008 () Assembler, Linker, and SPIM October 10, 2008 1 / 6 Pseudo-instructions Instructions for assembler, not implemented by hardware mov is a modified add blt = slt + bne () Assembler, Linker, and


slide-1
SLIDE 1

Assembler, Linker, and SPIM

October 10, 2008

() Assembler, Linker, and SPIM October 10, 2008 1 / 6

slide-2
SLIDE 2

Pseudo-instructions

Instructions for assembler, not implemented by hardware

mov is a modified add blt = slt + bne

() Assembler, Linker, and SPIM October 10, 2008 2 / 6

slide-3
SLIDE 3

Linkers

Need and Purpose of a Linker

Separate compilation results in separate object files Linking: combine separate object modules into an executable Resolves external references in all modules

() Assembler, Linker, and SPIM October 10, 2008 3 / 6

slide-4
SLIDE 4

Linkers

Tasks of a Linker

Resolves external references among modules Searches libraries for required procedures Determines memory location for each module and relocates absolute references

Figure: What Linker does

() Assembler, Linker, and SPIM October 10, 2008 4 / 6

slide-5
SLIDE 5

Linkers

Loading

Read executable’s header for size of (global) data & header sections Creates space in memory for them Copies instructions in data to memory Copies arguments to main() onto stack Initializes (clears) registers, including SP. Jumps to a procedure that

copies arguments from stack to $a0 - $a3 calls main() procedure

() Assembler, Linker, and SPIM October 10, 2008 5 / 6

slide-6
SLIDE 6

Binary and Text Files

What is the difference

All files are binary at storage level Binary file’s content is analyzed in many different ways Plain text files are a subset

.txt or ASCII all source code files

Text files are read 8 (rather 7) bits at a time

Each byte is an ASCII code

() Assembler, Linker, and SPIM October 10, 2008 6 / 6