MODULE I: System Software and Its Functions M1.01 Explain Software, System Software and Application Software. Software
MODULE I: System Software and Its Functions M1.01 Explain Software, System Software and Application Software. Software
Function:
1. Convert mnemonic operation codes to their machine language equivalents
2. Convert symbolic operands to their equivalent machine addresses.
3. Build the machine instructions in the proper format.
4. Convert the data constants to internal machine representations
5. Write the object program and the assembly listing
Types of Assemblers
1. One-Pass Assembler
These assemblers perform the whole conversion of assembly code to machine code in one go.
2. Multi-Pass/Two-Pass Assembler
These assemblers first process the assembly code and store values in the opcode table and symbol
table. And then in the second step, they generate the machine code using these tables.
Compiler
A compiler is a special program that translates a programming language's source code into
machine code. The source code is typically written in a high-level, human-readable language
such as Java ,c , C++.
Functions
▪ Compiler is used to convert one form of program to another
▪ A compiler should convert the source program to a target machine code in such a way
that the generated target code should be easy to understand
▪ Compiler should preserve the meaning of source code
▪ Compiler should report errors that occur during compilation process
▪ The compilation must be done efficiently
Interpreter
An Interpreter is a program that translates a programming language into a
comprehensible language. The interpreter converts high-level language to an intermediate
language. It contains pre-compiled code, source code, etc. Examples of interpreted languages
are Perl, Python and Matlab
Function
• It works line by line on a code.
• It converts High level language to machine language.
• It translates only one statement of the program at a time.
Loader
A loader is a system program, which takes the object code of a program as input and
prepares it for execution.
1. Source program: This is a program written in a high-level programming language
that needs to be executed.
2. Translator: This component, such as a compiler or interpreter, converts the source
program into an object program.
3. Object program: This is the program in a machine-readable form, usually in
binary, that contains both the instructions and data of the program.
4. Executable object code: This is the object program that has been processed by the
loader and is ready to be executed.
Functions:
1. Allocation - The loader determines and allocates the required memory space for the program
to execute properly.
2. Linking -- The loader analyses and resolve the symbolic references made in the object
modules.
3. Relocation - The loader maps and relocates the address references to correspond to the newly
allocated memory space during execution.
4. Loading - The loader actually loads the machine code corresponding to the object modules
into the allocated memory space and makes the program ready to execute.