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

What are condition codes, What are condition codes? In many processors,...

What are condition codes? In many processors, the condition code flags are kept in the processor status register. They are either set are cleared by lots of instructions, so th

Visibility, hidden edge/surface removal

hidden edge/surface removal

?????, c program??????????

c program??????????

Calculate a table of responses to all boolean inputs, 1.  The network shown...

1.  The network shown in figure 2 uses neurons with:             (a) Unipolar Binary;             (b) Bipolar Binary. Calculate a table of responses to all four possi

Sorting using interconnection networks, The combinational circuits employ t...

The combinational circuits employ the comparators for comparing the numbers and storing them on the basis of maximum and minimum functions. Likewise in the interconnection networks

Operating characteristics for master-slave s-r flip-flop, Define the Operat...

Define the Operating Characteristics for master-slave S-R flip-flop? 1. Propagation Delay Time - is the interval of time required subsequent to an input signal has been applied

How and what data is gathered- simulation, How and what data is gathered- S...

How and what data is gathered- Simulation To make this as realistic as possible, data is required to be gathered over a long period of time. This can be done by sensors near/i

Drawing sequential circuit on paper, design a sequential circuit that conti...

design a sequential circuit that continuously computes the function 2X + 3 or 3X + 1 where the variable X is a three-bit unsigned integer available on a serial interface. A special

What is device drivers, A device driver is software interface that manages ...

A device driver is software interface that manages communication with and control of a particular I/O device or type of device. It is task of device driver to convert logical reque

What is the standard template library (stl), A library of container templat...

A library of container templates approved by the ANSI committee for inclusion in the standard C++ specification. A programmer who then launches into a discussion of the generic

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