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.