Tuesday, August 28, 2012

CS2304-SYSTEM SOFTWARE


CS2304-SYSTEM SOFTWARE

UNIT I-INTRODUCTION

1. Define system software.
              It consists of variety of programs that supports the operation of the computer. This  software  makes it possible for the user to focus on the other problems to be solved with out needing to know how the machine works internally. Eg: operating system, assembler, loader. 

2. Give some applications of operating system.
     • to make the computer easier to use
     • to manage the resources in computer
     • process management
     • data and memory management
     • to provide security to the user.   
     Operating system acts as an interface between the user and the system          Eg:windows,linux,unix,dos

 3.   Define compiler and interpreter.  
                   Compiler is a set of program which converts the whole high level language                                    program to machine language program. Interpreter is a set of programs which converts high level language program to machine language program line by line. 

4.   Define loader. 
                  Loader is a set of program that loads the machine language translated by the translator into the main memory and makes it ready for execution. 

5.What is the need of MAR register.
         MAR (memory address register) is used to store the address of the memory from which the data  is to be read or to which the data is to be written. 

 6.   Draw SS instruction format.
     
    

It is a  6 byte instruction used to move L+I bytes data fro the storage location1      to the      storage   location2.

            Storage location1 =  D1+[B1]
            Storage location2 = D2+[B2]          
            Eg: MOV 60,400(3),500(4) 





7. Give any two difference between base relative addressing and program counter relative addressing used in SIC/XE.  
    
B    base relative addressing
PC relative addressing

Target address is calculated using the formula
  address = Displacement + [B]
   B-base register
The target address is calculated using the formula
 Target address = Displacement + [PC]
          PC-program counter

Displacement lies between 0 to 4095
Displacement lies between –2048 to 2047













8.   Define indirect addressing
        In  the case of immediate addressing the operand field gives the memory location.The word from  the given address is fetched and it gives the address of the operand.       Eg:ADD R5, [600]            Here the second operand is given in indirect addressing mode.First the word in memory location  600 is fetched and which will give the address of the operand.

 9.    Define immediate addressing.
                     In this addressing mode the operand value is given directly.There is no need      to refer  memory.The immediate addressing is indicated by the prefix ‘#’.     
             Eg: ADD  #5     
                  In this instruction one operand is in accumulator and the second operand is a immediate value the  value 5 is directly added with the accumulator content and the result is stored in accumulator. 

10.   List out any two CISC and RISC machine.
                       CISC –Power PC, Cray T3E 
                       RISC – VAX,Pentium Pro architecture 


11.Following is a memory configuration: 

                Address       Value               Register R      
                  1                5                      6
                  5                7
                  6                5
 What is the result of the following statement?          
 ADD 6(immediate) to R (indirect)   

Here 6 is the immediate data and the next value is indirect data.ie the register contains the  address of the operand. Here the address of the operand  is 5 and its corresponding value is 7. 
6 + [R]  = 6+ [5] = 6+ 7 =13

12.  Following is a memory configuration:
 Address          Value               Register R 
     4  
     5
     6
   What is the result of the following statement?     
      SUB 4(direct) to R (direct)   Here one operand is in the address location 4(direct addressing) and the next operand is in the    register(register direct).
The resultant value is  9 –6 =3.

13.   What is the name of X and L register in SIC machine and also specify its use.
                      A-accumulator  Used for arithmetic operation.ie in the case of arithmetic operations one operand is in the accumulator,and other operand may be a immediate value,registre operand or memory content.The operation given in the instruction is performed and the result is stored in the accumulator  register.  L-linkage register   It is used to store the return address in the case of jump to subroutine (JSUB) instructions.

14.      What are the instruction formats used in SIC/XE architecture? Give any one format.  
              Format 1 (1 byte), Format 2 (2 bytes), Format 3 (3 bytes)  & Format 4(4 bytes)                 Are the different instructions used in SIC/XE architecture?        

    Format 2:                                  8                4             4
OPCODE
R1
R2

 
15.   Consider the instructions in SIC/ XE programming   
       10     1000    LENGTH    RESW       4  
   
       20      -----     NEW          WORD      3   
   What is the value assign to the symbol NEW. 
          In the line 10 the address is 1000 and the instruction is RESW 4.It reserves 4 word        (3 x 4     =12) area for the symbol LENGTH.hence 12 is added to the LOCCTR.        Thus the value of the symbol NEW is 1000+12 =100C. 

       16.  What is the difference between the instructions LDA   # 3 and LDA THREE?                                                                                       In the  first instruction immediate addressing is used. Here the value 3 is directly   loaded into the   accumulator register.  In the second instruction the memory reference is            used. Here the address (address assigned for the symbol THREE) is loaded into the           accumulator register. 


17. Differentiate trailing numeric and leading separate numeric.
                The numeric format is used to represent numeric values with one digit per In the numeric format if the sign appears in the last byte it is known as the trailing numeric. If the sign appears in a separate byte preceding the first digit then it is called as leading separate numeric. 

18.  What are the addressing modes used in VAX architecture?            
              Register direct, register deferred, auto increment and decrement, program counter relative, base relative, index register mode and indirect addressing are the various addressing modes in VAX architecture.

19.  How do you calculate the actual address in the case of register indirect with immediate index mode? 
                   Here the target address is calculated using the formula  
                             T.A =(register) + displacement.  

20.   Write the sequence of instructions to perform the operation  BETA = ALPHA + 1 using SIC    instructions. 
                        LDA                ALPHA 
            ADD                ONE   
            STA                  BETA   
….                     ….
     ALPHA      RESW               1 
     BETA          RESW               1 
     ONE            RESW               1    

21.Write the sequence of instructions to perform the operation BETA = ALPHA+5          using SIC/XE  instructions.    
                    LDA         ALPHA   
                                        ADD           #1   
                                         STA           BETA     
                                           ….               …. 
                   ALPHA       RESW              1
                      BETA       RESW              1

21.      What is the use of TD instruction in SIC architecture? 
                  The test device (TD) instruction tests whether the addressed device is         ready to send or receive  a byte of data.The condition code  is set to indicate the     result of this test. Setting of < means the device is ready to send or receive, and =   means the device is not ready. 
         






UNIT II-ASSEMBLERS

 1. Define the basic functions of assembler.
            Translating mnemonic operation codes to their machine language equivalents.                                                                                                                                                                                 Assigning machine addresses to symbolic labels used by the programmer.

2. What is meant by assembler directives. Give example.
            These are the statements that are not translated into machine instructions,but they provide instructions to assembler itself. example    START,END,BYTE,WORD,RESW and    RESB. 

3.What is forward references?   
It is a reference to a label that is defined later in a program.
Consider the statement
 10      1000                              STL           RETADR
   .           .              .                   .                      .
  80     1036        RETADR      RESW          1
              The first instruction contains a forward reference RETADR.If we attempt to translate the program line by line,we will unable to process the statement  in line10 because we do not know the address that will be assigned to RETADR .The address is assigned later(in line 80) in the program. 

4.What are the three different records used in object program?
            The header record,text record  and the end record are the three different records used in object program. The header record contains the program name,starting address and length of the program. Text record contains the translated instructions and data of  the program. End record marks the end of the object program and specifies the address in the program where execution is to begin. 

5.What is the need of SYMTAB(symbol table) in assembler?
            The symbol table includes the name and value for each symbol in the source program,together with flags to indicate error conditions.Some times it may contains details about the data area. SYMTAB is usually organized as a hash table for efficiency of insertion and retrieval. 

6. What is the need of  OPTAB(operation code table) in assembler?
            The operation code table contain the mnemonic operation code and its machine language equivalent.Some assemblers it may also contains information about instruction format and length.OPTAB is usually organized as a hash table,with mnemonic operation code as the key. 

7.What are the symbol defining statements generally used in assemblers?  
            *   ‘EQU’-it allows the programmer to define symbols and specify their values directly.
The general  format is 
            symbol     EQU   value
            * ‘ORG’-it is used to indirectly assign values to symbols.When this statement is encountered the   assembler resets its location counter to the specified value.
            The general format is 
                             ORG  value
            In the above two statements value is a constant or an expression involving constants and previously defined symbols.
 
8.Define relocatable program.
            An object  program that contains the information necessary to perform required modification in the object code depends on the starting location of the program during load time is known as relocatable program. 

9.Differentiate absolute expression and relative expression.
             If the result of the expression is an absolute value (constant) then it is known as absolute expression.,
 Eg : BUFEND – BUFFER
            If the result of the expression is relative to the beginning of the program then  it is known as relative expression.label on instructions and data areas and references to the location counter values are relative terms.
Eg: BUFEND + BUFFER 

10. Write the steps required to translate the source program to object program.
            • Convert mnemonic operation codes to their machine language equivalents.
            • Convert symbolic operands to their equivalent machine addresses
            • Build the machine instruction in the proper format.
              Convert the data constants specified in the source program into their internal      machine representation
            • Write the object program and assembly listing. 

11.What is the use of the variable LOCCTR(location counter) in assembler?
            This variable is used to assign addresses to the symbols.LOCCTR is initialized to the beginning address specified in the START statement.Aftre each source statement is processed the length of the assembled instruction or data area to be generated is added to LOCCTR and hence whenever we reach a label in the source program the current value of LOCCTR gives the address associated with the label. 

12. Define load and go assembler.
             One pass assembler that generate their object code in memory for immediate execution is known as load and go assembler.Here no object programmer is written out and hence no need for loader.

  13.What are the two different types of jump statements used in MASM assembler?
            • Near jump A near jump is a jump to a target in the same segment  and it is                           assembled by using a current code segment CS.
            • Far jump A far jump is a jump to a target in a different code segment and it is                    assembled by using different segment registers .

14.What are the use of base register table in AIX assembler?
            A base register table is used to remember which of the general purpose registers are currently available as base registers  and also the base addresses they contain. .USING statement causes entry to the table and  .DROP statement removes the corresponding table entry. 

15. Differentiate the assembler directives RESW and RESB. 
            RESW –It reserves the indicated number of words for data area.
  Eg:  10            1003   THREE          RESW              1   
                   In this instruction one word area(3 bytes) is reserved for the  symbol THREE. If the memory is byte addressable then the address assigned for the next symbol is 1006.
 RESB –It reserves the indicated number of bytes for data area.
 Eg:  10            1008      INPUT          RESB  1
            In this instruction one byte area is reserved for the  symbol  INPUT .Hence the address assigned for the next symbol is 1009. 

16.Define modification record and give its format
             This record contains the information about the modification   in the object code during program relocation.the general format is 
            Col 1                M
            Col 2-7            starting location of the address field to be modified relative to the                                                  beginning of the program
            Col 8-9            length of the address field to be modified in  half bytes. 

17.Write down the pass numbers(PASS  1/ PASS 2) of the following activities that occur             in a two pass assembler:
                a. Object code generation
                b. Literals added to literal table
                c. Listing printed
                d Address location of local symbols
Answer:
                a. Object code generation  -  PASS 2
                b. Literals added to literal table – PASS 1
                c. Listing printed – PASS2
                d. Address location of local symbols – PASS1 

18. What is meant by machine independent assembler features?
                        The assembler features that does not depends upon the machine architecture are  known as machine independent assembler features.
 Eg: program blocks,Literals. 



19. How the register to register instructions are translated in assembler?
            In the case of register to register instructions the operand field contains the register name.During the translation first the object code is converted into its corresponding machine language equivalent with the help of  OPTAB.Then the SYMTAB is searched for the numeric equivalent of register and that value is inserted into the operand field.
  Eg: 125          1036     RDREC         CLEAR          X        B410
       B4-macine equivalent of the opcode CLEAR
       10-numeric equivalent of the register X.

  20. What is meant by external references?
             Assembler program can be divided into many sections known as control sections and each control section can be loaded  and relocated independently of the others.If the instruction in one control section need to refer instruction or data in another control section .the assembler is unable to  process these references in normal way.Such references between control are called external references. 

