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

List the properties which a hashing function should possess, List the prope...

List the properties which a hashing function should possess to ensure a good search performance. What approaches are adopted to handle collision? A hashing function h must poss

Develop a menu driven program, Q.  Develop a Menu driven program with follo...

Q.  Develop a Menu driven program with following menu: a.  Binary to Decimal b.  Binary to Octal c.  Binary to Hexadecimal d.  Exit (Put proper validation for input

One pointer variable be subtracted from another, Under what conditions can ...

Under what conditions can one pointer variable be subtracted from another? Pointer subtraction isn't used very much, but can be handy to determine the distances between two arr

Concept of mouse, The concept of Mouse was designed by Douglas C. Engelbart...

The concept of Mouse was designed by Douglas C. Engelbart of Stanford Research institute and first Mouse was designed by Xerox corporation.  Mouse itself is a device that gives you

What types of data entry services do you perform, What types of data entry ...

What types of data entry services do you perform? Our business is to understand what data you require entered and in what particular format. After an initial analysis is perfor

What are the fundamental steps in program development, What are the fundame...

What are the fundamental steps in program development The basic steps in program development are as follows: a. Program coding, design and documentation. b. Preparation o

Duplicating processes, DUPLICATING PROCESSES : As we mentioned earlier dup...

DUPLICATING PROCESSES : As we mentioned earlier duplicating is a process whereby a master copy is prepared from which a large number of other copies are obtained with the help of

Mpi, write an8086 alp to exchange a block of N bytes of data between sourc...

write an8086 alp to exchange a block of N bytes of data between source and destination

Microprocessor and interfacing, Write an ALP to count positve and numbers f...

Write an ALP to count positve and numbers from array.

What is control panel, A system utility that comes with Windows that permit...

A system utility that comes with Windows that permits the use to change a variety of dissimilar Windows and system settings.

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