List of Experiments and Record of Progressive Assessment: Date of Performance Date of Submission
List of Experiments and Record of Progressive Assessment: Date of Performance Date of Submission
List of Experiments and Record of Progressive Assessment: Date of Performance Date of Submission
01
To understand the
7 design of loader and 53
linkage editor
To understand macros
8 and basic design of 59
macro processor
Total marks …….. ……
Average marks out of 10 ……*
EXPERIMENT No. 1
1.0 Title:
To understand different classes of Computer System Software
Examples:
Different Kinds of the tools include:
1. End-User Programming:
Word, Excel, Paint, Chat, Explorer etc
2. Utilities and Analysis Programming:
BASIC ,Visual Basic, C,C++,PASCAL,COBOL,FORTRAN, JavaScript ,
HTML, etc
• Application software:
It is a set of programs comprising various modules that are written for specific
computer application.
Examples
Banking, Inventory control ,Payroll , Engineering, Education, GIS etc
Proposition 2 : System software
System software consists of a variety of programs that support the operation of a
computer and enables the end-user to perform specific, productive tasks
Concept structure
01010101
End Utilities & Applications Systems 11111001
user Analysis
01001000
Main goal of system software is to reduce the communication gap between humans
and computers.
System Software performs verity of functions:
• File editing
• Resource Accounting
• I/O management
• Storage management
• Complete various stages of its processing by computer system like – translation
relocation, linking, editing, eventual execution
. Proposition 3: System Programming and its components
System Program: It is a program which aids in effective execution of general user’s
computational requirements on a computer system.
Systems programming: It is the activity of designing and implementing the system
programs.
People
Application Programming
Memory Device
I/O Programs File System Scheduler Libraries Management Management
Physical
Machine
System
Softwares
Operating system: It is a system software that provides easy interface for user to
communicate with computer system. It also manages all the resources of computer
system.
Language processor: It is a system software used to convert / translates one form
of language into another form. A language processor may fall into any one of the
following categories.
i. Translator
ii. Assembler
iii. Compiler
iv. Interpreter
Translator: It is a general term used for converting one form of computer language
into another form. The input text of the translator is called as source program and
output text is called as object program. The output of translator needs not always a
machine code.
Compiler: It is a system software that accepts a source program “In a high-level
language” and produces a corresponding object program.
Interpreter: It is a system software that accepts a source program “In a high-level
language” and produces a corresponding object program .The major difference
between compiler and interpreter are
i) Translates source program line by line.
ii) Detects one error at a time.
Assembler: It is a system software that accepts a source program in assembly
language and produces a corresponding object code
Macro Processor: A Macro call is an abbreviation (or name) for some code. A
macro definition is a sequence of code that has name (macro call). Macro
Processor is a system software which performs macro expansion (in assembly
language) for every occurrence of macro call.
Loader: It is a software which accepts the object programs, prepares these
programs for execution and loads them into core memory .
Linker: It is a system software that links various subroutines to the main program
with respect to memory addresses.
Text Editor: It is a system software that creates and manages text files.
4.0 Diagram:
The structure explaining steps between the HLL to executable program and role of
System Programming in its working sequence.
.......................................................................................................................................
.......................................................................................................................................
• .............................................. type of programmer must know the internal (hardware)
structure of computer system .
7.0 Laboratory practice:
1. Create, delete, rename, copy the files/directories using
a. MS-DOS
b. MS Windows
c. Linux
2. Develop any two programs in C/C++ and VB and debug, compile, execute the
same programs.
3. Write assembly language program for addition of two eight bit numbers and
execute it using
a. MASM software
b. 8086 assembler kit
8.0 Questions:
1. What is system software?
2. List out different system software?
3. What do you mean by programming?
EXPERIMENT No. 2
(Not to be considered for internal assessment)
1.0 Title:
To study the internal structure of computer system and its assembly language
(Model IBM 360/370)
2.0 Prior concepts:
• Internal structure of 8085/8086 processor
• Assembly language programming
3.0 New concepts:
Proposition 1 General machine structure of IBM 360/370
• The IBM 360/370 is based on the “stored program computer” concept.
• Major functional blocks:
- Instruction interpreter (II) interprets (understand) the intent of instruction fetched
from memory
- Location counter( LC) - Stores the address of the instruction to be executed next.
- Working register(WR) - Scratch pad registers used for temporary storage
- General register - Storage register used by programmer
- Memory address register (MAR) - Contains the address of memory location that is
to be read from or write into
- Memory buffer register (MBR) - Contains copy of designated memory location
specified by MAR
- Memory controller - Transfers data between MBR and memory according to the
address given by MAR
Absolute Address
Registers 16 general purpose registers (32 bit each) The GPRS may be used as
base register or index.
4 floating point registers (64 bit each)
1 program status word (64 bit)
Data The 360 operates on following data formats
The 360 has arithmetic, logical control or transfer and special instructions.
Store group
50 ST Store (RX)
40 STH Store half word (RX)
90 STM Store multiple (RS)
Add group
5A A Add (RX)
4A AH Add half word (RX)
1A AR Add (RR)
Compare group
59 C Compare (RX)
49 CH Compare half word (RX)
Fixed point arithmetic
19 CR Compare (RR)
Divide group
5D D Divide (RX)
1D DR Divide (RR)
Multiply group
5C M Multiply (RX)
4C MH Multiply half word (RX)
1C MR Multiply (RR)
Subtract group
5B
4B S Subtract (RX)
1B SH Subtract half word (RX)
SR Subtract (RR)
Move-group
And-group
Or-group
56 O Boolean OR (RX)
Fixed point arithmetic
D6 OC Boolean OR (SS)
96 OI Boolean OR (SI)
16 OR Boolean OR (RR)
Exclusive-group
57 X Exclusive-or (RX)
D7 XC Exclusive-or (SS)
97 XI Exclusive-or (SI)
17 XR Exclusive-or (RR)
Shift
Linkage group
Branch group
Transfer
Assembly language
Programs Comments
6.0 Conclusion:
• The IBM 360/370 is based on .......................................... concept.
• In RX instruction format, to get a absolute address, the offset is added to contents
of ....................... register and .........................register.
• Relative addresses/absolute addresses are the actual addresses of core memory
7.0 Questions:
Write answers to Q.....Q.....Q.....Q.....and Q..... (Teacher shall allot the questions)
1. Define
High level language
Assembly language
Machine language
2. What do you mean by
Machine -OP
Pseudo-OP
Literal
Symbol
3. Why IBM 360/370 uses 12 bit offset instead of 24 bit offset?
4. What is the use of BASE register and index register?
5. State the difference between USING and BALR pseudo-OP
6. How 8088’s addressing differs from IBM 360/370?
EXPERIMENT No. 3
1.0 Title:
To understand the Table Processing Techniques using Searching Techniques.
2.0 Prior concepts:
• Data Structure concept (Array, Pointer, Stack, searching and sorting)
• Basic Assembly language 8085/86 or IBM 360/370 .
Concept structure
Number Symbol
1 TI
2 EX
3 FN
4 RN
5 OR
6 IW
7 LE
LO
8 LO
9 NC
10 OP
11 IF
12 RD
13 FU
14 TE
15 AL
The symbol LO is compared with each symbol in the table sequentially. If the symbol
LO is found , the search is successful otherwise not successful.
Binary Searching : A more systematic way of searching an ordered table . This
technique. uses following steps for searching a keywords from the table.
1-Finds the middle entry ( N/2 or (N+1)/2 )
2- Start at the middle of the table and compare the middle entry with the keyword to
be searched.
3- The keyword may be equal to , greater than or smaller than the item checked.
4-The next action taken for each of these outcomes is as follows
• If equal, the symbol is found.
• If greater, use the top half of the given table as a new table search.
• If smaller, use the bottom half of the table
1. location = -1;
2. while ((more than one item in list) and (haven't yet found
target))
2A. look at the middle item
2B. if (middle item is target)
have found target
else
2C. if (target < middle item)
list = first half of list
2D. else (target > middle item)
list = last half of list
end while
3. if (have found target)
location = position of target in original list
8.0 Conclusion:
• Linear search average length of Time is...................(T(lin)=A*N / T(bin)=B*log2(N) )
9.0 Questions:
Write answers to Q.....Q.....Q.....Q.....and Q..... (Teacher shall allot the questions)
1. Define the following terms in one or two sentences.
a. Searching
b. Sorting
c. Hashing or random searching
2. Show the result of each pass for the Binary search .
( 81,52,57,22,95,04,83,96,42,32,48,82)
3. Write assembly sample code for binary search method.
4. Draw the flowchart for linear search technique.
5. Draw the flowchart for Binary search technique
EXPERIMENT No. 4
1.0 Title:
To understand the Table Processing Techniques using sorting techniques.
Concept structure
Unsorted 1
st
2 nd 3
rd
4th 5 th 6 th 7 th & final
List pass pass pass pass pass pass pass
19 13 05 05 01 01 01 01
13 05 13 01 05 05 05 02
05 19 01 13 13 13 02 05
27 01 19 19 16 02 09 09
01 26 26 16 02 09 11 11
26 27 16 02 09 11 13 13
31 16 02 09 11 16 16 16
16 02 09 11 19 19 19 19
02 09 11 21 21 21 21 21
09 11 21 26 26 26 26 26
11 21 27 27 27 27 27 27
21 31 31 31 31 31 31 31
2. Shell sort : This sort is similar to the interchange sort in that it moves data items
by exchange. A fast comparative sort algorithm. It begins by comparing items a
distance‘d’ apart. The items that are way out of place will be moved rapidly than
a simple interchange sort.
Illustration of Shell sort :
pass 1 pass 2 pass 3 pass 4
Unsorted (d1=6) (d2=3) (d3=2) (d4=1)
List
19 *02 *01
19 *09
13 01 *02
13 *01
*02 *09 *05
05 02
*09 *05 *09
27 *19
01 11 11
01 **11
*21 **13 13
26 *05
31 **16 16
31 *27
16 *19 19
16 **13
*05 ***21 21
02 *21
*27 *26 26
09 *31
11 *27 27
11 *16
*26 *31 31
21 26
* = Exchange
** = Dual Exchange
*** = Triple Exchange.
3. Bucket sort : It is one of the simple distributed sort is called the radix or bucket
sort. The sort involve examining the least significant digit of the keyword first and
the item is then assigned to a bucket uniquely dependent on the value of the
digits.
Final
Original First Merge Second
merge
Table distribution distribution
19 01 0-01,02,05,09 01
13 0 31 1-11,13,16,19 02
05 1- 01,31,11,21 11 2-21,26,27 05
27 2- 02 21 3-31 09
01 3- 13 02 4- 11
26 4 13 5- 13
31 5- 05 05 6- 16
16 6- 26,16 26 7- 19
02 7-27 16 8- 21
09 8 27 9- 26
11 9- 19,09 19 27
21 09 09 31
4. Radix exchange sort : A considerably better distributed sort , its used when keys
are expressed ( expressible) in binary . This sorting is accomplished by
considering groups with the same (M) first bits and ordering that group with
respect to the (M+1)st bits.
Scanning down from the top of the group for a one bit and up from the bottom
for zero bit . Thus that two process are exchange and sorting continues.
5. Address calculation sort : It is one of the fastest type of sort if enough storage
space is available. Sorting is done by transforming the key into an address in the
table that “ represents “ the key .
7.0 Conclusion:
Different kinds of sorting methods with its Average time (Approx) and Extra storage
(wasted space)
Sr. Type Average time Extra storage
No. (Approximate) (Wasted space)
1 Interchange
2 Shell
3 Radix
4 Radix Exchange
5 Address calculation
8.0 Questions:
Write answers to Q.....Q.....Q.....Q.....and Q..... (Teacher shall allot the questions)
1. Show the result of each pass for the following lists using
a. Inter change sort
b. Shell sort
c. Radix sort
(SWATI, ALKA, VARSHA, RUPALI, MRUNAL, ROHINI, ZARINA, YAMINI,
BABALI, DIVYA )
2. Teacher shall make the group of 5 students and allot them to implement one of the
sorting techniques to each group. ( draw the flow chart )
a. Interchange
b. Shell
c. Radix exchange
d. Address calculation
e. Radix
3. Define the following terms in two or three sentences.
1. searching
2. sorting
3. hashing
EXPERIMENT No. 5
1.0 Title:
To understand assembler design and implementation steps
2.0 Prior concepts:
• Data Structure.
• Assembly language programming concepts.
3.0 New concepts:
Proposition 1 : Assembler definition , features.
The assembler is the system program that translate source code written in assembly
language to object code( Machine Language) and other information for loader.
Concept structure
Concept structure
Example:
A sample assembly program with illustration for symbol, literal, and base
tables:
1) After statement 2:
Base Content
15 0
2) After statement 10:
Base Content
15 6
3) After statement 12:
Base Content
13 8064
15 6
• Begin
• read first input line
• if OPCODE = ‘START’ then begin
• save #[Operand] as starting addr
• initialize LC to starting address
• write line to intermediate file
• read next line
• end( if START)
• else
• initialize LC to 0
• While OPCODE != ‘END’ do
• begin
• if this is not a comment line then
• beg
• if there is a symbol in the LABEL field then
• begin
• search ST for LABEL
• if found then
• begin
• store 0 as operand address
• set error flag (undefined symbol)
• end
• end (if symbol)
• else store 0 as operand address
• assemble the object code instruction
• else if OPCODE = ‘BYTE’ or ‘WORD” then
• convert constant to object code
• if object code doesn’t fit into current Text record then
• begin
• Write text record to object code
• initialize new Text record
• end
• add object code to Text record
• end {if not comment}
• write listing line
• read next input line
• end
• write listing line
• read next input line
• write last listing line
• End {Pass 2}
6.0 Conclusion:
1. The design of assembler requires to follow the steps
1. Specify the problem
2. …………………………
3. Define format of data structures
4. …………………………
5…………………………
6. Repeat 1 through 5 on modules
2) For a given a data structure MOT.Write a “C” program to enter mnemonic opcode
in to MOT and search the particular mnemonic opcode form MOT.
6 bytes per entry
Mnemonic Binary Opcode Instruction length Instruction format
Opcode (4 bytes) (1 byte) (2 bits) (3 bits)
(characters) (hexadecimal) (binary) (binary)
“Abbbb” 5A 10 001
“AHbbb” 4A 10 001
. . . .
. . . .
. . . .
. . . .
7.0 Questions:
Write answers to Q.....Q.....Q.....Q.....and Q..... (Teacher shall allot the questions)
1. What do you mean by assembler.
2. List the assembler design steps.
3. State the use of following data structures.
a) Symbol Table
b) Literal Table.
c) Base table.
d) Location Counter .
e) MOT
f) POT
4.Draw the flowchart for Pass1 of assembler design.
5.Draw the flowchart for Pass2 of assembler design.