21.Define control section. 
            A control section is a part of the program that maintain its identity after assembly;each control section can be loaded and  relocated independently of the others.   Control sections are most often used for subroutines.The major benefit of using control sections is to increase flexibility. 

22.What is the difference between the assembler directive EXTREF and EXTDEF. 
             EXTDEF names external symbols that are defined in a particular control section and may be used by other sections.
             EXTREF names external symbols that are referred in a particular control section and defined in another control section. 

23. Give the general format of define record.
             This record gives information about external symbols that are defined in a particular control section.The  format is  Col 1  D  Col 2-7 name of external symbol defined in this control section  Col 8-13 relative address of the symbol with in this control section  Col 14-73 name and relative address for other external symbols. 

24. Give the use of assembler directive CSECT and USE
            CSECT -  used to divide the program into many control sections 
            USE – used to divide the program in to many blocks called program blocks 

25.What is the use of the assembler directive START. 
            The assembler directive START gives the name and starting address of the program
.The format is      
                PN          START        1000
    Here  PN –name of the program
             1000-starting address of the program. 

UNIT III (LOADERS AND LINKERS)

 1.What are the basic functions of loaders
            Loading – brings the object program into memory for execution
            Relocation – modifies the object program so that it can be loaded at an address                                       different from the location originally specified
            Linking – combines two or more separate object programs and also supplies the I                                 nformation needed to reference them. 

2.Define absolute loader
            The loader, which is used only for loading, is known as absolute loader.
            e.g. Bootstrap loader

 3.What is meant by bootstrap loader?
             This is a special type of absolute loader which loads the first program to be run                 by the computer. (usually an operating system) 

4.What are relative (relocative) loaders?
 Loaders that allow for program relocation are called relocating (relocative ) loaders. 

5.What is the use of modification record?
             Modification record is used for program relocation.Each modification record  specifies the starting address and the length of the field whose value is to be altered and also describes the modification to be performed. 

6.What are the 2 different techniques used for relocation?
            Modification record method and relocation bit method. 

7.Relocation bit method
            If the relocation bit corresponding to a word of object code is set to 1,the program’s starting address is to be added to this word when the program is relocated. Bit value 0 indicates no modification is required. 

8.Define bit mask
            The relocation bits are gathered together  following the length indicator in each text record and which is called as bit mask.For e.g. the bit mask FFC(111111111100) specifies that the first 10 words of object code are to be modified during relocation. 

9.What is the need of ESTAB.
            It is used to store the name and address of the each external symbol. It also indicates in which control section the symbol is defined.

 10.What is the use of the variable PROGADDR.    
            It gives the beginning address in memory where the linked program is to be loaded.The starting address is obtained from the operating system.

 11.Write the two passes of a linking loader.  
            Pass1: assigns address to all external symbols  
Pass2: it performs actual loading, relocation and linking.

12.Define automatic library search.
            In many linking loaders the subroutines called by the program being loaded are automatically fetched from the library, linked with the main program and loaded.This feature is referred to as automatic library search.

 13. List the loader options INCLUDE &DELETE. 
            The general format of INCLUDE is  
                        INCLUDE program_name (library name)
            This command direct the loader to read the designated object program from a library and treat it as the primary loader input. 
The general format of DELETE command is
                         DELETE Csect-name
            It instructs the loader to delete the named control sections from the sets of programs loaded. 

14.Give the functions of the linking loader.
              The linking loader performs the process of linking and relocation. It includes the operation of automatic library search and the linked programs are directly loaded into the memory. 

15.      Give the difference between linking loader and linkage editors.

Linking loader          

Linkage editor

The relocation and linking is performed  each time the program is loaded

It produces a linked version of a program and
which is written in a file for later
execution

Here the loading can be accomplished in a single
Two passes are required



16..Define dynamic linking. 
            If the subroutine is loaded and linked to the program during its first call(run time),then it is called as dynamic loading or dynamic linking. 

17. Write the advantage of dynamic linking.
            a)it has the ability to load the routine only when they are needed     
            b)The dynamic linking avoids the loading of entire library for each execution 


18. What is meant by static executable and dynamic executable?
            In static executable, all external symbols are bound and ready to run. In dynamic executables some symbols are bound at run time. 

19. What is shared and private data? 
            The data divided among processing element is called shared data. If the data is not shared  among processing elements then it is called private data. 

20.Write the absolute loader algorithm.
            Begin    
             Read Header record     
            Verify program name and length    
            Read first text record
            While record type != ‘E’ do
            Begin       
                        Moved object code to specified location in memory       
                        Read next object program record 
            End     
            Jump to address specified in End record





























UNIT IV      (MACRO PROCESSORS)

1.Define macro processor.
            Macro processor is system software that replaces each macroinstruction with the corresponding group of source language statements. This is also called as expanding of macros. 

2. What do macro expansion statements mean?
            These statements give the name of the macroinstruction being invoked and the arguments to be used in expanding the macros. These statements are also known as macro call.

 3. What are the directives used in macro definition?
            MACRO - it identifies the beginning of the macro definition 
            MEND  -  it marks the end of the macro definition 

4.What are the data structures used in macro processor?
            DEFTAB – the macro definitions are stored in a definition table ie it contains a macro prototype and the statements that make up the macro body.
            NAMTAB – it is used to store the macro names  and it contains two pointers for each macro instruction which indicate the starting and end  location of macro definition in DEFTAB.it also serves as an index to
            DEFTAB ARGTAB – it is used to store the arguments during the expansion of macro invocations. 

5. Define conditional macro expansion.
             If the macro is expanded depends upon some conditions in macro definition (depending on the arguments supplied in the macro expansion) then it  is called as conditional macro expansion.

 6. What is the use of macro time variable?
             Macro time variable   can be used to store working values during the macro expansion. Any symbol that begins with the character & and then is not a macro instruction parameter is assumed to be a macro time variable. 

7. What are the statements used for conditional macro expansion?
            IF-ELSE-ENDIF statement
            WHILE-ENDW  statement

8.What is meant by positional parameters?
            If the parameters and arguments were associated with each other according to their positions in the macro prototype and  the macro invocation statement, then these parameters in macro definitions are called as positional parameters.

 9.Consider the macro definition
            #Define DISPLAY(EXPR)       Printf(“EXPR = %d\n”,EXPR)
Expand the macro instruction DISPLAY (ANS)   

Ans.: Printf (“EXPR = %d\n”, ANS) 

10.What are known as nested macro call?
            The statement in which a macro calls on another macro,is called nested macro call. In the nested macro call, the call is done  by outer macro and the macro called is the inner macro. 

11. How the macro is processed using two passes?
            Pass1: processing of definitions
            Pass 2:actual-macro expansion.

 12.Give the advantage of line by line processors.
            * it avoids the extra pass over the source program during assembling 
             * it may use some of the utility that can be used by language translators so that can be loaded  once.    

  13.What is meant by line by line processor 
            This macro processor reads the source program statements, process the statements and then the output lines are passed to the language translators as they are generated, instead of being written in an expanded file.

 14. Give the advantages of general-purpose macroprocessors.      
            * The programmer does not need to learn about a macro facility for each compiler. 
             * Overall saving in software development cost  and a maintenance cost
 
15.What is meant by general-purpose macro processors? 
            The macro processors that are not dependent on any particular programming language,but can be used with a variety of different languages are known as general purpose macro processors.
Eg.The ELENA macro processor. 

16. What are the important factors considered while designing  a general purpose macroprocessors? 
            • comments
            • grouping of statements
            • tokens
            • syntax used for macro definitions 

17.What is the symbol used to generate unique labels?
             $ symbol is used in macro definition to generate unique symbols.Each macro expansion the $ symbol is replaced by $XX,where XX is the alpha numeric character.

18. How the nested macro calls are executed?
            The execution of nested macro call follows the LIFO rule.In case of nested macro calls the expansion of the latest macro call is completed first.

 19.Mention the tasks involved in macro expansion. 
            • identify the macro calls in the program
            • the values of formal parameters are identified
            • maintain the values of expansion time variables declared in a macro
            • expansion time control flow is organized
            • determining the values of sequencing symbols
            • expansion of a model statement is performed 

20.How to design the pass structure of a macro assembler? 
            To design the structure of macro-assembler, the functions of macro preprocessor and the conventional assembler are merged. After merging, the functions are structured into passes of the macro assembler.   






























UNIT V       (SYSTEM SOFTWARE TOOLS)

1.Define interactive editor?         
            An interactive editor is a computer program that allows a user to create and revise a target document. The term document includes objects such as computer programs, text, equations, tables, diagrams, line art, and photographs any thing that one might find on a printed page. 

2. What are the tasks performed in the editing process? 
4 tasks
            1. select the part of the target document to be viewed and manipulated.
            2. Determine how to format this view on-line and how to display it.
            3. Specify and execute operations that modify the target document.
             4. Update the view appropriately. 

3. What are the three categories of editor’s devices?
            1. Text device/ String devices
            2. Button device/Choice devices
            3. Locator device 

4.What is the function performed in editing phase?
            In the actual editing phase, the target document is created or altered with a set of operations such as insert, delete, replace, move and copy. 

5.Define Locator device? 
             Locator devices are two-dimensional analog-to-digital converters that position a cursor symbol on the screen by observing the user’s movement of the device. The most common such devices for editing applications are the mouse and the data tablet.

6.What is the function performed in voice input device?
            Voice-input devices, which translate spoken words to their textual equivalents, may prove to be the text input devices of the future. Voice recognizers are currently available for command input on some systems. 

7.What are called tokens?
            The lexical analyzer tracks the source program one character at a time by making the source program into sequence of atomic units is called tokens. 

8.Name some of typical tokens. 
            Identifiers, keywords, constants, operators and punctuation symbols such as commas and parentheses are typical tokens. 

9.  What is meant by lexeme?
            The character that forms a token is said to be a lexeme. 

10.Mention the main disadvantage of interpreter.
            The main disadvantage of interpreter is that the execution time of interpreted program is slower than that of a corresponding compiled object program.

 11.What is meant by code optimization? 
            The code optimization is designed to improve the intermediate code, which helps the object program to run faster and takes less space. 

12. What is error handler? 
            The error handler is used to check if there is an error in the program. If any error, it should warn the programmer by instructions to proceed from phase to phase. 

13.Name some of text editors.
            • line editors
            • stream editors
            • screen editors
            • word processors
            • structure editors 

14.What for debug monitors are used?
            Debug monitors are used in obtaining information for localization of errors.

 15.Mention the features of word processors.
• moving text from one place to another
            • merging of text
• searching
            • word replacement 

16.What are the phases in performing editing process?
             a. Traveling phase
            b. Filtering phase
            c. Formatting phase
            d. Editing phase 

17.Define traveling phase. 
             The phase specifies the region of interest. Traveling is achieved using operations such as next screenful, bottom, find pattern. 

18.Filtering phase.
            The selection of what is to be viewed and manipulated in given by filtering.

19.Editing phase  
             In this phase, the target document is altered with the set of operations such as insert, delete, replace, move and copy.

20.Define user interface?
             User interface is one, which allows the user to communicate with the system in order to perform certain tasks. User interface is generally designed in a computer to make it easier to use.

 21.Define input device?
            Input device is an electromechanical device, which accepts data from the outside world and translates them into a form, which the computer can interpret. 

22.Define output devices  
            Output devices the user to view the elements being edited and the results of the editing operations. 

23.What are the methods in Interaction language of a text editor?
             a. Typing –oriented or text command oriented method
             b. Function key interfaces c. menu oriented method  

   24. Define interactive debugging systems
            An interactive debugging system provides  programmers with facilities that aid in the testing and debugging of programs.
            1. Debugging functions and capabilities
            2. Relationship with other parts of the system
            3. User interface criteria. 

25.Define editor structure. 
            The command language processor accepts input from the users input devices and analyzes the tokens and syntactic structure of the commands. 

26.Give the components of editor structure 4 components
            a. Editing component
            b. Traveling component
            c. Viewing component
            d. Display component

 27.What are the basic types of computing environments used in editors functions?            Editor’s function in three basic types of computing environments
                        i.Time sharing
                         ii.Stand-alone
                         iii.Distributed     
























