Professional Documents
Culture Documents
Assembler: It is a program that takes basic computer instruction(s) and converts then into a pattern of bits
that the computer's processor can use to perform its basic operations. The language used to program the
assembler is called assembly language.
7. What is DLL?
A dynamic link library (DLL) is a collection of small programs, any of which can be called when
needed by a larger program that is running in the computer. DLL files that support specific device
operation are known as device drivers.
8. Give the difference between system virtual machine and process virtual machine
A Process virtual machine, sometimes called an application virtual machine, runs as a normal
application inside a host OS and supports a single process. It is created when that process is started
and destroyed when it exits.
A System virtual machine provides a complete system platform which supports the execution
of a complete operating system (OS), just like you said Virtual Box is one example.
9. Define compiler boot strapping.
Bootstrapping is the process of writing a compiler (or assembler) in the source programming
language that it intends to compile. Applying this technique leads to a self-hosting compiler.
Eg: c, java compilers etc.
Debugger is a program to help you see what is going on when your program runs. It can print the values of
variables, show what procedure called what procedure to get where you are, run up to a particular line, run
until a particular variables gets a special value etc.
39. List the basic types of computing environments used in editor’s functions?
Editors function in three basic types of computing environments:
1. Time sharing
2. Stand-alone
3. Distributed.
The symbol table includes the name and value for each symbol in the source program, together
with flags to indicate error conditions. Sometimes it may contain details about the data area.
SYMTAB is usually organized as a hash table for efficiency of insertion and retrieval.
The operation code table contains the mnemonic operation code and its machine language
equivalent. Some assemblers it may also contain information about instruction format and length.
OPTAB is usually organized as a hash table, with mnemonic operation code as the key.
54. What are the phases listed in the analysis phase of a compiler? What are their functions?
Phases of compiler can be categorized into
Lexical Analysis: Breaks the source language into small pieces called Tokens. Each token is
single atomic unit of the language such as keyword, identifier, or symbol name.
Syntax Analysis: Involves parsing the token sequence to identify the syntactic structure of the
program
Semantic Analysis: Performs semantic checks such as Type checking to check type errors
Intermediate Code Generation: Generates machine independent language that is close to
machine language
Code Optimization: An optional phase which transforms intermediate code into functionally
equivalent but efficient form either in terms of time and/or space.
Code Generation: Converts Intermediate Representation of source language into output
language (e.g. Assembly language) that can be readily executed by machine.
CISC RISC
Emphasis on hardware Emphasis on software
Includes multi-clock Single-clock,
complex instructions reduced instruction only
Memory-to-memory: Register to register:
"LOAD" and "STORE" "LOAD" and "STORE"
incorporated in instructions are independent instructions
Small code sizes, Low cycles per second,
high cycles per second large code sizes
Transistors used for storing Spends more transistors
complex instructions on memory registers
The C Preprocessor is not a part of the compiler, but is a separate step in the compilation
process. In simple terms, a C Preprocessor is just a text substitution tool and it instructs the
compiler to do require pre-processing before the actual compilation. All preprocessor commands
begin with a hash symbol (#).
65. State the advantages of incorporating macro processor into pass 1 assembler.
many functions do not have to be implemented twice
Functions are combined and it is not necessary to create intermediate files as output from the
macro processor and input to the assembler
more flexibility is available to the programmer in which he/she may use all the features of the
assembler in conjunction with macros