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

Python implementation of a solver for the desert cro, Python implementation...

Python implementation of a solver for the desert crossing, Python Programming #Minimum 100 words accepted#

Mathematical model, how to write mathematical model for circular linked lis...

how to write mathematical model for circular linked list

Bi polar junction transistor, draw input and output charectoristics of BJT ...

draw input and output charectoristics of BJT and justify CE configuration provides large current amplification

Explain the working of a half subtractor, With the help of a truth table ex...

With the help of a truth table explain the working of a half subtractor. Draw the logic diagram using gates. Ans: Half Subtractor: For the subtraction of B (subtrahend) f

De moiver theorem, application of de moiver theorem in software engineering...

application of de moiver theorem in software engineering

What are problems of clock skew, What are problems of clock skew? This ...

What are problems of clock skew? This is typically because of two causes. The primary is a material flaw that causes a signal to travel faster or slower than imagined. The seco

Explain about the postpurchase interaction briefly, Explain about the postp...

Explain about the postpurchase interaction briefly. Postpurchase Interaction: Customer support and service: The considerations at such can be explained by the followin

Priority interrupt and synchronous bus, What is a Priority Interrupt? A...

What is a Priority Interrupt? Ans: A priority interrupt is a type of interrupt that establishes a priority over the many sources to determine which condition is to be serviced

What are the properties exposed by activex controls, An ActiveX control has...

An ActiveX control has four types of properties: 1. Stock:-> These are standard properties supplied to each control, such as font / color. The developer must activate stock pro

Queue, A Queue is a FIFO ( rst in, rst out) data structure. Given the foll...

A Queue is a FIFO ( rst in, rst out) data structure. Given the following queue interface: public interface Queue { int size(); // current queue size boolean isEmpty(); //

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