CS2304-SYSTEM SOFTWARE

UNIT I-INTRODUCTION

1. Define system software.
              It consists of variety of programs that supports the operation of the computer. This  software  makes it possible for the user to focus on the other problems to be solved with out needing to know how the machine works internally. Eg: operating system, assembler, loader. 

2. Give some applications of operating system.
     • to make the computer easier to use
     • to manage the resources in computer
     • process management
     • data and memory management
     • to provide security to the user.   
     Operating system acts as an interface between the user and the system          Eg:windows,linux,unix,dos

 3.   Define compiler and interpreter.  
                   Compiler is a set of program which converts the whole high level language                                    program to machine language program. Interpreter is a set of programs which converts high level language program to machine language program line by line. 

4.   Define loader. 
                  Loader is a set of program that loads the machine language translated by the translator into the main memory and makes it ready for execution. 

5.What is the need of MAR register.
         MAR (memory address register) is used to store the address of the memory from which the data  is to be read or to which the data is to be written. 

 6.   Draw SS instruction format.
     
    

It is a  6 byte instruction used to move L+I bytes data fro the storage location1      to the      storage   location2.

            Storage location1 =  D1+[B1]
            Storage location2 = D2+[B2]          
            Eg: MOV 60,400(3),500(4) 





7. Give any two difference between base relative addressing and program counter relative addressing used in SIC/XE.  
    
B    base relative addressing
PC relative addressing

Target address is calculated using the formula
  address = Displacement + [B]
   B-base register
The target address is calculated using the formula
 Target address = Displacement + [PC]
          PC-program counter

Displacement lies between 0 to 4095
Displacement lies between –2048 to 2047













8.   Define indirect addressing
        In  the case of immediate addressing the operand field gives the memory location.The word from  the given address is fetched and it gives the address of the operand.       Eg:ADD R5, [600]            Here the second operand is given in indirect addressing mode.First the word in memory location  600 is fetched and which will give the address of the operand.

 9.    Define immediate addressing.
                     In this addressing mode the operand value is given directly.There is no need      to refer  memory.The immediate addressing is indicated by the prefix ‘#’.     
             Eg: ADD  #5     
                  In this instruction one operand is in accumulator and the second operand is a immediate value the  value 5 is directly added with the accumulator content and the result is stored in accumulator. 

10.   List out any two CISC and RISC machine.
                       CISC –Power PC, Cray T3E 
                       RISC – VAX,Pentium Pro architecture 


11.Following is a memory configuration: 

                Address       Value               Register R      
                  1                5                      6
                  5                7
                  6                5
 What is the result of the following statement?          
 ADD 6(immediate) to R (indirect)   

Here 6 is the immediate data and the next value is indirect data.ie the register contains the  address of the operand. Here the address of the operand  is 5 and its corresponding value is 7. 
6 + [R]  = 6+ [5] = 6+ 7 =13

12.  Following is a memory configuration:
 Address          Value               Register R 
     4  
     5
     6
   What is the result of the following statement?     
      SUB 4(direct) to R (direct)   Here one operand is in the address location 4(direct addressing) and the next operand is in the    register(register direct).
The resultant value is  9 –6 =3.

13.   What is the name of X and L register in SIC machine and also specify its use.
                      A-accumulator  Used for arithmetic operation.ie in the case of arithmetic operations one operand is in the accumulator,and other operand may be a immediate value,registre operand or memory content.The operation given in the instruction is performed and the result is stored in the accumulator  register.  L-linkage register   It is used to store the return address in the case of jump to subroutine (JSUB) instructions.

14.      What are the instruction formats used in SIC/XE architecture? Give any one format.  
              Format 1 (1 byte), Format 2 (2 bytes), Format 3 (3 bytes)  & Format 4(4 bytes)                 Are the different instructions used in SIC/XE architecture?        

    Format 2:                                  8                4             4
OPCODE
R1
R2

 
15.   Consider the instructions in SIC/ XE programming   
       10     1000    LENGTH    RESW       4  
   
       20      -----     NEW          WORD      3   
   What is the value assign to the symbol NEW. 
          In the line 10 the address is 1000 and the instruction is RESW 4.It reserves 4 word        (3 x 4     =12) area for the symbol LENGTH.hence 12 is added to the LOCCTR.        Thus the value of the symbol NEW is 1000+12 =100C. 

       16.  What is the difference between the instructions LDA   # 3 and LDA THREE?                                                                                       In the  first instruction immediate addressing is used. Here the value 3 is directly   loaded into the   accumulator register.  In the second instruction the memory reference is            used. Here the address (address assigned for the symbol THREE) is loaded into the           accumulator register. 


17. Differentiate trailing numeric and leading separate numeric.
                The numeric format is used to represent numeric values with one digit per In the numeric format if the sign appears in the last byte it is known as the trailing numeric. If the sign appears in a separate byte preceding the first digit then it is called as leading separate numeric. 

18.  What are the addressing modes used in VAX architecture?            
              Register direct, register deferred, auto increment and decrement, program counter relative, base relative, index register mode and indirect addressing are the various addressing modes in VAX architecture.

19.  How do you calculate the actual address in the case of register indirect with immediate index mode? 
                   Here the target address is calculated using the formula  
                             T.A =(register) + displacement.  

20.   Write the sequence of instructions to perform the operation  BETA = ALPHA + 1 using SIC    instructions. 
                        LDA                ALPHA 
            ADD                ONE   
            STA                  BETA   
….                     ….
     ALPHA      RESW               1 
     BETA          RESW               1 
     ONE            RESW               1    

21.Write the sequence of instructions to perform the operation BETA = ALPHA+5          using SIC/XE  instructions.    
                    LDA         ALPHA   
                                        ADD           #1   
                                         STA           BETA     
                                           ….               …. 
                   ALPHA       RESW              1
                      BETA       RESW              1

21.      What is the use of TD instruction in SIC architecture? 
                  The test device (TD) instruction tests whether the addressed device is         ready to send or receive  a byte of data.The condition code  is set to indicate the     result of this test. Setting of < means the device is ready to send or receive, and =   means the device is not ready. 
         






UNIT II-ASSEMBLERS

 1. Define the basic functions of assembler.
            Translating mnemonic operation codes to their machine language equivalents.                                                                                                                                                                                 Assigning machine addresses to symbolic labels used by the programmer.

2. What is meant by assembler directives. Give example.
            These are the statements that are not translated into machine instructions,but they provide instructions to assembler itself. example    START,END,BYTE,WORD,RESW and    RESB. 

3.What is forward references?   
It is a reference to a label that is defined later in a program.
Consider the statement
 10      1000                              STL           RETADR
   .           .              .                   .                      .
  80     1036        RETADR      RESW          1
              The first instruction contains a forward reference RETADR.If we attempt to translate the program line by line,we will unable to process the statement  in line10 because we do not know the address that will be assigned to RETADR .The address is assigned later(in line 80) in the program. 

4.What are the three different records used in object program?
            The header record,text record  and the end record are the three different records used in object program. The header record contains the program name,starting address and length of the program. Text record contains the translated instructions and data of  the program. End record marks the end of the object program and specifies the address in the program where execution is to begin. 

5.What is the need of SYMTAB(symbol table) in assembler?
            The symbol table includes the name and value for each symbol in the source program,together with flags to indicate error conditions.Some times it may contains details about the data area. SYMTAB is usually organized as a hash table for efficiency of insertion and retrieval. 

6. What is the need of  OPTAB(operation code table) in assembler?
            The operation code table contain the mnemonic operation code and its machine language equivalent.Some assemblers it may also contains information about instruction format and length.OPTAB is usually organized as a hash table,with mnemonic operation code as the key. 

7.What are the symbol defining statements generally used in assemblers?  
            *   ‘EQU’-it allows the programmer to define symbols and specify their values directly.
The general  format is 
            symbol     EQU   value
            * ‘ORG’-it is used to indirectly assign values to symbols.When this statement is encountered the   assembler resets its location counter to the specified value.
            The general format is 
                             ORG  value
            In the above two statements value is a constant or an expression involving constants and previously defined symbols.
 
8.Define relocatable program.
            An object  program that contains the information necessary to perform required modification in the object code depends on the starting location of the program during load time is known as relocatable program. 

9.Differentiate absolute expression and relative expression.
             If the result of the expression is an absolute value (constant) then it is known as absolute expression.,
 Eg : BUFEND – BUFFER
            If the result of the expression is relative to the beginning of the program then  it is known as relative expression.label on instructions and data areas and references to the location counter values are relative terms.
Eg: BUFEND + BUFFER 

10. Write the steps required to translate the source program to object program.
            • Convert mnemonic operation codes to their machine language equivalents.
            • Convert symbolic operands to their equivalent machine addresses
            • Build the machine instruction in the proper format.
              Convert the data constants specified in the source program into their internal      machine representation
            • Write the object program and assembly listing. 

11.What is the use of the variable LOCCTR(location counter) in assembler?
            This variable is used to assign addresses to the symbols.LOCCTR is initialized to the beginning address specified in the START statement.Aftre each source statement is processed the length of the assembled instruction or data area to be generated is added to LOCCTR and hence whenever we reach a label in the source program the current value of LOCCTR gives the address associated with the label. 

12. Define load and go assembler.
             One pass assembler that generate their object code in memory for immediate execution is known as load and go assembler.Here no object programmer is written out and hence no need for loader.

  13.What are the two different types of jump statements used in MASM assembler?
            • Near jump A near jump is a jump to a target in the same segment  and it is                           assembled by using a current code segment CS.
            • Far jump A far jump is a jump to a target in a different code segment and it is                    assembled by using different segment registers .

14.What are the use of base register table in AIX assembler?
            A base register table is used to remember which of the general purpose registers are currently available as base registers  and also the base addresses they contain. .USING statement causes entry to the table and  .DROP statement removes the corresponding table entry. 

15. Differentiate the assembler directives RESW and RESB. 
            RESW –It reserves the indicated number of words for data area.
  Eg:  10            1003   THREE          RESW              1   
                   In this instruction one word area(3 bytes) is reserved for the  symbol THREE. If the memory is byte addressable then the address assigned for the next symbol is 1006.
 RESB –It reserves the indicated number of bytes for data area.
 Eg:  10            1008      INPUT          RESB  1
            In this instruction one byte area is reserved for the  symbol  INPUT .Hence the address assigned for the next symbol is 1009. 

16.Define modification record and give its format
             This record contains the information about the modification   in the object code during program relocation.the general format is 
            Col 1                M
            Col 2-7            starting location of the address field to be modified relative to the                                                  beginning of the program
            Col 8-9            length of the address field to be modified in  half bytes. 

17.Write down the pass numbers(PASS  1/ PASS 2) of the following activities that occur             in a two pass assembler:
                a. Object code generation
                b. Literals added to literal table
                c. Listing printed
                d Address location of local symbols
Answer:
                a. Object code generation  -  PASS 2
                b. Literals added to literal table – PASS 1
                c. Listing printed – PASS2
                d. Address location of local symbols – PASS1 

18. What is meant by machine independent assembler features?
                        The assembler features that does not depends upon the machine architecture are  known as machine independent assembler features.
 Eg: program blocks,Literals. 



19. How the register to register instructions are translated in assembler?
            In the case of register to register instructions the operand field contains the register name.During the translation first the object code is converted into its corresponding machine language equivalent with the help of  OPTAB.Then the SYMTAB is searched for the numeric equivalent of register and that value is inserted into the operand field.
  Eg: 125          1036     RDREC         CLEAR          X        B410
       B4-macine equivalent of the opcode CLEAR
       10-numeric equivalent of the register X.

  20. What is meant by external references?
             Assembler program can be divided into many sections known as control sections and each control section can be loaded  and relocated independently of the others.If the instruction in one control section need to refer instruction or data in another control section .the assembler is unable to  process these references in normal way.Such references between control are called external references. 

21.Define control section. 
            A control section is a part of the program that maintain its identity after assembly;each control section can be loaded and  relocated independently of the others.   Control sections are most often used for subroutines.The major benefit of using control sections is to increase flexibility. 

