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

Propositional logic, Propositional Logic: This is a fairly restrictive...

Propositional Logic: This is a fairly restrictive logic, that allows us to be write sentences about ¬propositions - statements about the world - that can either be true or

Explain about the cathode ray tube technology, Cathode Ray Tube Technology ...

Cathode Ray Tube Technology (CRT) CRT is an analog device that is used by a digital device - computer. The interface between these two devices is described. The major component

Presumably for heightened tension - first-order logic, Presumably for heigh...

Presumably for heightened tension - first-order logic: As an aside, it's worth pointing out that - presumably for heightened tension - in most Sherlock Holmes books, the m

Show system call for cloning, Show System call for cloning.  Standard f...

Show System call for cloning.  Standard form of Clone function is as follows: Int clone (Int (*FN) (), void *child stack, Int flag, intargs,); Parameter FN is Pointer fro

What are the types of convergences, What are the types of convergences? ...

What are the types of convergences? Three different types of convergences are: a. The convergence of wireless and e-commerce technology b. The Convergence of E-Commerce a

Displays a message when an applet starts up, Write an applet that sets the ...

Write an applet that sets the background colour to cyan and foreground colour to red and displays a message that illustrates the order in which various applet methods are called wh

Dynamic memory allocation function, Name the dynamic memory allocation func...

Name the dynamic memory allocation function? Three dynamic memory allocation functions are: a) malloc, b) calloc and c) free.

What is a program counter, It is a 16 bit special function register in the ...

It is a 16 bit special function register in the 8085 microprocessor. It remains track of the next memory address of the instruction that is to be implemented once the implementatio

Floating-point processing and instruction encoding, write a program that e...

write a program that evaluate the following arithmetic expression: ((A+B) /C) * ((D-A)+E) assign test value to the variable and display the resulting value.

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