Vous êtes sur la page 1sur 10



Department of Information Technology
CS1203 System Software

Classes: IT A & B Staff: R.Priscilla

Semester:III UNIT-1
Part A

1. Define System Software.

System software is the program that support the operation of a computer
E.g. Assembler, Compiler, etc.

2. Distinguish between System Software & application software.

Application software System software
Application program is primarily System programs are intended to
concerned with the solution of some support the operation and use of the
problem using computer computer rather than any particular
Not related to machine architecture Related to the architecture of the
machine on which they are to run
Not machine dependent Most system software’s are machine

3. Define hypothetical computer model.

SIC – Simplified Instructional Computer – is the hypothetical computer
that has been designed to include the hardware features most found on real

4. What are the SIC two versions?

1) SIC-standard version.
2) SIC/XE (XE – Extra equipment or extra expensive.

5. Give the instructions format of SIC.

All machine instructions on the standard version of SIC have the
following 24-bit format:
Opcode x Address
The flag bit x is used to indicate indexed-addressing mode

6. Give the instructions set of SIC.

Load and store instructions (LDA, LDX, STA, STX)
Integer arithmetic operations (ADD, SUB, MUL, DIV)
Comparison operation (COMP)
Conditional Jump operations (JLT, JEQ, JGT)
Jump to Subroutine instruction (JSUB)
Return to Subroutine (RSUB)
7. What are the addressing modes in SIC?
There are two types of addressing available in SIC:
MODE INDICATION Target Address (TA) calculation
a) Direct addressing x=0 TA=address
b) Indexed addressing x=1 TA=address+(x)

8. What are the registers used in SIC?

There are 5 registers in SIC machine
Each register is 24 bits in length
Mnemonic Number Special use
or register-
A 0 Accumulator - used for arithmetic operations
X 1 Index register – used for addressing
L 2 Linkage register – JSUB (Jump to subroutine)
instruction stores the return address in this register
PC 8 Program Counter – contains the address of the next
instruction to be fetched for execution
SW 9 Status word – contains a variety of information,
including a Condition Code (CC)

9. Illustrate how input and out operations are performed in SIC.

- Performed by transferring one byte at a time to or from the rightmost 8-
bits of register A
- three I/O (input/output) instructions – each of which specifies the device
code as an operand
a. TD (Test Device) instruction tests whether the addressed device
is ready to send or receive a byte of data.
b. RD (Read Data)
c. WD (Write Data)

10. Give the Instructions format of SIC/XE.

There are four different instruction formats:
1.Format 1:

2.Format 2:
8 4 4
OP R1 R2
3.Format 3:
6 1 1 1 1 1 1 12

N i x b p e Disp

4.Format 4:
6 1 1 1 1 1 1 20

n i x b p e Disp


11. Give the Instructions set of SIC/XE.

 new registers: LDB, STB, etc.
 floating-point arithmetic: ADDF, SUBF, MULF, DIVF
 register move: RMO
 register-register arithmetic: ADDR, SUBR, MULR, DIVR
 supervisor call: SVC
• generates an interrupt for OS

12. Give the Data format of SIC/XE.

Floating-point data type: frac*2(exp-1024)

frac: 0~1
exp: 0~2047

s exponent (11) fraction (36)

13. What are the addressing modes in SIC/XE?

a) Base relative b=1,p=0 TA=(B)+disp
Displacement value can range from 0 to 4095 (Only +ve values)

b) Program-counter relative b=0,p=1 TA=(PC)+disp

Displacement can vary from -2048 to 2047

14. Illustrate how input and out operations are performed in SIC/XE.
SIO, TIO, HIO: start, test, halt the operation of I/O device.
15. What are the registers used in SIC/XE?
Mnemonic Number Special use
B 3 Base register for addressing
S 4 General working register
T 5 General working register
F 6 Floating point accumulator

16. What are the four assembler directives used in the SIC assembler language?

1. Define assembler.
An assembler is a set of programs that accepts as input an assembly
language program and gives as output its machine equivalent plus other
information to the loader.

2. Give the assembler directives.

 START- Specify name and starting address for the program.
 END-Indicate the end of the source program
 BYTE- Generate character or hexadecimal constant, occupying as many
bytes as needed to represent the constant.
 WORD-Generate one word integer constant.
 RESB-Reserve the indicated number of bytes for a data area.
 RESW-Reserve the indicated number of words for a data area.

