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

State about the object oriented analysis, State about the Object oriented a...

State about the Object oriented analysis Object oriented analysis (OOA) is concerned with developing software engineering specifications and requirements that expressed as a s

Explain opening files for reading only in c, Opening Files for Reading Only...

Opening Files for Reading Only     : A data file is a file that you can open and read its contents visually - for example, C source files, .dat files, HTML etc - anything that look

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#

Describe method overloading, Method overloading is to overload methods usin...

Method overloading is to overload methods using similar class name by writing different parameters. This is known as Method Overloading.

Explain compiler, What is compiler? A system software program known as ...

What is compiler? A system software program known as a compiler translates the high-level language program into a suitable machine language program having instruction such as t

Explain direct addressing mode with example, Q. Explain Direct Addressing M...

Q. Explain Direct Addressing Mode with example? Direct Addressing Mode A direct operand signifies to contents of memory at an address referred by the name of the variable.

Explain abstract class, What is an interface and what is an abstract class?...

What is an interface and what is an abstract class? Please, expand by examples of using both. Explain why?   Abstract classes are closely related to interfaces. They are classe

Illustrate about first generation computers, Q. Illustrate about First Gene...

Q. Illustrate about First Generation Computers? It is certainly ironic that scientific inventions of great impact have frequently been linked with supporting a very sad as well

Interrupts - computer architecture, Interrupts Interrupt-request lin...

Interrupts Interrupt-request line o   Interrupt-acknowledge signal o   Interrupt-request signal Interrupt-service routine o   May have no relationship t

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