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 is backward compatible, A program is backward compatible if it can use...

A program is backward compatible if it can use files from an older version of itself. For a file saved in the program to be backward compatible, it must be possible to open the fil

Define syntax of mpi_scan function, Q. Define syntax of MPI_Scan  function...

Q. Define syntax of MPI_Scan  function? MPI_Scan (Sendaddr,, Receiveaddr , count, datatype, op, comm): It merges the partial values in p final results that are received in

Develop a regular expression for real number and identifier, Develop a regu...

Develop a regular expression for Real number with optional fraction and Identifier. (i) A regular expression for real number with optional fraction is [+ | -] (d) +. (d)* (i

How many bits of data will be produced if voice is converted, If voice is c...

If voice is converted to digital form using PCM, how many bits of data will be produced in half a second? While voice is converted to digital by using PCM that is Pulse Code Mo

What is arithmetic pipeline, What is arithmetic pipeline?  Pipeline ari...

What is arithmetic pipeline?  Pipeline arithmetic units are usually found in very high speed computers. They are used to execute floating point operations, multiplication of fi

About algorithm , train booking algorithm for seat reservation

train booking algorithm for seat reservation

Describe the operation of voltage to frequency ADC, Describe the operation ...

Describe the operation of voltage to frequency ADC. Ans: A voltage-to-frequency converter i.e. VFC is an oscillator that frequency is linearly proportional to a control volt

Calculate traffic lost in a particular exchange, In a particular exchange d...

In a particular exchange during busy hour 1200 calls were offered to a group of trunks, during this time 6 calls were lost. The average call duration being 3 minutes Calculate Tr

Explain the benefits of interpreter, Explain the Benefits of Interpreter? ...

Explain the Benefits of Interpreter? The benefit of an interpreter though is that it doesn't need to go through the compilation stage during which machine instructions are gene

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