0% found this document useful (0 votes)
44 views

Assembler: A Computer Will Not Understand Any Program Written in A

An assembler translates assembly language code into machine code. There are two types of assemblers - one pass assemblers translate source code into machine code in one pass, while two pass assemblers assign memory addresses in the first pass and translate in the second pass. A compiler translates high-level language code into machine code and checks for errors, but runs slower than an assembler. An interpreter translates statements one at a time rather than the entire program at once. A linker combines modules, libraries, and functions into an executable program. A loader loads machine code into memory so the operating system can execute it.

Uploaded by

Ishika Singh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Assembler: A Computer Will Not Understand Any Program Written in A

An assembler translates assembly language code into machine code. There are two types of assemblers - one pass assemblers translate source code into machine code in one pass, while two pass assemblers assign memory addresses in the first pass and translate in the second pass. A compiler translates high-level language code into machine code and checks for errors, but runs slower than an assembler. An interpreter translates statements one at a time rather than the entire program at once. A linker combines modules, libraries, and functions into an executable program. A loader loads machine code into memory so the operating system can execute it.

Uploaded by

Ishika Singh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Assembler: A computer will not understand any program written in a

language, other than its machine language. The programs written in


other languages must be translated into the machine language. Such
translation is performed with the help of software. A program which
translates an assembly language program into a machine language
program is called an assembler. If an assembler which runs on a
computer and produces the machine codes for the same computer then it
is called self assembler or resident assembler. If an assembler that runs
on a computer and produces the machine codes for other computer then
it is called Cross Assembler.
Assemblers are further divided into two types: One Pass
Assembler and Two Pass Assembler. One pass assembler is the
assembler which assigns the memory addresses to the variables and
translates the source code into machine code in the first pass
simultaneously. A Two Pass Assembler is the assembler which reads the
source code twice. In the first pass, it reads all the variables and assigns
them memory addresses. In the second pass, it reads the source code and
translates the code into object code.
Compiler: It is a program which translates a high level language
program into a machine language program. A compiler is more
intelligent than an assembler. It checks all kinds of limits, ranges, errors
etc. But its program run time is more and occupies a larger part of the
memory. It has slow speed. Because a compiler goes through the entire
program and then translates the entire program into machine codes. If a
compiler runs on a computer and produces the machine codes for the
same computer then it is known as a self compiler or resident compiler.
On the other hand, if a compiler runs on a computer and produces the
machine codes for other computer then it is known as a cross compiler.
Interpreter: An interpreter is a program which translates statements of
a program into machine code. It translates only one statement of the
program at a time. It reads only one statement of program, translates it
and executes it. Then it reads the next statement of the program again
translates it and executes it. In this way it proceeds further till all the
statements are translated and executed. On the other hand, a compiler
goes through the entire program and then translates the entire program
into machine codes. A compiler is 5 to 25 times faster than an
interpreter.
By the compiler, the machine codes are saved permanently
for future reference. On the other hand, the machine codes produced by
interpreter are not saved. An interpreter is a small program as compared
to compiler. It occupies less memory space, so it can be used in a
smaller system which has limited memory space.
Linker: In high level languages, some built in header files or libraries
are stored. These libraries are predefined and these contain basic
functions which are essential for executing the program. These functions
are linked to the libraries by a program called Linker. If linker does not
find a library of a function then it informs to compiler and then compiler
generates an error. The compiler automatically invokes the linker as the
last step in compiling a program.
Not built in libraries, it also links the user defined functions
to the user defined libraries. Usually a longer program is divided into
smaller subprograms called modules. And these modules must be
combined to execute the program. The process of combining the
modules is done by the linker.

Loader: Loader is a program that loads machine codes of a program


into the system memory. In Computing, a loader is the part of
an Operating System that is responsible for loading programs. It is one
of the essential stages in the process of starting a program. Because it
places programs into memory and prepares them for execution. Loading
a program involves reading the contents of executable file into
memory.  Once loading is complete, the operating system starts the
program by passing control to the loaded program code. All operating
systems that support program loading have loaders. In many operating
systems the loader is permanently resident in memory. 

You might also like