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

Explain what are the different hazards, There are situations, called hazard...

There are situations, called hazards that stop the next instruction in the instruction stream from implementing during its designated clock cycle. Hazards decrease the performance

Microprocessor, overlapping segmentation process in 8086

overlapping segmentation process in 8086

Explain client server model, Explain Client Server Model. In the client...

Explain Client Server Model. In the client- server model, communication usually takes the form of a request message from the client to the server asking for several works to be

What is gdpro and magicdraw uml, What is GDPro and  MagicDraw UML GDP...

What is GDPro and  MagicDraw UML GDPro : This  is a full suite of code  management tools and UML. MagicDraw UML: UML diagrams fully support this: MagicDraw RConverter a

Explain about hamming error correcting code, Q. Explain about Hamming error...

Q. Explain about Hamming error correcting code? Richard Hamming at Bell Laboratories worked out this code. We will only introduce this code with help of an illustration for 4 b

Common functions of interrupts - computer architecture, Common Functions of...

Common Functions of Interrupts: An Interrupt transfers control to the interrupt service routine, generally through the interrupt vector table, which contains the addresses

Software aspects - computer technology , Software Aspects: Software is...

Software Aspects: Software is a generic term covering the concepts, procedures and instructions which enable computer systems to do useful things. Usually, software is conceiv

What is loader, What is loader? Loader is a system software which havin...

What is loader? Loader is a system software which having a set of utility programs. It will load the object program to the memory.

Purpose of storage - computer architecture, Purpose of storage: Several...

Purpose of storage: Several different forms of storage, based on different natural phenomena, have been invented.  So far, no practical universal storage medium persists, and a

What are attributes, What are Attributes?  Attributes are declarative ...

What are Attributes?  Attributes are declarative tags in code that insert additional metadata into an assembly. There exist two types of attributes in the .NET Framework: Pred

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