You are required to write a c program to translate lc-3s


You are required to write C programs to implement some of the functions of the LC-3 assembler. That is, the programs covert LC-3 assembly instructions to machine code.

Part 1

You are required to write a C program to translate LC-3's AND and ADD assembly language instructions into machine code. The detailed requirements are as below:

1. The assembly instructions are stored in a file. Each line of the file stores exactly one instruction. The name of the file should be provided to the program as a command line argument.

2. For this part, it should be assumed that the operands of the instructions only use the "register" addressing mode. That is, the values of all the operands are stored in registers.

3. It should be assumed that (a) the instructions are valid AND or ADD instructions, (b) there is exactly one space separating the opcode and the operands of the instruction, (c) the operands are separated by exactly one comma ",", and, (d) all the characters in the instruction are lower case letters.

4. The machine code should be displayed as a 4-digit hexadecimal number.

5. Name this program as part1.c

Part 2

Expand your program in Part 1 to allow the operand use the "immediate" addressing mode. That is, the value of an operand is stored in the instruction. It should be assumed that the value operand is given as a decimal number.
Name this program as part2.c

Part 3

Expand your program in Part 2 to allow instruction JMP to be converted. Name this program as part3.c

Part 4

Expand your program in Part 3 to allow instruction LD to be converted.

• It should be assumed that the symbol table of the assembly language program is stored in a file. Each line of the file contains a symbol and its corresponding address. The symbol and its address are separated by exactly one space. It should be assumed that the address is a hexadecimal number.

• The name of the file containing the symbol table should be provided as the second command line argument of the program.

• The starting address of the program should be given as the third command line argument of the program.

• Name this program as part4.c

Part 5

Expand your program in Part 4 to allow instruction BR to be converted. Name this program as part5.c

Solution Preview :

Prepared by a verified Expert
C/C++ Programming: You are required to write a c program to translate lc-3s
Reference No:- TGS01233220

Now Priced at $30 (50% Discount)

Recommended (98%)

Rated (4.3/5)