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

Where shared resources are accessed, A critical section is a program segmen...

A critical section is a program segment? Ans. A critical section is a program segment where shared resources are accessed.

Example of asymptotic notations, Q. Example of asymptotic notations? Th...

Q. Example of asymptotic notations? The function f (n) belongs to the set  (g(n)) if there exists positive constants c such that for satisfactorily large values of n we have 0

Explain about physical model, Explain about Physical model The Physical...

Explain about Physical model The Physical model describes concrete software and hardware components of system's context or implementation.

Fundamental components of a microprocessor, Q. Fundamental components of a ...

Q. Fundamental components of a microprocessor? The word 'micro' is used in microphones, microscopes, microwaves, microprocessors, microcomputers, microprogramming, microcodes e

Define swapping, Define swapping.  A process needs to be in memory to b...

Define swapping.  A process needs to be in memory to be implemented. Though a process can be swapped temporarily out of memory to a backing store and then brought back into mem

Disadvantages of edi(electronic data interchange), Disadvantages  1.  T...

Disadvantages  1.  The X12 standard is so large and general  2.  EDI communications negotiate a technical agreement to explain exactly what subset of EDI they will use

Period and space tradeoffs - artificial intelligence, Period and Space Trad...

Period and Space Tradeoffs - artificial intelligence: In practice, you are going to stop your agent for long term using in searching goal at some stage if it has not found a s

Computer graphics, raster scan and random display technology

raster scan and random display technology

Find out the decimal equivalent of binary number, The decimal equivalent of...

The decimal equivalent of Binary number 10101 is ? Ans. 1x2 4 + 0x2 3 +1x2 2 +0x2 1 + 1x2 0 = 16 + 0 + 4 + 0 + 1 = 21.

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

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