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

Weighted-average under perpetual inventory procedure, Q. Weighted-average u...

Q. Weighted-average under perpetual inventory procedure? Weighted-average under perpetual inventory procedure in perpetual inventory procedure firms calculate a new weighted-av

Inheritance, what is Ambiguity in single inheritance

what is Ambiguity in single inheritance

Wireless Networking, Suppose you work in a network security company, and yo...

Suppose you work in a network security company, and you need to prepare a survey report of a particular security issue of wireless networking. To start with, select an area of wire

What is the role of a controller in an mvc application, The controller resp...

The controller responds to user interactions, with the application, by selecting the act method to implement and also selecting the view to render.

Cobol coding, What is cobol codin for heap sort?

What is cobol codin for heap sort?

What is the advantages for linux, What is the advantages for Linux? ...

What is the advantages for Linux? Runs on old Hardware Low-Cost Linux is fully customizable in all its components Powerful Linux runs on low-end, cheap hardware

Which job is admitted to the system for processing, Jobs which are admitted...

Jobs which are admitted to the system for processing is called ? Ans. Long-term scheduling is admitted to the system for processing.

What is meaning of term byte stuffing, The term byte stuffing refers to: ...

The term byte stuffing refers to: The term byte stuffing consider as to data stuffing used along with character -oriented hardware.

What are the different layers of tcp/ip protocol stack, What are the differ...

What are the different layers of TCP/IP protocol stack? Layers in the TCP/IP protocol architecture are:- o  Application Layer o   Host-to-Host Transport Layer,  o  Net

Explain client server model, Explain Client Server Model. In the client...

Explain Client Server Model. In the client- server model, communication usually takes the form of a request message from the client to the server asking for several works to be

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