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

Define swapping, Define swapping.  A process needs to be in memory to b...

Define swapping.  A process needs to be in memory to be implemented. Though a process can be swapped temporarily out of memory to a backing store and then brought back into mem

Complicated question, Hi I need a help in this question : A telephone sw...

Hi I need a help in this question : A telephone switchboard handles ? calls on average during a rush hour, and the switchboard can at most make k connections per minute. Write a

Boardcoloring, write a java program to board coloring

write a java program to board coloring

Demonstration of sorting problem, Q. Demonstration of sorting problem? ...

Q. Demonstration of sorting problem? The term sorting implies organising elements of a provided set of elements in a specific order i.e. descending order / ascending order / al

How many and gates are required to realize Y = CD+EF+G, How many AND gates ...

How many AND gates are required to realize Y = CD+EF+G ? Ans. Y = CD + EF + G for realize this two AND gates are needed (for CD and EF).

Explain the difference between a subroutine and macro, Explain the differen...

Explain the difference between a subroutine & macro. It is inefficient to have to write code for standard routines.  For instance reading a character form the keyboard or savin

Rubbers, engineering plastics ,rubbers ,composites

engineering plastics ,rubbers ,composites

What is stack pointer, Stack pointer is a particular purpose 16-bit registe...

Stack pointer is a particular purpose 16-bit register in the Microprocessor, which grasp the address of the top of the stack.

Telecommunications, with poisson arrival of two calls per minute what is th...

with poisson arrival of two calls per minute what is the probability that more than three calls will arrive in two minutes? that is the time during which at least 4 calls will arr

Software engineering - layered technology, S oftware Engineering - Layered...

S oftware Engineering - Layered Technology Although various authors have developed personal definitions of software engineering, a definition given by Fritz Bauer at the semin

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