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

Dick cheney approach, How many "true" terrorists are there in the US?  I do...

How many "true" terrorists are there in the US?  I don't know, but let's suppose that there are 3000 out of a total population of, say, 3,000,000.  That is, one person in 100,000 i

Floating point format, consider the 8 bit floating point format including s...

consider the 8 bit floating point format including support for normalised nimbers and nonnumeric values.it included 3 bits for mantissa and 4 bitys for excess 7 exponent

What are the different pieces of the virtual address, What are the differen...

What are the different pieces of the virtual address in a segmented paging? The various pieces of virtual address in a segmented paging are as demonstrated below:

#title.sequential circuit, design modulo 12 up synchronous counter using t ...

design modulo 12 up synchronous counter using t flip flop

Design an or to and gates combinational network, Design an OR to AND gates ...

Design an OR to AND gates combinational network and NAND only n/w for the following Boolean expression: A'BC'D + ABC'D' + A'B'CD' + A'BCD'

Write a program to event advertised, A museum has a collection of old poste...

A museum has a collection of old posters advertising events of various kinds (theatre, sport, fairs, lectures etc.). It wishes to keep a record of these, containing, for each poste

Global business-to-consumer e-commerce, "Global business-to-consumer e-comm...

"Global business-to-consumer e-commerce sales will pass the 1 trillion euro ($1.25 trillion) mark by 2013, and the total number of Internet users will increase to approximately 3.5

What is the meaning of proper programming, What is the meaning of Proper pr...

What is the meaning of Proper programming Proper programming of the ports of the company's Web server through detection of IP addresses could be an excellent strategy or solut

Provision for data buffering, Data buffering is quite helpful for purpose o...

Data buffering is quite helpful for purpose of smoothing out gaps in speed of processor and I/O devices. Data buffers are registers that hold I/O information temporarily. I/O is pe

How address resolution is performed with table lookup, How address resoluti...

How address resolution is performed with table lookup? Explain with the help of a suitable example. The approach of table lookup to address resolution needs a data structure wh

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