22.What is the difference between the assembler directive EXTREF and EXTDEF. 
             EXTDEF names external symbols that are defined in a particular control section and may be used by other sections.
             EXTREF names external symbols that are referred in a particular control section and defined in another control section. 

23. Give the general format of define record.
             This record gives information about external symbols that are defined in a particular control section.The  format is  Col 1  D  Col 2-7 name of external symbol defined in this control section  Col 8-13 relative address of the symbol with in this control section  Col 14-73 name and relative address for other external symbols. 

24. Give the use of assembler directive CSECT and USE
            CSECT -  used to divide the program into many control sections 
            USE – used to divide the program in to many blocks called program blocks 

25.What is the use of the assembler directive START. 
            The assembler directive START gives the name and starting address of the program
.The format is      
                PN          START        1000
    Here  PN –name of the program
             1000-starting address of the program. 

UNIT III (LOADERS AND LINKERS)

 1.What are the basic functions of loaders
            Loading – brings the object program into memory for execution
            Relocation – modifies the object program so that it can be loaded at an address                                       different from the location originally specified
            Linking – combines two or more separate object programs and also supplies the I                                 nformation needed to reference them. 

2.Define absolute loader
            The loader, which is used only for loading, is known as absolute loader.
            e.g. Bootstrap loader

 3.What is meant by bootstrap loader?
             This is a special type of absolute loader which loads the first program to be run                 by the computer. (usually an operating system) 

4.What are relative (relocative) loaders?
 Loaders that allow for program relocation are called relocating (relocative ) loaders. 

5.What is the use of modification record?
             Modification record is used for program relocation.Each modification record  specifies the starting address and the length of the field whose value is to be altered and also describes the modification to be performed. 

6.What are the 2 different techniques used for relocation?
            Modification record method and relocation bit method. 

7.Relocation bit method
            If the relocation bit corresponding to a word of object code is set to 1,the program’s starting address is to be added to this word when the program is relocated. Bit value 0 indicates no modification is required. 

8.Define bit mask
            The relocation bits are gathered together  following the length indicator in each text record and which is called as bit mask.For e.g. the bit mask FFC(111111111100) specifies that the first 10 words of object code are to be modified during relocation. 

9.What is the need of ESTAB.
            It is used to store the name and address of the each external symbol. It also indicates in which control section the symbol is defined.

 10.What is the use of the variable PROGADDR.    
            It gives the beginning address in memory where the linked program is to be loaded.The starting address is obtained from the operating system.

 11.Write the two passes of a linking loader.  
            Pass1: assigns address to all external symbols  
Pass2: it performs actual loading, relocation and linking.

12.Define automatic library search.
            In many linking loaders the subroutines called by the program being loaded are automatically fetched from the library, linked with the main program and loaded.This feature is referred to as automatic library search.

 13. List the loader options INCLUDE &DELETE. 
            The general format of INCLUDE is  
                        INCLUDE program_name (library name)
            This command direct the loader to read the designated object program from a library and treat it as the primary loader input. 
The general format of DELETE command is
                         DELETE Csect-name
            It instructs the loader to delete the named control sections from the sets of programs loaded. 

14.Give the functions of the linking loader.
              The linking loader performs the process of linking and relocation. It includes the operation of automatic library search and the linked programs are directly loaded into the memory. 

15.      Give the difference between linking loader and linkage editors.

Linking loader          

Linkage editor

The relocation and linking is performed  each time the program is loaded

It produces a linked version of a program and
which is written in a file for later
execution

Here the loading can be accomplished in a single
Two passes are required



16..Define dynamic linking. 
            If the subroutine is loaded and linked to the program during its first call(run time),then it is called as dynamic loading or dynamic linking. 

17. Write the advantage of dynamic linking.
            a)it has the ability to load the routine only when they are needed     
            b)The dynamic linking avoids the loading of entire library for each execution 


18. What is meant by static executable and dynamic executable?
            In static executable, all external symbols are bound and ready to run. In dynamic executables some symbols are bound at run time. 

19. What is shared and private data? 
            The data divided among processing element is called shared data. If the data is not shared  among processing elements then it is called private data. 

20.Write the absolute loader algorithm.
            Begin    
             Read Header record     
            Verify program name and length    
            Read first text record
            While record type != ‘E’ do
            Begin       
                        Moved object code to specified location in memory       
                        Read next object program record 
            End     
            Jump to address specified in End record





























UNIT IV      (MACRO PROCESSORS)

1.Define macro processor.
            Macro processor is system software that replaces each macroinstruction with the corresponding group of source language statements. This is also called as expanding of macros. 

2. What do macro expansion statements mean?
            These statements give the name of the macroinstruction being invoked and the arguments to be used in expanding the macros. These statements are also known as macro call.

 3. What are the directives used in macro definition?
            MACRO - it identifies the beginning of the macro definition 
            MEND  -  it marks the end of the macro definition 

4.What are the data structures used in macro processor?
            DEFTAB – the macro definitions are stored in a definition table ie it contains a macro prototype and the statements that make up the macro body.
            NAMTAB – it is used to store the macro names  and it contains two pointers for each macro instruction which indicate the starting and end  location of macro definition in DEFTAB.it also serves as an index to
            DEFTAB ARGTAB – it is used to store the arguments during the expansion of macro invocations. 

5. Define conditional macro expansion.
             If the macro is expanded depends upon some conditions in macro definition (depending on the arguments supplied in the macro expansion) then it  is called as conditional macro expansion.

 6. What is the use of macro time variable?
             Macro time variable   can be used to store working values during the macro expansion. Any symbol that begins with the character & and then is not a macro instruction parameter is assumed to be a macro time variable. 

7. What are the statements used for conditional macro expansion?
            IF-ELSE-ENDIF statement
            WHILE-ENDW  statement

8.What is meant by positional parameters?
            If the parameters and arguments were associated with each other according to their positions in the macro prototype and  the macro invocation statement, then these parameters in macro definitions are called as positional parameters.

 9.Consider the macro definition
            #Define DISPLAY(EXPR)       Printf(“EXPR = %d\n”,EXPR)
Expand the macro instruction DISPLAY (ANS)   

Ans.: Printf (“EXPR = %d\n”, ANS) 

10.What are known as nested macro call?
            The statement in which a macro calls on another macro,is called nested macro call. In the nested macro call, the call is done  by outer macro and the macro called is the inner macro. 

11. How the macro is processed using two passes?
            Pass1: processing of definitions
            Pass 2:actual-macro expansion.

 12.Give the advantage of line by line processors.
            * it avoids the extra pass over the source program during assembling 
             * it may use some of the utility that can be used by language translators so that can be loaded  once.    

  13.What is meant by line by line processor 
            This macro processor reads the source program statements, process the statements and then the output lines are passed to the language translators as they are generated, instead of being written in an expanded file.

 14. Give the advantages of general-purpose macroprocessors.      
            * The programmer does not need to learn about a macro facility for each compiler. 
             * Overall saving in software development cost  and a maintenance cost
 
15.What is meant by general-purpose macro processors? 
            The macro processors that are not dependent on any particular programming language,but can be used with a variety of different languages are known as general purpose macro processors.
Eg.The ELENA macro processor. 

16. What are the important factors considered while designing  a general purpose macroprocessors? 
            • comments
            • grouping of statements
            • tokens
            • syntax used for macro definitions 

17.What is the symbol used to generate unique labels?
             $ symbol is used in macro definition to generate unique symbols.Each macro expansion the $ symbol is replaced by $XX,where XX is the alpha numeric character.

18. How the nested macro calls are executed?
            The execution of nested macro call follows the LIFO rule.In case of nested macro calls the expansion of the latest macro call is completed first.

 19.Mention the tasks involved in macro expansion. 
            • identify the macro calls in the program
            • the values of formal parameters are identified
            • maintain the values of expansion time variables declared in a macro
            • expansion time control flow is organized
            • determining the values of sequencing symbols
            • expansion of a model statement is performed 

20.How to design the pass structure of a macro assembler? 
            To design the structure of macro-assembler, the functions of macro preprocessor and the conventional assembler are merged. After merging, the functions are structured into passes of the macro assembler.   






























UNIT V       (SYSTEM SOFTWARE TOOLS)

1.Define interactive editor?         
            An interactive editor is a computer program that allows a user to create and revise a target document. The term document includes objects such as computer programs, text, equations, tables, diagrams, line art, and photographs any thing that one might find on a printed page. 

2. What are the tasks performed in the editing process? 
4 tasks
            1. select the part of the target document to be viewed and manipulated.
            2. Determine how to format this view on-line and how to display it.
            3. Specify and execute operations that modify the target document.
             4. Update the view appropriately. 

3. What are the three categories of editor’s devices?
            1. Text device/ String devices
            2. Button device/Choice devices
            3. Locator device 

4.What is the function performed in editing phase?
            In the actual editing phase, the target document is created or altered with a set of operations such as insert, delete, replace, move and copy. 

5.Define Locator device? 
             Locator devices are two-dimensional analog-to-digital converters that position a cursor symbol on the screen by observing the user’s movement of the device. The most common such devices for editing applications are the mouse and the data tablet.

6.What is the function performed in voice input device?
            Voice-input devices, which translate spoken words to their textual equivalents, may prove to be the text input devices of the future. Voice recognizers are currently available for command input on some systems. 

7.What are called tokens?
            The lexical analyzer tracks the source program one character at a time by making the source program into sequence of atomic units is called tokens. 

8.Name some of typical tokens. 
            Identifiers, keywords, constants, operators and punctuation symbols such as commas and parentheses are typical tokens. 

9.  What is meant by lexeme?
            The character that forms a token is said to be a lexeme. 

10.Mention the main disadvantage of interpreter.
            The main disadvantage of interpreter is that the execution time of interpreted program is slower than that of a corresponding compiled object program.

 11.What is meant by code optimization? 
            The code optimization is designed to improve the intermediate code, which helps the object program to run faster and takes less space. 

12. What is error handler? 
            The error handler is used to check if there is an error in the program. If any error, it should warn the programmer by instructions to proceed from phase to phase. 

13.Name some of text editors.
            • line editors
            • stream editors
            • screen editors
            • word processors
            • structure editors 

14.What for debug monitors are used?
            Debug monitors are used in obtaining information for localization of errors.

 15.Mention the features of word processors.
• moving text from one place to another
            • merging of text
• searching
            • word replacement 

16.What are the phases in performing editing process?
             a. Traveling phase
            b. Filtering phase
            c. Formatting phase
            d. Editing phase 

17.Define traveling phase. 
             The phase specifies the region of interest. Traveling is achieved using operations such as next screenful, bottom, find pattern. 

18.Filtering phase.
            The selection of what is to be viewed and manipulated in given by filtering.

19.Editing phase  
             In this phase, the target document is altered with the set of operations such as insert, delete, replace, move and copy.

20.Define user interface?
             User interface is one, which allows the user to communicate with the system in order to perform certain tasks. User interface is generally designed in a computer to make it easier to use.

 21.Define input device?
            Input device is an electromechanical device, which accepts data from the outside world and translates them into a form, which the computer can interpret. 

22.Define output devices  
            Output devices the user to view the elements being edited and the results of the editing operations. 

23.What are the methods in Interaction language of a text editor?
             a. Typing –oriented or text command oriented method
             b. Function key interfaces c. menu oriented method  

   24. Define interactive debugging systems
            An interactive debugging system provides  programmers with facilities that aid in the testing and debugging of programs.
            1. Debugging functions and capabilities
            2. Relationship with other parts of the system
            3. User interface criteria. 

25.Define editor structure. 
            The command language processor accepts input from the users input devices and analyzes the tokens and syntactic structure of the commands. 

26.Give the components of editor structure 4 components
            a. Editing component
            b. Traveling component
            c. Viewing component
            d. Display component

 27.What are the basic types of computing environments used in editors functions?            Editor’s function in three basic types of computing environments
                        i.Time sharing
                         ii.Stand-alone
                         iii.Distributed     





