C programs to implement some of the functions of the LC-3 assembler
SuperClass1 Note: You will be using the GNU compiler gcc. Therefore, you must ensure that your program compile and run on your system. 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 Here is an example of the execution of the program. In this example, the name of the file containing the instructions is source1. The contents of source1 are: add r1,r2,r3 and r0,r4,r5 The execution of the program is shown below. The command line argument is marked in red. $ ./part1 source1 1283 5105 2 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 Here is an example of the execution of the program. In this example, the name of the file containing the instructions is source2. The contents of source2 are: add r1,r2,r3 and r0,r4,r5 add...
10 years ago
Purchase the answer to view it

- c_programs_to_implement_some_of_the_functions_of_the_lc-3_assembler.txt
- c_programs_to_implement_some_of_the_functions_of_the_lc-3_assembler_2.txt