affiliate marketing

Saturday, 17 December 2011

C-program for implementing a macro processor.


IMPLEMENTATION OF MACRO PROCESSOR
AIM
To write a C-program for implementing a macro processor.
ALGORITHM
1.Get the state from input file.
2.From the line read,check if opcode is directive “MACRO” if so then number of macro “n” must be incremented.
3.Repeat step 1 and 2 until end of file is encountered.
4.Open “n” number of files in write mode.These files will later hold body of “n” macro respectively.
5.Rewind the input file pointer.
6.If opcode is “MACRO”
7.Enter macro name present in operand file field into array names “m”.
8.Write line to expanded output file.
9.Enter lines in body of each macro into corresponding files already opened in file.
10.Write body of each macro to be expanded output file also until “END” is reached.
11.Else if OPCODE is “CALL” the line must be a macro invocation statement so the macro body is retrieved from the corresponding file.
12.Write all the remaining lines directly to expanded lines.
PROGRAM:
#include<stdio.h>

single pass assembler using C


IMPLEMENTATION OF SINGLE PASS ASSEMBLER
AIM
To implement single pass assembler using C.
ALGORITHM
1.Read first line from the intermediate file.
2.Check to see if the opcode from the first line read is “START”.If so then write label,opcode and operand field values of corresponding statement directly to final output files.
3.Start the following processing for other lines in intermediate file if it is not a comment line until an “END” statement is reached.
4.Start writing labels LOCCTR opcode and operand fields of corresponding statements to the output file along with the object code.The object code is found by assembling each statement opcode machine equivalent with the label address.
5.If there is no symbol or label in the operand field , then the operand address is assigned as zero and it is assembled with object code of instruction.
6.If OPCODE is BYTE,WORD,RESB etc are convert constants to object code close operand file and exit.

PASS2_OF_2_PASS_ASSEMBLER


IMPLEMENTATION OF PASS-2 OF 2-PASS ASSEMBLER
AIM
To write a C-program to implement pass-2  assembler.
ALGORITHM
1.Read first line from the intermediate file.
2.Check to see if the opcode from the first line read is “START”.If so then write label,opcode and operand field values of corresponding statement directly to final output files.
3.Start the following processing for other lines in intermediate file if it is not a comment line until an “END” statement is reached.
4.Start writing labels LOCCTR opcode and operand fields of corresponding statements to the output file along with the object code.The object code is found by assembling each statement opcode machine equivalent with the label address.
5.If there is no symbol or label in the operand field , then the operand address is assigned as zero and it is assembled with object code of instruction.
6.If OPCODE is BYTE,WORD,RESB etc are convert constants to object code close operand file and exit.

PROGRAM:
#include<stdio.h>

PASS1_OF_2_PASS_ASSEMBLER


IMPLEMENTATION OF PASS-1 OF TWO PASS ASSEMBLER
AIM
To write a C-program to implement pass-1 assembler ie object code.
ALGORITHM
1.Read first line from the input file.
2.Check to see if the opcode from the first line read is “START”.If so then write label opcode and            operand field values of corresponding statement directly to find output files.
3.Start the following processing for other lines in input file if it is not a comment line until an “END” statement is reached.
4.Start writing label LOCCTR opcode and operand fields of corresponding statement to the output file along with object code.The object code is found by assembling each statement opcode machine equivalent with label address.
5.If there is no symbol or label in the operand field,then the operand address is assigned as zero and it is assembled with object code of instruction.
6.Ip OPCODE is BYTE,WORD,RESB etc are convert constants to object code.close operand file and exit.

PROGRAM:
#include<stdio.h>

SYMBOL TABLE


SYMBOL TABLE
AIM
To write a program in C to implement symbol table.
ALGORITHM
1.Create a structure having member variable and values
2.Display the option and get choice from the user
3.I f choice 1 call create()
4.If choice 2 call insert()
5.If choice 3 call modify()
6.If choice 4 call search()
7.If choice 5 call display()
8.Exit
9.create()
                Do till less than 3
                Get input from the user for variables and values
10.insert()
                Get number of records to insert.
                a.Do till i is less than sum of I and number of records to insert.
                b.Get input for symbol name and value
11.modify()
                Get record or symbol name to modify
                If it is equal to  any symbol name then print “record found”
                Else print “record not found”
                Get the value for corresponding symbol name
12.search()
                Get the symbol name to modify
If it is present in table then print “record found”
Else print “record not found”
Get the value for corresponding symbol name
13.display()
                Do till k is less than tottal number of records.
                Print the symbil name and values.