CS2304-SYSTEM SOFTWARE

UNIT I-INTRODUCTION

1. Define system software.
              It consists of variety of programs that supports the operation of the computer. This  software  makes it possible for the user to focus on the other problems to be solved with out needing to know how the machine works internally. Eg: operating system, assembler, loader. 

2. Give some applications of operating system.
     • to make the computer easier to use
     • to manage the resources in computer
     • process management
     • data and memory management
     • to provide security to the user.   
     Operating system acts as an interface between the user and the system          Eg:windows,linux,unix,dos

 3.   Define compiler and interpreter.  
                   Compiler is a set of program which converts the whole high level language                                    program to machine language program. Interpreter is a set of programs which converts high level language program to machine language program line by line. 

4.   Define loader. 
                  Loader is a set of program that loads the machine language translated by the translator into the main memory and makes it ready for execution. 

5.What is the need of MAR register.
         MAR (memory address register) is used to store the address of the memory from which the data  is to be read or to which the data is to be written. 

 6.   Draw SS instruction format.
     
    

It is a  6 byte instruction used to move L+I bytes data fro the storage location1      to the      storage   location2.

            Storage location1 =  D1+[B1]
            Storage location2 = D2+[B2]          
            Eg: MOV 60,400(3),500(4) 





7. Give any two difference between base relative addressing and program counter relative addressing used in SIC/XE.  
    
B    base relative addressing
PC relative addressing

Target address is calculated using the formula
  address = Displacement + [B]
   B-base register
The target address is calculated using the formula
 Target address = Displacement + [PC]
          PC-program counter

Displacement lies between 0 to 4095
Displacement lies between –2048 to 2047













8.   Define indirect addressing
        In  the case of immediate addressing the operand field gives the memory location.The word from  the given address is fetched and it gives the address of the operand.       Eg:ADD R5, [600]            Here the second operand is given in indirect addressing mode.First the word in memory location  600 is fetched and which will give the address of the operand.

 9.    Define immediate addressing.
                     In this addressing mode the operand value is given directly.There is no need      to refer  memory.The immediate addressing is indicated by the prefix ‘#’.     
             Eg: ADD  #5     
                  In this instruction one operand is in accumulator and the second operand is a immediate value the  value 5 is directly added with the accumulator content and the result is stored in accumulator. 

10.   List out any two CISC and RISC machine.
                       CISC –Power PC, Cray T3E 
                       RISC – VAX,Pentium Pro architecture 


11.Following is a memory configuration: 

                Address       Value               Register R      
                  1                5                      6
                  5                7
                  6                5
 What is the result of the following statement?          
 ADD 6(immediate) to R (indirect)   

Here 6 is the immediate data and the next value is indirect data.ie the register contains the  address of the operand. Here the address of the operand  is 5 and its corresponding value is 7. 
6 + [R]  = 6+ [5] = 6+ 7 =13

12.  Following is a memory configuration:
 Address          Value               Register R 
     4  
     5
     6
   What is the result of the following statement?     
      SUB 4(direct) to R (direct)   Here one operand is in the address location 4(direct addressing) and the next operand is in the    register(register direct).
The resultant value is  9 –6 =3.

13.   What is the name of X and L register in SIC machine and also specify its use.
                      A-accumulator  Used for arithmetic operation.ie in the case of arithmetic operations one operand is in the accumulator,and other operand may be a immediate value,registre operand or memory content.The operation given in the instruction is performed and the result is stored in the accumulator  register.  L-linkage register   It is used to store the return address in the case of jump to subroutine (JSUB) instructions.

14.      What are the instruction formats used in SIC/XE architecture? Give any one format.  
              Format 1 (1 byte), Format 2 (2 bytes), Format 3 (3 bytes)  & Format 4(4 bytes)                 Are the different instructions used in SIC/XE architecture?        

    Format 2:                                  8                4             4
OPCODE
R1
R2

 
15.   Consider the instructions in SIC/ XE programming   
       10     1000    LENGTH    RESW       4  
   
       20      -----     NEW          WORD      3   
   What is the value assign to the symbol NEW. 
          In the line 10 the address is 1000 and the instruction is RESW 4.It reserves 4 word        (3 x 4     =12) area for the symbol LENGTH.hence 12 is added to the LOCCTR.        Thus the value of the symbol NEW is 1000+12 =100C. 

       16.  What is the difference between the instructions LDA   # 3 and LDA THREE?                                                                                       In the  first instruction immediate addressing is used. Here the value 3 is directly   loaded into the   accumulator register.  In the second instruction the memory reference is            used. Here the address (address assigned for the symbol THREE) is loaded into the           accumulator register. 


17. Differentiate trailing numeric and leading separate numeric.
                The numeric format is used to represent numeric values with one digit per In the numeric format if the sign appears in the last byte it is known as the trailing numeric. If the sign appears in a separate byte preceding the first digit then it is called as leading separate numeric. 

18.  What are the addressing modes used in VAX architecture?            
              Register direct, register deferred, auto increment and decrement, program counter relative, base relative, index register mode and indirect addressing are the various addressing modes in VAX architecture.

19.  How do you calculate the actual address in the case of register indirect with immediate index mode? 
                   Here the target address is calculated using the formula  
                             T.A =(register) + displacement.  

20.   Write the sequence of instructions to perform the operation  BETA = ALPHA + 1 using SIC    instructions. 
                        LDA                ALPHA 
            ADD                ONE   
            STA                  BETA   
….                     ….
     ALPHA      RESW               1 
     BETA          RESW               1 
     ONE            RESW               1    

21.Write the sequence of instructions to perform the operation BETA = ALPHA+5          using SIC/XE  instructions.    
                    LDA         ALPHA   
                                        ADD           #1   
                                         STA           BETA     
                                           ….               …. 
                   ALPHA       RESW              1
                      BETA       RESW              1

21.      What is the use of TD instruction in SIC architecture? 
                  The test device (TD) instruction tests whether the addressed device is         ready to send or receive  a byte of data.The condition code  is set to indicate the     result of this test. Setting of < means the device is ready to send or receive, and =   means the device is not ready. 
         






UNIT II-ASSEMBLERS

 1. Define the basic functions of assembler.
            Translating mnemonic operation codes to their machine language equivalents.                                                                                                                                                                                 Assigning machine addresses to symbolic labels used by the programmer.

2. What is meant by assembler directives. Give example.
            These are the statements that are not translated into machine instructions,but they provide instructions to assembler itself. example    START,END,BYTE,WORD,RESW and    RESB. 

3.What is forward references?   
It is a reference to a label that is defined later in a program.
Consider the statement
 10      1000                              STL           RETADR
   .           .              .                   .                      .
  80     1036        RETADR      RESW          1
              The first instruction contains a forward reference RETADR.If we attempt to translate the program line by line,we will unable to process the statement  in line10 because we do not know the address that will be assigned to RETADR .The address is assigned later(in line 80) in the program. 

4.What are the three different records used in object program?
            The header record,text record  and the end record are the three different records used in object program. The header record contains the program name,starting address and length of the program. Text record contains the translated instructions and data of  the program. End record marks the end of the object program and specifies the address in the program where execution is to begin. 

5.What is the need of SYMTAB(symbol table) in assembler?
            The symbol table includes the name and value for each symbol in the source program,together with flags to indicate error conditions.Some times it may contains details about the data area. SYMTAB is usually organized as a hash table for efficiency of insertion and retrieval. 

6. What is the need of  OPTAB(operation code table) in assembler?
            The operation code table contain the mnemonic operation code and its machine language equivalent.Some assemblers it may also contains information about instruction format and length.OPTAB is usually organized as a hash table,with mnemonic operation code as the key. 

7.What are the symbol defining statements generally used in assemblers?  
            *   ‘EQU’-it allows the programmer to define symbols and specify their values directly.
The general  format is 
            symbol     EQU   value
            * ‘ORG’-it is used to indirectly assign values to symbols.When this statement is encountered the   assembler resets its location counter to the specified value.
            The general format is 
                             ORG  value
            In the above two statements value is a constant or an expression involving constants and previously defined symbols.
 
8.Define relocatable program.
            An object  program that contains the information necessary to perform required modification in the object code depends on the starting location of the program during load time is known as relocatable program. 

9.Differentiate absolute expression and relative expression.
             If the result of the expression is an absolute value (constant) then it is known as absolute expression.,
 Eg : BUFEND – BUFFER
            If the result of the expression is relative to the beginning of the program then  it is known as relative expression.label on instructions and data areas and references to the location counter values are relative terms.
Eg: BUFEND + BUFFER 

10. Write the steps required to translate the source program to object program.
            • Convert mnemonic operation codes to their machine language equivalents.
            • Convert symbolic operands to their equivalent machine addresses
            • Build the machine instruction in the proper format.
              Convert the data constants specified in the source program into their internal      machine representation
            • Write the object program and assembly listing. 

11.What is the use of the variable LOCCTR(location counter) in assembler?
            This variable is used to assign addresses to the symbols.LOCCTR is initialized to the beginning address specified in the START statement.Aftre each source statement is processed the length of the assembled instruction or data area to be generated is added to LOCCTR and hence whenever we reach a label in the source program the current value of LOCCTR gives the address associated with the label. 

12. Define load and go assembler.
             One pass assembler that generate their object code in memory for immediate execution is known as load and go assembler.Here no object programmer is written out and hence no need for loader.

  13.What are the two different types of jump statements used in MASM assembler?
            • Near jump A near jump is a jump to a target in the same segment  and it is                           assembled by using a current code segment CS.
            • Far jump A far jump is a jump to a target in a different code segment and it is                    assembled by using different segment registers .

14.What are the use of base register table in AIX assembler?
            A base register table is used to remember which of the general purpose registers are currently available as base registers  and also the base addresses they contain. .USING statement causes entry to the table and  .DROP statement removes the corresponding table entry. 

15. Differentiate the assembler directives RESW and RESB. 
            RESW –It reserves the indicated number of words for data area.
  Eg:  10            1003   THREE          RESW              1   
                   In this instruction one word area(3 bytes) is reserved for the  symbol THREE. If the memory is byte addressable then the address assigned for the next symbol is 1006.
 RESB –It reserves the indicated number of bytes for data area.
 Eg:  10            1008      INPUT          RESB  1
            In this instruction one byte area is reserved for the  symbol  INPUT .Hence the address assigned for the next symbol is 1009. 

16.Define modification record and give its format
             This record contains the information about the modification   in the object code during program relocation.the general format is 
            Col 1                M
            Col 2-7            starting location of the address field to be modified relative to the                                                  beginning of the program
            Col 8-9            length of the address field to be modified in  half bytes. 

17.Write down the pass numbers(PASS  1/ PASS 2) of the following activities that occur             in a two pass assembler:
                a. Object code generation
                b. Literals added to literal table
                c. Listing printed
                d Address location of local symbols
Answer:
                a. Object code generation  -  PASS 2
                b. Literals added to literal table – PASS 1
                c. Listing printed – PASS2
                d. Address location of local symbols – PASS1 

18. What is meant by machine independent assembler features?
                        The assembler features that does not depends upon the machine architecture are  known as machine independent assembler features.
 Eg: program blocks,Literals. 



19. How the register to register instructions are translated in assembler?
            In the case of register to register instructions the operand field contains the register name.During the translation first the object code is converted into its corresponding machine language equivalent with the help of  OPTAB.Then the SYMTAB is searched for the numeric equivalent of register and that value is inserted into the operand field.
  Eg: 125          1036     RDREC         CLEAR          X        B410
       B4-macine equivalent of the opcode CLEAR
       10-numeric equivalent of the register X.

  20. What is meant by external references?
             Assembler program can be divided into many sections known as control sections and each control section can be loaded  and relocated independently of the others.If the instruction in one control section need to refer instruction or data in another control section .the assembler is unable to  process these references in normal way.Such references between control are called external references. 

21.Define control section. 
            A control section is a part of the program that maintain its identity after assembly;each control section can be loaded and  relocated independently of the others.   Control sections are most often used for subroutines.The major benefit of using control sections is to increase flexibility. 

