Lecture 8 Flashcards
Computers cannot run programs expressed with names, they need ot translate the version with names to _______ ______
machine code
The translslator from code we can understand to machine code is _____
assembler
____ _____ is the discipline devoted to best practices in design and
building of programs
software engineering
What are some of the programming best practices
- Write code that is clear and easy to understand
- Comment the code
- Effective use of white space
- Use built-in constants
What are the key features of programming
Human readable -Loop -Conditionals (If, then, else) -Simple operations (Give flexibility instead of hard coding)
The source code to assembler or machine code is called:
- Compiler if translation done completely before program loaded to run
- Interpreter if translation is done statement by statement as program runs (like DOS based Basic)
A Program exists as disk file called a _____ _____
that contains _____ _____
- load module
- executable code
_____ _____ is software in a form that can be run on a computer. It typically refers to machine language
Executable code
A _____ loads the load modules into memory
loader
A ____ job is to resolve undefined references in code by linking library object code with our newly created object code
linker
What are the different kinds of load modules
- Absolute Loading
- Relocatable Loading
- Dynamic Run-Time Loading
What is the problem with absolute loading
associated (bound ) a real memory address to variables, targets at compile
time
What is the problem with relocatable loading?
associated (bound) a real memory address to variables, targets at load
time (can’t swap)
Dynamic run time loading works by
delay that association (binding) until run-time (requires DAT)
There are two ways to link .
Static: Appended to generated code
Dynamic: called at either load time or run time.