Translate assembly language program to machine , Computer Engineering

Assignment Help:

A useful exercise in understanding assembly language and its relation to machine language is to take a short assembly language program and translate it to machine language by hand.

The following program, countbits, counts the number of bits set to 1 in registers $4 and returns the result in register $6.

main: li $10, 32 # set up loop counter

li $6, 0 # clear output sum

main10: andi $12, $11, 1 # test current bit

beq $12, $0, main20 # skip count if not set

addi $6, $6, 1 # otherwise increment count

main20: srl $11, $11, 1 # shift input right

addi $10, $10, -1 # decrement count

bne $10, $0, main10 # continue until zero

li $2, 10 # Halt code

syscall

Translate this program to machine code by hand, explaining for each line how you worked out the machine instruction.

Although it might be tempting to simply let the SPIM assembler do this, the exercise is useful way of learning the MIPS instruction formats. Refer to Appendix B (Assemblers, Linkers and the SPIM simulator) of the text (4th Edition ) for descriptions of MIPS assembly language instructions and the corresponding machine codes.


Related Discussions:- Translate assembly language program to machine

history of databases , Write a four-page paper how relational data solutio...

Write a four-page paper how relational data solution is applied to presnt Video Store business. 1.       Describe Relational Databases   2.       Write History of databases

Concept of multithreading, Concept of Multithreading: This problem ris...

Concept of Multithreading: This problem rises in design of large scale multiprocessors like MPP. So a solution for optimizing this latency must be acquired at. The idea of Mul

Define functions with that virtual memory can be implemented, Virtual memor...

Virtual memory can be implemented with ? With Segmentation and Paging Virtual memory can be implemented.

What is pipelining, What is pipelining? The overlapping of implementati...

What is pipelining? The overlapping of implementation of successive instructions is known as pipelining.

Explain the main characteristics of semiconductor memory, Explain the Main ...

Explain the Main characteristics of semiconductor memory Memory, with regard to computers, most commonly signifies to semiconductor devices whose contents can be accessed (whic

Embedded systems and the system in which rtos is running, Explain What is t...

Explain What is the difference among embedded systems and the system in which RTOS is running? Ans) Embedded system can have RTOS and cannot have also. It depends on the requi

Colour technologies used in monitors and printer, Q. Which Colour technolog...

Q. Which Colour technologies used in Monitors and Printer? Monitor screens and Printers use different colour technologies.  The monitor uses RGB and the Printer CMYK. So, how d

Variable or compound expression - unification algorithm, Variable or compou...

Variable or compound expression - Unification algorithm: Here some things to note regarding this method are:  (i) There if really trying to match a constant to a different

calculates the area and perimeter of a rectangle, Write a program, using f...

Write a program, using functions, that calculates the area and perimeter of a rectangle whose dimensions (Length & width) are given by a user.

Average number of instructions, Consider a processor with a 4-stage pipelin...

Consider a processor with a 4-stage pipeline. Each  time a conditional branch is encountered, the pipeline must be flushed (3 partially completed instructions are lost). Determine

Write Your Message!

Captcha
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