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

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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