3. What are the functions required to translate source program to object

 Converts mnemonic operation codes to their machine language
 Converts symbolic operands to their equivalent machine addresses.
 Builds the machine instructions in the proper format.
 Converts the data constant specified in the source program into their
internal machine representations.
 Writes the object program and assembly listing.

4. What are the functions of Pass 1 assembler?

a) Assign addresses to all statements in the program
b) Save the values assigned to all labels for using pass-2
c) Perform some processing of assembler directives

5. What are the functions of Pass 2 assembler?

Pass2 (assemble instruction and general object program)
a) Assemble instructions.
b) Generate data values defined by BYTE, WORD etc.
c) Perform processing of assembler directives not done during Pass1.
d) Write the object program and assembling, listing.

6. Give the two major internal data structures used in the assembler.
SYMTAB is used in pass 1.
This includes the name and value for each label in the source
program together with the flags to indicate error conditions.
SYMTAB & OPTAB are used in pass 2.
The information in the opcode tab is predefined. Symtab used is from
the output of pass 1.

7. What are fields in symbol table of an assembler?

It includes the name and value (address) for each label in the source
program, together with flags to indicate error conditions.

8. List the machine dependent assembler features.

a) Instruction formats and addressing modes.
b) Program relocation

9. Define program relocation.

It is a program which can be loaded in any part of the main memory for

10. List the machine independent assembler features.

a) Literals. b) Symbol - defining statements.
c) Expressions. d) Program blocks.
e) Control sections and program linking.

11. What is meant by literal?

Literal is a constant operand that is written as part the instruction that uses it
(ie the value is stated "literally" in the instruction.)
All of the literal operands used in a program are gathered into one or more literal
pools. Normally literals are placed into a pool at the end of the program.

12. What do you meant by LTORG?

LTORG is an assembler directive. When the assembler encounters a LTORG
statement, it creates a literal pool that contains all of the literal operands used since
the previous LTORG or the beginning of the program.

13. What is meant by LITTAB?

Literal table for each literal the table contains literal name, the operand
value and length, the address assigned to the operand.
14. What are the uses of EQU assembler directive?
EQU ASSEMBLER DIRECTIVE: enter the symbol name and it’s value
into symbol table.
Ex: FIRST EQU 1000
In symbol table
FIRST 1000

15. List the features of MASM Assembler.

1. Unlike 1 pass and 2-pass assembler multi pass assembler make as
many passes as are needed to process the definition of symbols.
2. It is not necessary for such an assembler to make more than two passes
over the entire program.
3. Instead the portions of the program that involve forward references in
the symbol definition are saved during pass 1.
4. Additional passes through these stored definitions are made as
assembly progresses.
5. A normal pass 2 follows this process.

1. Define loader.
Loading brings the object program into memory for execution. A loader is
a system program that performs the loading function. Many loaders also support
relocation and linking.

2. What is the use of loader?

Bringing an object program into memory and starting its execution.

3. Define bootstrap loader.

When a computer is first turned on or restarted, a special type of absolute
loader, called a bootstrap loader, is executed. This bootstrap loader loads the first
program to be run by the computer-usually an operating system.

4. Define relocating loaders.

Loaders that allow for program relocation are called relocating loaders or
relative loaders. A Modification record is used to describe each part of the object
code that must be changed when the program is relocated.

5. What is a linking loader?

A linking loader performs all linking and relocation operations, including
automatic library search if specified, and loads the linked program directly into
memory for execution.

6. Give the main internal data structures used in the linking loader.
External Symbol Table ESTAB analogous to symbol table to store the
name and address of each external symbol in the set of control sections being

7. List the Machine-independent loader features.

i) Automatic library search
ii) Loader options
8. Define Linkage loader.
A linkage editor, on the other hand, produces a linked version of the
program (often called a load module or an executable image), which is written to
a file or library for later execution.

9. Define dynamic linking.

A scheme that postpones the linking function until execution time; a
subroutine is loaded and linked to the rest of the program when it is first called.
This type of function is usually called dynamic linking, dynamic loading, or load
on call.

10. Define MS-DOS Linker.

MS-DOS Linker is a linkage editor that combines one or more object
modules to produce a complete executable program.

1. Define macro definition and macro expansion.
A macro definition is enclosed between a macro header (MACRO) and a
macro end (MEND) statements. Macro definition is typically located at the start
of the program.

The macro processor replaces each macroinstruction with corresponding

group of source language statements. This is called expanding the macros.

2. What are the functions of a macro processor?

The functions of a macro processor involve the substitution of one group
of characters or lines for another.

3. What is the new assembler directives used in macro definition.

MACRO---identifies the beginning of a macro definition.
MEND --- identifies the end of a macro definition.
4. Give the macroinstructions used by a SIC/XE program.
RDBUFF---To read record into buffer.
WRBUFF--- To write record into buffer.

5. What is conditional macro expansion?

Most macro processors can also modify the sequence of statements
generated for a macro expansion depending on the arguments supplied in the
macro invocation.
The use of IF-ELSE-ENDIF structure provides a mechanism for either
generating (once) or skipping selected statements in the macro body.
The use of WHILE-ENDW structure provides a mechanism for
generating the set of statements enclosed within loop repeatedly as long as a
particular condition is true.

6. What is meant by concatenation of macro parameter?

Most macro processors allow parameters to be concatenated with other
character string. Suppose that the parameter to such a macroinstruction is named
&ID. The body of the macro definition might contain a statement like: LDA
X&ID in which the parameter &ID is concatenated after the character string X.

7. Give the main data structures used in macro processors features.

a) DEFTAB -Macro definition is stored in this table
b) NAMTAB -The macro names are entered here
c) ARGTAB -It refers an argument table.

8. List the Machine-independent macro processor.

i) Concatenation of macro parameters
ii) Generation of unique level
iii) Conditional Macro Expansion
iv) Keyword macro parameters.

9. What is the difference between macro invocation and subroutine call?

The most significant difference between macro invocation and subroutine
call is the statements that form the expansion of a macro are generated each
time, when the macro is invoked but the statements in a subroutine appear only
once regardless of how many times the subroutine is called.

10. List the features of MASM macro processor.

 The macro processor of MASM is integrated with Pass 1 of the
 Macros may be redefined within the program without causing an error.
 The main difference between MASM macro processor and that of SIC
lies in the nature of the conditional macro expansion statements.
MASM calls these CONDITIONAL ASSEMBLY statements.
 The macro parameters in MASM need not begin with & or any other
special character.
 The end of the macro is marked by ENDM.
11. Define a macro in C Language.
#define MAX(A,B) ( A > B ) ? ( A) : ( B )
int j,k;
j = 10;
k = 500;

printf(“ This programs finds the max of two values \n”);

printf(“ The Maximum of (10,500) is = %d”, MAX( j,k ) ) ;

1. Define interactive editor.
Interactive Editor is a computer program that allows a user to create and revise
a target document.

2. Give the tasks of document-editing process.

1. Select the part of the target document to viewed and manipulated.
2. Determine how to format this view online & how to display it.
3. Specify and Execute operations that modify the target document.
4. Update the view appropriately.

3. Mention some of the user interface and its uses.

Keyboard Mouse Light Pen Digitizer
Joy Stick.

4. Write the types of editors.

5. Give the components of editor.

• Command Language Processor
• Editing Component & Display Component
• Travelling Component & Viewing Component
• Editing Filter and Viewing Filter.

6. What is the function of Interactive debugging systems?

It provides the programmer with facilities that aid in testing and
debugging of programs. They allow you to see what is going on ``inside'' another
program while it executes--or what another program was doing at the moment it
gdb interactive debugger available in Linux environment.
GDB to debug programs written in C, C++, and Modula-2. GDB is invoked
with the shell command gdb.
7. Define debugging.
Debugging is the process of removing an error in the program during

8. Mention the Debugging functions and its uses.

Tracing and Traceback.
Tracing-- It is used to track the flow of execution logic and data modifications.
Traceback—Show the path by which the current statement was reached.

9. Define Line Editor:

They allowed editing operations within a single line or integral number of lines.

10. What is the work of a command – language processor in an editor?

It accepts inputs from the users and analyses tokens and syntactic structure of

11. Write about viewing component of the editor.

In viewing a document, the start area to be viewed is determined by the current
viewing pointer. This pointer is maintained by viewing component of the editor.
Viewing component is a collection of modules responsible for detemaining the
next view.