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

Online Library management system, Please help me to do mini Project about t...

Please help me to do mini Project about this by creating simple front and back end by using html and css and any programming language like python,php to connect those front end and

Show the importance of risc processors, Q. Show the Importance of RISC Proc...

Q. Show the Importance of RISC Processors? Reduced Instruction Set Computers recognize a comparatively limited number of instructions. One benefit of a reduced instruction set

Digital electronics, Draw a circuit of an NMOS inverter and explain its ope...

Draw a circuit of an NMOS inverter and explain its operation

Explain the odd-even transposition algorithm, Q. Explain the odd-even trans...

Q. Explain the odd-even transposition algorithm? The algorithm needs one 'for loop' beginning from I=1 to N it implies that N times and for every value of I, one 'for loop' of

C LANGUAGE PROGRAMME, find a c program to find the area under the curve y=f...

find a c program to find the area under the curve y=f(x) between x=a and x=b,intregrate y=f(x)between the limits of a and b.the area under a curve between two points can be found b

Mathcad solution to compute the ellipsoid radii , Question: Write a Mat...

Question: Write a MathCad solution to compute the ellipsoid radii at a point. Use the defining parameters for the GRS80 ellipsoid - a and f - in table 19.1. Program Equation 19

Sorting circuit along with odd-even merging circuit, Q. Sorting Circuit alo...

Q. Sorting Circuit along with Odd-Even Merging Circuit? The merge sort algorithm needs two circuits which imply that one circuit for merging and another circuit for sorting the

Communications and synchronization, Communications Parallel tasks class...

Communications Parallel tasks classically need to exchange data. There are many ways in which this can be accomplished, such as, through a network or shared memory bus. The act

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