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 basic function of keyboard, Q. Explain basic function of Keyboard? ...

Q. Explain basic function of Keyboard? Keyboard is the major input device for your computer. It is an accurate and fast device. The multiple character keys permit you to transm

Determine the output waveforms for and and or gates, The voltage waveforms ...

The voltage waveforms shown in given fig. are applied at the inputs of 2-input AND and OR gates. Determine the output waveforms. Ans. The Output waveforms for AND and O

What is the working set of a process, What is the working set of a process?...

What is the working set of a process? The set of pages that are referred by the method in the last "n", references, where "n" is called the window of the working set of the pro

Observed speedup and parallel overhead, Observed Speedup Observed speed...

Observed Speedup Observed speedup of a system which has been parallelized, is defined as:                             Granularity is one of the easiest and most extensi

What is difference between ram and fifo, What is difference between RAM and...

What is difference between RAM and FIFO? FIFO certainly does not have address lines. It is stands for first in and first out. It is an algorithm based method. It is used to s

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

What is system conception, What is system conception? It deals with gen...

What is system conception? It deals with genesis of an application and formulating tentative needs. The purpose of the system conception is to defer details and understand what

The max number of calling modes stacked at one time is, The max number of ...

The max number of calling modes stacked at one time is? NINE

Obtain 1''s and 2''s complement, Obtain 1's and 2's complement of 1010 usin...

Obtain 1's and 2's complement of 1010 using only four-digit representation. Solution: 1's complement: 1's complement of 1010 is  Please note that wherever you ha

Technology impact on job design - information system, Technology impact on ...

Technology impact on job design - Information System The implementation of technology into work has had a significant impact on the types and content of job that are now avail

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