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 are the advantages of hierarchical networks, What are the advantages o...

What are the advantages of Hierarchical Networks? Hierarchical networks are able of handling heavy traffic where needed, and at similar time use minimal number of trunk groups

Describe the modes of wave propagation, Question : a) Describe the foll...

Question : a) Describe the following modes of wave propagation: - Line of sight - Ground waves - Skywaves b) Why can waves with a very low frequency be used for submar

What are universal gates, What  are  universal  gates.  Construct  a  lo...

What  are  universal  gates.  Construct  a  logic  circuit  using  NAND  gates  only  for  the expression x = A . (B + C). Ans. Universal Gates: NAND and NOR Gates both are t

Explain time division switching, Explain Time Division Switching. Ti...

Explain Time Division Switching. Time Division Switching: A switching component can be shared at the same time with number of active speech circuits. It is the principle of

Environment of the packet flow, Q. Environment of the Packet Flow? Prot...

Q. Environment of the Packet Flow? Protocol stack used on Internet is referred to as TCP/IP protocol stack. If we were to follow the path that message "Hello computer 5.6.7.8!"

Explain segmentation, Explain segmentation? Segment memory addressing ...

Explain segmentation? Segment memory addressing divides memory into many segments. Each of these segments can be considered as a linear memory space. Every one of these segmen

What is a compiler, What is a compiler? A Compiler is a program that ac...

What is a compiler? A Compiler is a program that accepts a program written in a high level language and creates an object program.

How do you import data from one more access database, The process of import...

The process of importing data from one more Access database follows these common steps they are. ? Preparing the document for import operation and make ensure that extensions ar

Security analysis, Security Analysis: Suppose you are a young securiti...

Security Analysis: Suppose you are a young securities analyst, working in a small brokerage firm. You have access to publicly available information relevant to valuation of th

Find out the excess code of decimal number, The excess 3 code of decimal nu...

The excess 3 code of decimal number 26 is ? Ans. (26) 10 in BCD is (00100110) BCD Add 011 to all BCD 01011001 for excess - 3

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