Question: Write and test a MIPS assembly language program that 1. Prompt the user for a machine code of a MIPS instruction, i.e. a 32-bit binary

Write and test a MIPS assembly language program that

1. Prompt the user for a machine code of a MIPS instruction, i.e. a 32-bit binary represented in hexadecimal. Obviously, the input must be a string of 8 hexadecimal digits (the prefix '0x' is not required.)

1.a If the input was an empty string exit the program.

2. Check for the validity of the input and print an error message if an invalid string was inputted (e.g. too long, too short, contain invalid characters, etc..). The error message should tell the user the cause of the error.

3. Check if the opcode of the instruction is one of the following:

a. Arithmetic and logical (i.e. the opcode is 0)

b. Data transfer (lw and sw only)

c. Branching and jumping (beq/bne and j only)

4. If the opcode was not one of those print out a message telling the user that the opcode was not recognized.

5. If the opcode was recognized print out the followings:

a. Instruction format.

b. The field name and the value of each field in the instruction in hexadecimal.

For example, if the input string was '8e300008' the program should print

Instruction format: I

Opcode: 0x23

Rs: 0x11

Rt: 0x10

Imm: 0x0008

6. Go back to step 1.

Run the program and test the inputs for at least one valid instruction for each instruction category listed above, and a few invalid input strings.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!