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

Convert binary number in two''s compliment form, Convert binary number in t...

Convert binary number in two's compliment form 0100 1000. Converting the binary number into 2's compliment from 0100 1000 is given below: 01001000 => 10111000

Explain the paging unit, Explain the Paging Unit Paging mechanism funct...

Explain the Paging Unit Paging mechanism functions with 4K - byte memory pages or with a new extension available to Pentium with 4M byte-memory pages. In Pentium, with new 4M-b

What is recursion, What is recursion?  A recursive procedure should have tw...

What is recursion?  A recursive procedure should have two properties.  What are they? Recursion means function call itself repeatedly.         Properties : (1) There

Difference between global and local variables, Global and Local Variables ...

Global and Local Variables Global variables: The features are as pursue Declared outside of all functions or before main. These can be used in all the functions in the progra

Define a technique of temporarily removing inactive program, is a technique...

is a technique of temporarily removing inactive programs from the memory of computer system? Swapping is a technique of temporarily eliminating inactive programs from the memor

What is uml, ? UML is called as Unified Modeling Language. ? it is used...

? UML is called as Unified Modeling Language. ? it is used to Graphical language for visualizing artifacts of the system. ? It Allow to make a blue print of all the aspects

Explain multithreading in a programming language, Multithreading is the pro...

Multithreading is the process in which more than single thread run independent of each other within the process in any programming language such as C, C++, etc.

Computer graphics, what isAdvantages of scan line algorithm, Computer Graph...

what isAdvantages of scan line algorithm, Computer Graphics?

Find the simplified function, Q. F' (A, B, C, D) = (A + B + D')(A + C' + D'...

Q. F' (A, B, C, D) = (A + B + D')(A + C' + D')(A + B' + C')        D' (A, B, C, D) = (A + B' + C + D')(A' + C' + D')(A' + B + D)        Find the simplified function F and imple

Explain the term- software, Explain the term- Software Some of the key ...

Explain the term- Software Some of the key aspects of software are considered in this section. Familiarisation with software packages is generally best achieved by carrying out

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