Write a partial disassembler for MIPS instructions in Java

Assignment Help Computer Engineering
Reference no: EM131661245

Computer Architecture- MIPS Disassembler

Your project is to write a partial disassembler for MIPS instructions in Java. That is, your input will be the 32-bit machine instructions that a compiler or assembler produces. Your program then figures out what the original source instructions were that created those 32-bit machine instructions and outputs them. The possible source instructions that you must be able to disassemble are: add, sub, and, or, slt, lw, sw, beq, bne. Ignore all other MIPS instructions.

The specific machine instructions that you will disassemble (one after another in this exact order) are: 0x032BA020, 0x8CE90014, 0x12A90003, 0x022DA822, 0xADB30020, 0x02697824, 0xAE8FFFF4, 0x018C6020, 0x02A4A825, 0x158FFFF7, 0x8ECDFFF0

That is, the above 32-bit instructions will be the input to your program. (Eight hex digits are 32 binary bits.) Feel free to embed them in the program itself so you can avoid typing them in each time. Your program will then analyze a 32-bit instruction and figure out what the opcode, register operands and other fields in the instruction are and then print out the assembly language instruction that produced it. Assume that the first instruction begins at address hex 9A040 and the rest follow right after that one. You must output the address along with the instruction.

For example, if your program determines that the first 32-bit machine instruction above is the instruction lw $10, 12 ($20) (it isn't, but if it were) then your output for that instruction would be: 9A040 lw $10, 12 ($20)

You'll then go on and do the next 32-bit instruction, specifying its address in hex (the address for aninstruction immediately following one at 9A040) and what instruction caused those 32-bits. The instruction should show the correct syntax so that an assembler could correctly evaluate it (with the exception of the branch instruction detailed below). Output the numerical registers (e.g., $7, $0) as opposed to the symbolic descriptions (e.g., $s3, $t1). For any load or store instructions, show the offset value as a signed decimal number.

Attachment:- Assignment File.rar

Reference no: EM131661245

Questions Cloud

Name the two key australian standards : Name the two key Australian Standards on emergency management which provide guidance in regard to the identification of specific hazard types.
Examine legal and professional ethical standards : Demonstrate knowledge of requirements for licensure and certification for the practice of professional counseling.
Discuss what is the most likely cause of her foggy : What, if any of her medications would you consider discontinuing or adjusting
Silver nitrate and potassium chloride : When solutions of silver nitrate and potassium chloride are mixed, silver chloride precipitates out of solution according.
Write a partial disassembler for MIPS instructions in Java : Computer Architecture- MIPS Disassembler. Your project is to write a partial disassembler for MIPS instructions in Java
Diagram different than an electron configuration : 1.) How is an orbital diagram different than an electron configuration? Use examples to illustrate this.
Why policymakers want to adapt rules for monetary policy : Describe the Fed's objective function and how it can be used with an economic model. Why don't policymakers want to adapt rules for monetary policy?
Excess sulfuric acid in all the flasks : Suppose you used excess sulfuric acid in all the flasks. How many moles of CO2 would be released in flask 7? The molar mass of sodium carbonate is 105.99 g/mol.
Approximate molecular volume of hemoglobin : If it is assumed that entire volume of a red blood cell is filled with hemoglobin molecules, what is the approximate molecular volume of hemoglobin?

Reviews

len1661245

9/27/2017 8:45:38 AM

Detailed Question: Written in Java. Reminder: Show addresses in hex. All other values should be in decimal, which is what an assembler defaults to. Suggestion: Before you start writing your program, figure out by hand what the correct instructions should be so that you are sure you understand how it's done before writing your program. Of course, your program must then figure out those correct results in an algorithm that works in general (not hardcoded to work only for the results you calculated), but you'll be able to proceed confidently from that point. Also, make sure you understand the bitwise AND description above since it's fundamental to the process. Last note: Your output MUST reflect your source code. You can’t edit your output to get rid of errors. Your program must create the correct output itself!

Write a Review

Computer Engineering Questions & Answers

  Researching intrusion detection systems

Utilize the Internet in order to research the intrusion detection systems. Explain the network which could benefit from your solution.

  Describing lan and wan

Write down in words and describe the meanings of terms LAN and WAN. Explain how do they differ? State three basic topologies for LAN use, and describe the differences among then.

  Reducing the radiation component of heat transfer

In an ordinary double-pane window, about half of the heat transfer is by radiation. Describe a practical way of reducing the radiation component.

  Sketch the shift register described by the octal number 75

Sketch the shift register described by the octal number 75.- Find the sequence output by this shift register assuming that the shift register is initially loaded with all ones.

  Representing text and numbers problem 11 latin alphabetic

representing text and numbers problem 1.1 latin alphabetic characters can be represented using their ascii equivalents.

  Show a method to display instructions to the user and write

one of the many tasks that programmers get asked to do is to convert data from one form to another. frequently data is

  Describe the importance of and method of establishing

establishing an effective information technology security policy framework is critical in the development of a

  Integration of e-commerce and erp systems

Integration of E-commerce and ERP Systems with other ICT (information and communication technologies) to create value for customers and shareholders.

  In how many ways can the student choose classes

A student must select 5 classes for the next semester from 12, but one of the classes must be either american history or english literature. in how many ways can the student choose classes??

  Express back-end and front-end applications

explain procedures (subroutines) and functions and the difference between them.

  How has the use of ous changed structure and functionality

How has the use of OUs changed the structure and functionality in network administration? What would some best practices you would implement in your OU design.

  Maintaining the output transistor in saturation

Explain how maximum fanout can be based on maintaining the output transistor in saturation when the output is low.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd