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

How e-commerce works for the shop owner, E-commerce is working in tandem wi...

E-commerce is working in tandem with the real shop and if all the products are online running the e-commerce shop is becoming simpler. Owner log in on the special admin side of the

What are the data types of the abap/4 layer, What are the Data types of the...

What are the Data types of the ABAP/4 layer? Possible ABAP/4 data types: C: Character. D: Date, format YYYYMMDD. F: Floating-point number in DOUBLE PRECISION (8 bytes)

Define the refresh rates and frame rate, Q. Define the Refresh Rates and fr...

Q. Define the Refresh Rates and frame rate? A special circuit known as the Video Controller scans video memory one row at a time and reads data value at each address sending th

Explain what is the difference among isr & function call, In ISR there is n...

In ISR there is no return value but in function call there is return value

By which analog signal combine with a carrier frequency, Analog signals can...

Analog signals can be              by combining them with a carrier frequency (A)  Carried                                      (B)  Transported (C)  Multiplexed

Which is the best tool for monitoring weblogic server(wls8), WLS8 handles J...

WLS8 handles JMX but it uses weblogic execution of JMX server. It does not supports generalise sun javax API which can be used with any JVM. There are some patches available which

Explain batch operating systems, Explain Batch operating systems. Batc...

Explain Batch operating systems. Batch operating systems : A batch is a sequence of jobs. Such batch is submitted to batch processing operating systems moreover output would s

Pebble merchant, c programming code for pebble merchant

c programming code for pebble merchant

Support activities in supply chain management, What are the some support ac...

What are the some support activities in primary functions of Supply Chain Management? To support primary functions of Supply Chain Management there will be a company’s infrastr

A variable number of input arguments, Write a function that will get a vari...

Write a function that will get a variable number of input arguments: the length and width of a rectangle, and possibly also the height of a box that has this rectangle as its base.

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