Showing posts with label System Software - Unit 2. Show all posts
Showing posts with label System Software - Unit 2. Show all posts

Monday, August 25, 2014

System Software - Unit 2

1. What is 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. 

2. 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.

3. 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. 

4. 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 

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

6. 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. 

Sunday, August 24, 2014

System Software - Unit 2

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 are 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.
 (i)The header record contains the program name, starting address and length of the program. 
(ii)Text record contains the translated instructions and data of the program. 
(iii) 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 contain 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 contains the mnemonic operation code and its machine language equivalent. Some assemblers it may also contain information about instruction format and length. OPTAB is usually organized as a hash table, with mnemonic operation code as the key.

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.