22.What is the difference between the assembler directive EXTREF and EXTDEF. 
             EXTDEF names external symbols that are defined in a particular control section and may be used by other sections.
             EXTREF names external symbols that are referred in a particular control section and defined in another control section. 

23. Give the general format of define record.
             This record gives information about external symbols that are defined in a particular control section.The  format is  Col 1  D  Col 2-7 name of external symbol defined in this control section  Col 8-13 relative address of the symbol with in this control section  Col 14-73 name and relative address for other external symbols. 

24. Give the use of assembler directive CSECT and USE
            CSECT -  used to divide the program into many control sections 
            USE – used to divide the program in to many blocks called program blocks 

25.What is the use of the assembler directive START. 
            The assembler directive START gives the name and starting address of the program
.The format is      
                PN          START        1000
    Here  PN –name of the program
             1000-starting address of the program. 

UNIT III (LOADERS AND LINKERS)

 1.What are the basic functions of loaders
            Loading – brings the object program into memory for execution
            Relocation – modifies the object program so that it can be loaded at an address                                       different from the location originally specified
            Linking – combines two or more separate object programs and also supplies the I                                 nformation needed to reference them. 

2.Define absolute loader
            The loader, which is used only for loading, is known as absolute loader.
            e.g. Bootstrap loader

 3.What is meant by bootstrap loader?
             This is a special type of absolute loader which loads the first program to be run                 by the computer. (usually an operating system) 

4.What are relative (relocative) loaders?
 Loaders that allow for program relocation are called relocating (relocative ) loaders. 

5.What is the use of modification record?
             Modification record is used for program relocation.Each modification record  specifies the starting address and the length of the field whose value is to be altered and also describes the modification to be performed. 

6.What are the 2 different techniques used for relocation?
            Modification record method and relocation bit method. 

7.Relocation bit method
            If the relocation bit corresponding to a word of object code is set to 1,the program’s starting address is to be added to this word when the program is relocated. Bit value 0 indicates no modification is required. 

8.Define bit mask
            The relocation bits are gathered together  following the length indicator in each text record and which is called as bit mask.For e.g. the bit mask FFC(111111111100) specifies that the first 10 words of object code are to be modified during relocation. 

9.What is the need of ESTAB.
            It is used to store the name and address of the each external symbol. It also indicates in which control section the symbol is defined.

 10.What is the use of the variable PROGADDR.    
            It gives the beginning address in memory where the linked program is to be loaded.The starting address is obtained from the operating system.

 11.Write the two passes of a linking loader.  
            Pass1: assigns address to all external symbols  
Pass2: it performs actual loading, relocation and linking.

12.Define automatic library search.
            In many linking loaders the subroutines called by the program being loaded are automatically fetched from the library, linked with the main program and loaded.This feature is referred to as automatic library search.

 13. List the loader options INCLUDE &DELETE. 
            The general format of INCLUDE is  
                        INCLUDE program_name (library name)
            This command direct the loader to read the designated object program from a library and treat it as the primary loader input. 
The general format of DELETE command is
                         DELETE Csect-name
            It instructs the loader to delete the named control sections from the sets of programs loaded. 

14.Give the functions of the linking loader.
              The linking loader performs the process of linking and relocation. It includes the operation of automatic library search and the linked programs are directly loaded into the memory. 

15.      Give the difference between linking loader and linkage editors.

Linking loader          

Linkage editor

The relocation and linking is performed  each time the program is loaded

It produces a linked version of a program and
which is written in a file for later
execution

Here the loading can be accomplished in a single
Two passes are required



16..Define dynamic linking. 
            If the subroutine is loaded and linked to the program during its first call(run time),then it is called as dynamic loading or dynamic linking. 

17. Write the advantage of dynamic linking.
            a)it has the ability to load the routine only when they are needed     
            b)The dynamic linking avoids the loading of entire library for each execution 


18. What is meant by static executable and dynamic executable?
            In static executable, all external symbols are bound and ready to run. In dynamic executables some symbols are bound at run time. 

19. What is shared and private data? 
            The data divided among processing element is called shared data. If the data is not shared  among processing elements then it is called private data. 

20.Write the absolute loader algorithm.
            Begin    
             Read Header record     
            Verify program name and length    
            Read first text record
            While record type != ‘E’ do
            Begin       
                        Moved object code to specified location in memory       
                        Read next object program record 
            End     
            Jump to address specified in End record





























UNIT IV      (MACRO PROCESSORS)

1.Define macro processor.
            Macro processor is system software that replaces each macroinstruction with the corresponding group of source language statements. This is also called as expanding of macros. 

2. What do macro expansion statements mean?
            These statements give the name of the macroinstruction being invoked and the arguments to be used in expanding the macros. These statements are also known as macro call.

 3. What are the directives used in macro definition?
            MACRO - it identifies the beginning of the macro definition 
            MEND  -  it marks the end of the macro definition 

4.What are the data structures used in macro processor?
            DEFTAB – the macro definitions are stored in a definition table ie it contains a macro prototype and the statements that make up the macro body.
            NAMTAB – it is used to store the macro names  and it contains two pointers for each macro instruction which indicate the starting and end  location of macro definition in DEFTAB.it also serves as an index to
            DEFTAB ARGTAB – it is used to store the arguments during the expansion of macro invocations. 

5. Define conditional macro expansion.
             If the macro is expanded depends upon some conditions in macro definition (depending on the arguments supplied in the macro expansion) then it  is called as conditional macro expansion.

 6. What is the use of macro time variable?
             Macro time variable   can be used to store working values during the macro expansion. Any symbol that begins with the character & and then is not a macro instruction parameter is assumed to be a macro time variable. 

7. What are the statements used for conditional macro expansion?
            IF-ELSE-ENDIF statement
            WHILE-ENDW  statement

8.What is meant by positional parameters?
            If the parameters and arguments were associated with each other according to their positions in the macro prototype and  the macro invocation statement, then these parameters in macro definitions are called as positional parameters.

 9.Consider the macro definition
            #Define DISPLAY(EXPR)       Printf(“EXPR = %d\n”,EXPR)
Expand the macro instruction DISPLAY (ANS)   

Ans.: Printf (“EXPR = %d\n”, ANS) 

10.What are known as nested macro call?
            The statement in which a macro calls on another macro,is called nested macro call. In the nested macro call, the call is done  by outer macro and the macro called is the inner macro. 

11. How the macro is processed using two passes?
            Pass1: processing of definitions
            Pass 2:actual-macro expansion.

 12.Give the advantage of line by line processors.
            * it avoids the extra pass over the source program during assembling 
             * it may use some of the utility that can be used by language translators so that can be loaded  once.    

  13.What is meant by line by line processor 
            This macro processor reads the source program statements, process the statements and then the output lines are passed to the language translators as they are generated, instead of being written in an expanded file.

 14. Give the advantages of general-purpose macroprocessors.      
            * The programmer does not need to learn about a macro facility for each compiler. 
             * Overall saving in software development cost  and a maintenance cost
 
15.What is meant by general-purpose macro processors? 
            The macro processors that are not dependent on any particular programming language,but can be used with a variety of different languages are known as general purpose macro processors.
Eg.The ELENA macro processor. 

16. What are the important factors considered while designing  a general purpose macroprocessors? 
            • comments
            • grouping of statements
            • tokens
            • syntax used for macro definitions 

17.What is the symbol used to generate unique labels?
             $ symbol is used in macro definition to generate unique symbols.Each macro expansion the $ symbol is replaced by $XX,where XX is the alpha numeric character.

18. How the nested macro calls are executed?
            The execution of nested macro call follows the LIFO rule.In case of nested macro calls the expansion of the latest macro call is completed first.

 19.Mention the tasks involved in macro expansion. 
            • identify the macro calls in the program
            • the values of formal parameters are identified
            • maintain the values of expansion time variables declared in a macro
            • expansion time control flow is organized
            • determining the values of sequencing symbols
            • expansion of a model statement is performed 

20.How to design the pass structure of a macro assembler? 
            To design the structure of macro-assembler, the functions of macro preprocessor and the conventional assembler are merged. After merging, the functions are structured into passes of the macro assembler.   






























UNIT V       (SYSTEM SOFTWARE TOOLS)

1.Define interactive editor?         
            An interactive editor is a computer program that allows a user to create and revise a target document. The term document includes objects such as computer programs, text, equations, tables, diagrams, line art, and photographs any thing that one might find on a printed page. 

2. What are the tasks performed in the editing process? 
4 tasks
            1. select the part of the target document to be viewed and manipulated.
            2. Determine how to format this view on-line and how to display it.
            3. Specify and execute operations that modify the target document.
             4. Update the view appropriately. 

3. What are the three categories of editor’s devices?
            1. Text device/ String devices
            2. Button device/Choice devices
            3. Locator device 

4.What is the function performed in editing phase?
            In the actual editing phase, the target document is created or altered with a set of operations such as insert, delete, replace, move and copy. 

5.Define Locator device? 
             Locator devices are two-dimensional analog-to-digital converters that position a cursor symbol on the screen by observing the user’s movement of the device. The most common such devices for editing applications are the mouse and the data tablet.

6.What is the function performed in voice input device?
            Voice-input devices, which translate spoken words to their textual equivalents, may prove to be the text input devices of the future. Voice recognizers are currently available for command input on some systems. 

7.What are called tokens?
            The lexical analyzer tracks the source program one character at a time by making the source program into sequence of atomic units is called tokens. 

8.Name some of typical tokens. 
            Identifiers, keywords, constants, operators and punctuation symbols such as commas and parentheses are typical tokens. 

9.  What is meant by lexeme?
            The character that forms a token is said to be a lexeme. 

10.Mention the main disadvantage of interpreter.
            The main disadvantage of interpreter is that the execution time of interpreted program is slower than that of a corresponding compiled object program.

 11.What is meant by code optimization? 
            The code optimization is designed to improve the intermediate code, which helps the object program to run faster and takes less space. 

12. What is error handler? 
            The error handler is used to check if there is an error in the program. If any error, it should warn the programmer by instructions to proceed from phase to phase. 

13.Name some of text editors.
            • line editors
            • stream editors
            • screen editors
            • word processors
            • structure editors 

14.What for debug monitors are used?
            Debug monitors are used in obtaining information for localization of errors.

 15.Mention the features of word processors.
• moving text from one place to another
            • merging of text
• searching
            • word replacement 

16.What are the phases in performing editing process?
             a. Traveling phase
            b. Filtering phase
            c. Formatting phase
            d. Editing phase 

17.Define traveling phase. 
             The phase specifies the region of interest. Traveling is achieved using operations such as next screenful, bottom, find pattern. 

18.Filtering phase.
            The selection of what is to be viewed and manipulated in given by filtering.

19.Editing phase  
             In this phase, the target document is altered with the set of operations such as insert, delete, replace, move and copy.

20.Define user interface?
             User interface is one, which allows the user to communicate with the system in order to perform certain tasks. User interface is generally designed in a computer to make it easier to use.

 21.Define input device?
            Input device is an electromechanical device, which accepts data from the outside world and translates them into a form, which the computer can interpret. 

22.Define output devices  
            Output devices the user to view the elements being edited and the results of the editing operations. 

23.What are the methods in Interaction language of a text editor?
             a. Typing –oriented or text command oriented method
             b. Function key interfaces c. menu oriented method  

   24. Define interactive debugging systems
            An interactive debugging system provides  programmers with facilities that aid in the testing and debugging of programs.
            1. Debugging functions and capabilities
            2. Relationship with other parts of the system
            3. User interface criteria. 

25.Define editor structure. 
            The command language processor accepts input from the users input devices and analyzes the tokens and syntactic structure of the commands. 

26.Give the components of editor structure 4 components
            a. Editing component
            b. Traveling component
            c. Viewing component
            d. Display component

 27.What are the basic types of computing environments used in editors functions?            Editor’s function in three basic types of computing environments
                        i.Time sharing
                         ii.Stand-alone
                         iii.Distributed     










 
