in Compiler Design recategorized by
17,913 views
25 votes
25 votes

A simple two-pass assembler does the following in the first pass:

  1. It allocates space for the literals.

  2. It computes the total length of the program.

  3. It builds the symbol table for the symbols and their values.

  4. It generates code for all the load and store register instructions.

  5. None of the above.

in Compiler Design recategorized by
17.9k views

3 Comments

Hi, is the ‘Assemblers’ portion there in the Compiler Design part of GATE syllabus?
0
0

Tasks performed in 1st pass –

- Assign address to all statements (address resolution)

- Save the values

- Processing of assembler directives 

- Table creation , Adding literals to literal table

- Allocate space for literals

- Compute total length of a program

 

Tasks performed in 2nd pass –

- Generate object oriented code

- Writing/prinitng assembly listing

- Generate code for all load and store instruction 

9
9
Hey mitali in pass 1 processing of all assembling directives is not possible
0
0

2 Answers

32 votes
32 votes
Best answer
edited by
by

4 Comments

in option c wht about unresolved symboles
0
0

It allocates space for the literals.

 As per the given pdf in pass 1 each line of the AL is given some address and literals are stored in symbol table. In pass 2 OPTAB and SYMTAB works in collaboration to generate mc code. B and C options are fine. I am not getting why A?

0
0

@jatin khachane 1 plz help with option a.

0
0
22 votes
22 votes

A,B,C are correct 

scan the code twice. The first time, just count how long the machine code instructions will be, just to find out the addresses of all the labels. Also, create a table that has a list of all the addresses and where they will be in the program. This table is known as the symbol table. On the second scan, generate the machine code, and use the symbol table to determine how far away jump labels are, and to generate the most efficient instruction.

Reference-http://users.cis.fiu.edu/~downeyt/cop3402/two-pass.htm

by

2 Comments

Completely understandable from this link,, thank u :)
0
0

Best answer. Follow the link given. nicely explained

0
0
Answer:

Related questions