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

Multiple instruction and multiple data stream (mimd), Multiple Instruction ...

Multiple Instruction and Multiple Data stream (MIMD) In this association, multiple control units and multiple processing elements are prepared as in MISD. But the discrepancy i

How to create user interfaces for lists, How to create user interfaces for ...

How to create user interfaces for lists? The R/3 system automatically, obtains a graphical user interface (GUI) for your lists that offers the basic functions for list process

Select statements linked to a logical database, One cannot use SELECT state...

One cannot use SELECT statements in a report program linked to a Logical Database   False. You can use th SELECT statements.

What is a parallel port, What is a parallel port? A parallel port trans...

What is a parallel port? A parallel port transfers data in the form a number of bits, typically 8 to 16, concurrently to or from the device.

List factors that determine the storage device performance, List the factor...

List the factors that determine the storage device performance. i.Access time ii.Cycle time iii.Transfer Rate.

What are the characteristics of sram, What are the characteristics of SRAM?...

What are the characteristics of SRAM? SRAM are fast They are volatile They are of high cost Less density

Constructor, what is meant by private copy constructor

what is meant by private copy constructor

Data structure, How does dynamic memory allocation help in managing data

How does dynamic memory allocation help in managing data

Rational schema, write the rational schema and draw it’s dependency diagram...

write the rational schema and draw it’s dependency diagram. Identify all dependencies.

Define class np, Define class NP. Problems that can be solved in polyn...

Define class NP. Problems that can be solved in polynomial time by a nondeterministic TM. Contains all problems   in P and some problems possibly outside P.

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