CS2304-SYSTEM SOFTWARE

UNIT I-INTRODUCTION

1. Define system software.
              It consists of variety of programs that supports the operation of the computer. This  software  makes it possible for the user to focus on the other problems to be solved with out needing to know how the machine works internally. Eg: operating system, assembler, loader. 

2. Give some applications of operating system.
     • to make the computer easier to use
     • to manage the resources in computer
     • process management
     • data and memory management
     • to provide security to the user.   
     Operating system acts as an interface between the user and the system          Eg:windows,linux,unix,dos

 3.   Define compiler and interpreter.  
                   Compiler is a set of program which converts the whole high level language                                    program to machine language program. Interpreter is a set of programs which converts high level language program to machine language program line by line. 

4.   Define loader. 
                  Loader is a set of program that loads the machine language translated by the translator into the main memory and makes it ready for execution. 

5.What is the need of MAR register.
         MAR (memory address register) is used to store the address of the memory from which the data  is to be read or to which the data is to be written. 

 6.   Draw SS instruction format.
     
    

It is a  6 byte instruction used to move L+I bytes data fro the storage location1      to the      storage   location2.

            Storage location1 =  D1+[B1]
            Storage location2 = D2+[B2]          
            Eg: MOV 60,400(3),500(4) 





7. Give any two difference between base relative addressing and program counter relative addressing used in SIC/XE.  
    
B    base relative addressing
PC relative addressing

Target address is calculated using the formula
  address = Displacement + [B]
   B-base register
The target address is calculated using the formula
 Target address = Displacement + [PC]
          PC-program counter

Displacement lies between 0 to 4095
Displacement lies between –2048 to 2047













8.   Define indirect addressing
        In  the case of immediate addressing the operand field gives the memory location.The word from  the given address is fetched and it gives the address of the operand.       Eg:ADD R5, [600]            Here the second operand is given in indirect addressing mode.First the word in memory location  600 is fetched and which will give the address of the operand.

 9.    Define immediate addressing.
                     In this addressing mode the operand value is given directly.There is no need      to refer  memory.The immediate addressing is indicated by the prefix ‘#’.     
             Eg: ADD  #5     
                  In this instruction one operand is in accumulator and the second operand is a immediate value the  value 5 is directly added with the accumulator content and the result is stored in accumulator. 

10.   List out any two CISC and RISC machine.
                       CISC –Power PC, Cray T3E 
                       RISC – VAX,Pentium Pro architecture 


11.Following is a memory configuration: 

                Address       Value               Register R      
                  1                5                      6
                  5                7
                  6                5
 What is the result of the following statement?          
 ADD 6(immediate) to R (indirect)   

Here 6 is the immediate data and the next value is indirect data.ie the register contains the  address of the operand. Here the address of the operand  is 5 and its corresponding value is 7. 
6 + [R]  = 6+ [5] = 6+ 7 =13

12.  Following is a memory configuration:
 Address          Value               Register R 
     4  
     5
     6
   What is the result of the following statement?     
      SUB 4(direct) to R (direct)   Here one operand is in the address location 4(direct addressing) and the next operand is in the    register(register direct).
The resultant value is  9 –6 =3.

13.   What is the name of X and L register in SIC machine and also specify its use.
                      A-accumulator  Used for arithmetic operation.ie in the case of arithmetic operations one operand is in the accumulator,and other operand may be a immediate value,registre operand or memory content.The operation given in the instruction is performed and the result is stored in the accumulator  register.  L-linkage register   It is used to store the return address in the case of jump to subroutine (JSUB) instructions.

14.      What are the instruction formats used in SIC/XE architecture? Give any one format.  
              Format 1 (1 byte), Format 2 (2 bytes), Format 3 (3 bytes)  & Format 4(4 bytes)                 Are the different instructions used in SIC/XE architecture?        

    Format 2:                                  8                4             4
OPCODE
R1
R2

 
15.   Consider the instructions in SIC/ XE programming   
       10     1000    LENGTH    RESW       4  
   
       20      -----     NEW          WORD      3   
   What is the value assign to the symbol NEW. 
          In the line 10 the address is 1000 and the instruction is RESW 4.It reserves 4 word        (3 x 4     =12) area for the symbol LENGTH.hence 12 is added to the LOCCTR.        Thus the value of the symbol NEW is 1000+12 =100C. 

       16.  What is the difference between the instructions LDA   # 3 and LDA THREE?                                                                                       In the  first instruction immediate addressing is used. Here the value 3 is directly   loaded into the   accumulator register.  In the second instruction the memory reference is            used. Here the address (address assigned for the symbol THREE) is loaded into the           accumulator register. 


17. Differentiate trailing numeric and leading separate numeric.
                The numeric format is used to represent numeric values with one digit per In the numeric format if the sign appears in the last byte it is known as the trailing numeric. If the sign appears in a separate byte preceding the first digit then it is called as leading separate numeric. 

18.  What are the addressing modes used in VAX architecture?            
              Register direct, register deferred, auto increment and decrement, program counter relative, base relative, index register mode and indirect addressing are the various addressing modes in VAX architecture.

19.  How do you calculate the actual address in the case of register indirect with immediate index mode? 
                   Here the target address is calculated using the formula  
                             T.A =(register) + displacement.  

20.   Write the sequence of instructions to perform the operation  BETA = ALPHA + 1 using SIC    instructions. 
                        LDA                ALPHA 
            ADD                ONE   
            STA                  BETA   
….                     ….
     ALPHA      RESW               1 
     BETA          RESW               1 
     ONE            RESW               1    

21.Write the sequence of instructions to perform the operation BETA = ALPHA+5          using SIC/XE  instructions.    
                    LDA         ALPHA   
                                        ADD           #1   
                                         STA           BETA     
                                           ….               …. 
                   ALPHA       RESW              1
                      BETA       RESW              1

21.      What is the use of TD instruction in SIC architecture? 
                  The test device (TD) instruction tests whether the addressed device is         ready to send or receive  a byte of data.The condition code  is set to indicate the     result of this test. Setting of < means the device is ready to send or receive, and =   means the device is not ready. 
         






UNIT II-ASSEMBLERS

 1. Define the basic functions of assembler.
            Translating mnemonic operation codes to their machine language equivalents.                                                                                                                                                                                 Assigning machine addresses to symbolic labels used by the programmer.

2. What is meant by assembler directives. Give example.
            These are the statements that are not translated into machine instructions,but they provide instructions to assembler itself. example    START,END,BYTE,WORD,RESW and    RESB. 

3.What is forward references?   
It is a reference to a label that is defined later in a program.
Consider the statement
 10      1000                              STL           RETADR
   .           .              .                   .                      .
  80     1036        RETADR      RESW          1
              The first instruction contains a forward reference RETADR.If we attempt to translate the program line by line,we will unable to process the statement  in line10 because we do not know the address that will be assigned to RETADR .The address is assigned later(in line 80) in the program. 

4.What are the three different records used in object program?
            The header record,text record  and the end record are the three different records used in object program. The header record contains the program name,starting address and length of the program. Text record contains the translated instructions and data of  the program. End record marks the end of the object program and specifies the address in the program where execution is to begin. 

5.What is the need of SYMTAB(symbol table) in assembler?
            The symbol table includes the name and value for each symbol in the source program,together with flags to indicate error conditions.Some times it may contains details about the data area. SYMTAB is usually organized as a hash table for efficiency of insertion and retrieval. 

6. What is the need of  OPTAB(operation code table) in assembler?
            The operation code table contain the mnemonic operation code and its machine language equivalent.Some assemblers it may also contains information about instruction format and length.OPTAB is usually organized as a hash table,with mnemonic operation code as the key. 

7.What are the symbol defining statements generally used in assemblers?  
            *   ‘EQU’-it allows the programmer to define symbols and specify their values directly.
The general  format is 
            symbol     EQU   value
            * ‘ORG’-it is used to indirectly assign values to symbols.When this statement is encountered the   assembler resets its location counter to the specified value.
            The general format is 
                             ORG  value
            In the above two statements value is a constant or an expression involving constants and previously defined symbols.
 
8.Define relocatable program.
            An object  program that contains the information necessary to perform required modification in the object code depends on the starting location of the program during load time is known as relocatable program. 

9.Differentiate absolute expression and relative expression.
             If the result of the expression is an absolute value (constant) then it is known as absolute expression.,
 Eg : BUFEND – BUFFER
            If the result of the expression is relative to the beginning of the program then  it is known as relative expression.label on instructions and data areas and references to the location counter values are relative terms.
Eg: BUFEND + BUFFER 

10. Write the steps required to translate the source program to object program.
            • Convert mnemonic operation codes to their machine language equivalents.
            • Convert symbolic operands to their equivalent machine addresses
            • Build the machine instruction in the proper format.
              Convert the data constants specified in the source program into their internal      machine representation
            • Write the object program and assembly listing. 

11.What is the use of the variable LOCCTR(location counter) in assembler?
            This variable is used to assign addresses to the symbols.LOCCTR is initialized to the beginning address specified in the START statement.Aftre each source statement is processed the length of the assembled instruction or data area to be generated is added to LOCCTR and hence whenever we reach a label in the source program the current value of LOCCTR gives the address associated with the label. 

12. Define load and go assembler.
             One pass assembler that generate their object code in memory for immediate execution is known as load and go assembler.Here no object programmer is written out and hence no need for loader.

  13.What are the two different types of jump statements used in MASM assembler?
            • Near jump A near jump is a jump to a target in the same segment  and it is                           assembled by using a current code segment CS.
            • Far jump A far jump is a jump to a target in a different code segment and it is                    assembled by using different segment registers .

14.What are the use of base register table in AIX assembler?
            A base register table is used to remember which of the general purpose registers are currently available as base registers  and also the base addresses they contain. .USING statement causes entry to the table and  .DROP statement removes the corresponding table entry. 

15. Differentiate the assembler directives RESW and RESB. 
            RESW –It reserves the indicated number of words for data area.
  Eg:  10            1003   THREE          RESW              1   
                   In this instruction one word area(3 bytes) is reserved for the  symbol THREE. If the memory is byte addressable then the address assigned for the next symbol is 1006.
 RESB –It reserves the indicated number of bytes for data area.
 Eg:  10            1008      INPUT          RESB  1
            In this instruction one byte area is reserved for the  symbol  INPUT .Hence the address assigned for the next symbol is 1009. 

16.Define modification record and give its format
             This record contains the information about the modification   in the object code during program relocation.the general format is 
            Col 1                M
            Col 2-7            starting location of the address field to be modified relative to the                                                  beginning of the program
            Col 8-9            length of the address field to be modified in  half bytes. 

17.Write down the pass numbers(PASS  1/ PASS 2) of the following activities that occur             in a two pass assembler:
                a. Object code generation
                b. Literals added to literal table
                c. Listing printed
                d Address location of local symbols
Answer:
                a. Object code generation  -  PASS 2
                b. Literals added to literal table – PASS 1
                c. Listing printed – PASS2
                d. Address location of local symbols – PASS1 

18. What is meant by machine independent assembler features?
                        The assembler features that does not depends upon the machine architecture are  known as machine independent assembler features.
 Eg: program blocks,Literals. 



19. How the register to register instructions are translated in assembler?
            In the case of register to register instructions the operand field contains the register name.During the translation first the object code is converted into its corresponding machine language equivalent with the help of  OPTAB.Then the SYMTAB is searched for the numeric equivalent of register and that value is inserted into the operand field.
  Eg: 125          1036     RDREC         CLEAR          X        B410
       B4-macine equivalent of the opcode CLEAR
       10-numeric equivalent of the register X.

  20. What is meant by external references?
             Assembler program can be divided into many sections known as control sections and each control section can be loaded  and relocated independently of the others.If the instruction in one control section need to refer instruction or data in another control section .the assembler is unable to  process these references in normal way.Such references between control are called external references. 

21.Define control section. 
            A control section is a part of the program that maintain its identity after assembly;each control section can be loaded and  relocated independently of the others.   Control sections are most often used for subroutines.The major benefit of using control sections is to increase flexibility. 

