Lecture Notes #2
ASSEMBLERS
1. Introduction
There are two main classes of programming languages: high level (e.g., C, Pascal) and low level. Assembly Language is a low level programming language. Programmers code symbolic instructions, each of which generates machine instructions.
An assembler is a program that accepts as input an assembly language program (source) and produces its machine language equivalent (object code) along with the information for the loader.
Assembly language program
Assembler Linker EXE
Figure 1. Executable program generation from an assembly source code
Advantages of coding in assembly language are:
· Provides more control over handling particular hardware components
· May generate smaller, more compact executable modules
· Often results in faster execution
Disadvantages:
· Not portable
· More complex
· Requires understanding of hardware details (interfaces)
Assembler:
An assembler does the following:
1. Generate machine instructions
- evaluate the mnemonics to produce their machine code
- evaluate the symbols, literals, addresses to produce their equivalent machine addresses
- convert the data constants into their machine representations
2. Process pseudo operations
Date: 2015-01-11; view: 1297
|