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 throughput?, If the throughput scales upward as time progresses and...

If the throughput scales upward as time progresses and the number of Vusers enhance, this showing that the bandwidth is sufficient. If the graph were to remain relatively flat as t

Differences between internal and external fragmentation, Explain the differ...

Explain the differences between Internal and external fragmentation. Internal and external fragmentation (1) While memory allocated to a process is a little larger than th

Determine the factor consider when selecting digital encoder, 1. What facto...

1. What factors should be considered when selecting a digital encoder (line codes)? Briefly mention five of those factors. Use sketches and additional text to describe the followin

Illustration of a memory organization, Q. Illustration of a memory organiza...

Q. Illustration of a memory organization? Let's consider an illustration of a memory organization as displayed in Figure below in that main memory can store 32K words of 12 b

Explain what is the difference among isr & function call, In ISR there is n...

In ISR there is no return value but in function call there is return value

What will be the output of JK flipflop for J = 0 and K=1, For JK flipflop J...

For JK flipflop J = 0, K=1, the output after clock pulse will be ? Ans. J=0 and K=1, such inputs will reset the flip-flop, after the clock pulse. Therefore whatever be the earlie

Explain three-way handshake mechanism, Explain Three-Way Handshake Mechanis...

Explain Three-Way Handshake Mechanism used by TCP to terminate a Session reliably. Just to guarantee that connection is sets up or terminated reliably, transfer control protoco

The constructed datatype of c, The constructed datatype of C is known as ...

The constructed datatype of C is known as Structure is a constructed datatype of C.

Software Engineering, explanation of the difference between syntax and sema...

explanation of the difference between syntax and semantic errors

Exception handling and recursion, In the previous assignment, you implement...

In the previous assignment, you implemented a stack and a list that both inherited from the abstract class ArrayIntCollection. In this task you are supposed to extend that implemen

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