22.What is the difference between the assembler directive EXTREF and EXTDEF. 
             EXTDEF names external symbols that are defined in a particular control section and may be used by other sections.
             EXTREF names external symbols that are referred in a particular control section and defined in another control section. 

23. Give the general format of define record.
             This record gives information about external symbols that are defined in a particular control section.The  format is  Col 1  D  Col 2-7 name of external symbol defined in this control section  Col 8-13 relative address of the symbol with in this control section  Col 14-73 name and relative address for other external symbols. 

24. Give the use of assembler directive CSECT and USE
            CSECT -  used to divide the program into many control sections 
            USE – used to divide the program in to many blocks called program blocks 

25.What is the use of the assembler directive START. 
            The assembler directive START gives the name and starting address of the program
.The format is      
                PN          START        1000
    Here  PN –name of the program
             1000-starting address of the program. 

UNIT III (LOADERS AND LINKERS)

 1.What are the basic functions of loaders
            Loading – brings the object program into memory for execution
            Relocation – modifies the object program so that it can be loaded at an address                                       different from the location originally specified
            Linking – combines two or more separate object programs and also supplies the I                                 nformation needed to reference them. 

2.Define absolute loader
            The loader, which is used only for loading, is known as absolute loader.
            e.g. Bootstrap loader

 3.What is meant by bootstrap loader?
             This is a special type of absolute loader which loads the first program to be run                 by the computer. (usually an operating system) 

4.What are relative (relocative) loaders?
 Loaders that allow for program relocation are called relocating (relocative ) loaders. 

5.What is the use of modification record?
             Modification record is used for program relocation.Each modification record  specifies the starting address and the length of the field whose value is to be altered and also describes the modification to be performed. 

6.What are the 2 different techniques used for relocation?
            Modification record method and relocation bit method. 

7.Relocation bit method
            If the relocation bit corresponding to a word of object code is set to 1,the program’s starting address is to be added to this word when the program is relocated. Bit value 0 indicates no modification is required. 

8.Define bit mask
            The relocation bits are gathered together  following the length indicator in each text record and which is called as bit mask.For e.g. the bit mask FFC(111111111100) specifies that the first 10 words of object code are to be modified during relocation. 

9.What is the need of ESTAB.
            It is used to store the name and address of the each external symbol. It also indicates in which control section the symbol is defined.

 10.What is the use of the variable PROGADDR.    
            It gives the beginning address in memory where the linked program is to be loaded.The starting address is obtained from the operating system.

 11.Write the two passes of a linking loader.  
            Pass1: assigns address to all external symbols  
Pass2: it performs actual loading, relocation and linking.

12.Define automatic library search.
            In many linking loaders the subroutines called by the program being loaded are automatically fetched from the library, linked with the main program and loaded.This feature is referred to as automatic library search.

 13. List the loader options INCLUDE &DELETE. 
            The general format of INCLUDE is  
                        INCLUDE program_name (library name)
            This command direct the loader to read the designated object program from a library and treat it as the primary loader input. 
The general format of DELETE command is
                         DELETE Csect-name
            It instructs the loader to delete the named control sections from the sets of programs loaded. 

14.Give the functions of the linking loader.
              The linking loader performs the process of linking and relocation. It includes the operation of automatic library search and the linked programs are directly loaded into the memory. 

15.      Give the difference between linking loader and linkage editors.

Linking loader          

Linkage editor

The relocation and linking is performed  each time the program is loaded

It produces a linked version of a program and
which is written in a file for later
execution

Here the loading can be accomplished in a single
Two passes are required



16..Define dynamic linking. 
            If the subroutine is loaded and linked to the program during its first call(run time),then it is called as dynamic loading or dynamic linking. 

17. Write the advantage of dynamic linking.
            a)it has the ability to load the routine only when they are needed     
            b)The dynamic linking avoids the loading of entire library for each execution 


18. What is meant by static executable and dynamic executable?
            In static executable, all external symbols are bound and ready to run. In dynamic executables some symbols are bound at run time. 

19. What is shared and private data? 
            The data divided among processing element is called shared data. If the data is not shared  among processing elements then it is called private data. 

20.Write the absolute loader algorithm.
            Begin    
             Read Header record     
            Verify program name and length    
            Read first text record
            While record type != ‘E’ do
            Begin       
                        Moved object code to specified location in memory       
                        Read next object program record 
            End     
            Jump to address specified in End record





























UNIT IV      (MACRO PROCESSORS)

1.Define macro processor.
            Macro processor is system software that replaces each macroinstruction with the corresponding group of source language statements. This is also called as expanding of macros. 

2. What do macro expansion statements mean?
            These statements give the name of the macroinstruction being invoked and the arguments to be used in expanding the macros. These statements are also known as macro call.

 3. What are the directives used in macro definition?
            MACRO - it identifies the beginning of the macro definition 
            MEND  -  it marks the end of the macro definition 

4.What are the data structures used in macro processor?
            DEFTAB – the macro definitions are stored in a definition table ie it contains a macro prototype and the statements that make up the macro body.
            NAMTAB – it is used to store the macro names  and it contains two pointers for each macro instruction which indicate the starting and end  location of macro definition in DEFTAB.it also serves as an index to
            DEFTAB ARGTAB – it is used to store the arguments during the expansion of macro invocations. 

5. Define conditional macro expansion.
             If the macro is expanded depends upon some conditions in macro definition (depending on the arguments supplied in the macro expansion) then it  is called as conditional macro expansion.

 6. What is the use of macro time variable?
             Macro time variable   can be used to store working values during the macro expansion. Any symbol that begins with the character & and then is not a macro instruction parameter is assumed to be a macro time variable. 

7. What are the statements used for conditional macro expansion?
            IF-ELSE-ENDIF statement
            WHILE-ENDW  statement

8.What is meant by positional parameters?
            If the parameters and arguments were associated with each other according to their positions in the macro prototype and  the macro invocation statement, then these parameters in macro definitions are called as positional parameters.

 9.Consider the macro definition
            #Define DISPLAY(EXPR)       Printf(“EXPR = %d\n”,EXPR)
Expand the macro instruction DISPLAY (ANS)   

Ans.: Printf (“EXPR = %d\n”, ANS) 

10.What are known as nested macro call?
            The statement in which a macro calls on another macro,is called nested macro call. In the nested macro call, the call is done  by outer macro and the macro called is the inner macro. 

11. How the macro is processed using two passes?
            Pass1: processing of definitions
            Pass 2:actual-macro expansion.

 12.Give the advantage of line by line processors.
            * it avoids the extra pass over the source program during assembling 
             * it may use some of the utility that can be used by language translators so that can be loaded  once.    

  13.What is meant by line by line processor 
            This macro processor reads the source program statements, process the statements and then the output lines are passed to the language translators as they are generated, instead of being written in an expanded file.

 14. Give the advantages of general-purpose macroprocessors.      
            * The programmer does not need to learn about a macro facility for each compiler. 
             * Overall saving in software development cost  and a maintenance cost
 
15.What is meant by general-purpose macro processors? 
            The macro processors that are not dependent on any particular programming language,but can be used with a variety of different languages are known as general purpose macro processors.
Eg.The ELENA macro processor. 

16. What are the important factors considered while designing  a general purpose macroprocessors? 
            • comments
            • grouping of statements
            • tokens
            • syntax used for macro definitions 

17.What is the symbol used to generate unique labels?
             $ symbol is used in macro definition to generate unique symbols.Each macro expansion the $ symbol is replaced by $XX,where XX is the alpha numeric character.

18. How the nested macro calls are executed?
            The execution of nested macro call follows the LIFO rule.In case of nested macro calls the expansion of the latest macro call is completed first.

 19.Mention the tasks involved in macro expansion. 
            • identify the macro calls in the program
            • the values of formal parameters are identified
            • maintain the values of expansion time variables declared in a macro
            • expansion time control flow is organized
            • determining the values of sequencing symbols
            • expansion of a model statement is performed 

20.How to design the pass structure of a macro assembler? 
            To design the structure of macro-assembler, the functions of macro preprocessor and the conventional assembler are merged. After merging, the functions are structured into passes of the macro assembler.   






























UNIT V       (SYSTEM SOFTWARE TOOLS)

1.Define interactive editor?         
            An interactive editor is a computer program that allows a user to create and revise a target document. The term document includes objects such as computer programs, text, equations, tables, diagrams, line art, and photographs any thing that one might find on a printed page. 

2. What are the tasks performed in the editing process? 
4 tasks
            1. select the part of the target document to be viewed and manipulated.
            2. Determine how to format this view on-line and how to display it.
            3. Specify and execute operations that modify the target document.
             4. Update the view appropriately. 

3. What are the three categories of editor’s devices?
            1. Text device/ String devices
            2. Button device/Choice devices
            3. Locator device 

4.What is the function performed in editing phase?
            In the actual editing phase, the target document is created or altered with a set of operations such as insert, delete, replace, move and copy. 

5.Define Locator device? 
             Locator devices are two-dimensional analog-to-digital converters that position a cursor symbol on the screen by observing the user’s movement of the device. The most common such devices for editing applications are the mouse and the data tablet.

6.What is the function performed in voice input device?
            Voice-input devices, which translate spoken words to their textual equivalents, may prove to be the text input devices of the future. Voice recognizers are currently available for command input on some systems. 

7.What are called tokens?
            The lexical analyzer tracks the source program one character at a time by making the source program into sequence of atomic units is called tokens. 

8.Name some of typical tokens. 
            Identifiers, keywords, constants, operators and punctuation symbols such as commas and parentheses are typical tokens. 

9.  What is meant by lexeme?
            The character that forms a token is said to be a lexeme. 

10.Mention the main disadvantage of interpreter.
            The main disadvantage of interpreter is that the execution time of interpreted program is slower than that of a corresponding compiled object program.

 11.What is meant by code optimization? 
            The code optimization is designed to improve the intermediate code, which helps the object program to run faster and takes less space. 

12. What is error handler? 
            The error handler is used to check if there is an error in the program. If any error, it should warn the programmer by instructions to proceed from phase to phase. 

13.Name some of text editors.
            • line editors
            • stream editors
            • screen editors
            • word processors
            • structure editors 

14.What for debug monitors are used?
            Debug monitors are used in obtaining information for localization of errors.

 15.Mention the features of word processors.
• moving text from one place to another
            • merging of text
• searching
            • word replacement 

16.What are the phases in performing editing process?
             a. Traveling phase
            b. Filtering phase
            c. Formatting phase
            d. Editing phase 

17.Define traveling phase. 
             The phase specifies the region of interest. Traveling is achieved using operations such as next screenful, bottom, find pattern. 

18.Filtering phase.
            The selection of what is to be viewed and manipulated in given by filtering.

19.Editing phase  
             In this phase, the target document is altered with the set of operations such as insert, delete, replace, move and copy.

20.Define user interface?
             User interface is one, which allows the user to communicate with the system in order to perform certain tasks. User interface is generally designed in a computer to make it easier to use.

 21.Define input device?
            Input device is an electromechanical device, which accepts data from the outside world and translates them into a form, which the computer can interpret. 

22.Define output devices  
            Output devices the user to view the elements being edited and the results of the editing operations. 

23.What are the methods in Interaction language of a text editor?
             a. Typing –oriented or text command oriented method
             b. Function key interfaces c. menu oriented method  

   24. Define interactive debugging systems
            An interactive debugging system provides  programmers with facilities that aid in the testing and debugging of programs.
            1. Debugging functions and capabilities
            2. Relationship with other parts of the system
            3. User interface criteria. 

25.Define editor structure. 
            The command language processor accepts input from the users input devices and analyzes the tokens and syntactic structure of the commands. 

26.Give the components of editor structure 4 components
            a. Editing component
            b. Traveling component
            c. Viewing component
            d. Display component

 27.What are the basic types of computing environments used in editors functions?            Editor’s function in three basic types of computing environments
                        i.Time sharing
                         ii.Stand-alone
                         iii.Distributed     




















































No comments:

Post a Comment