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 decision has the highest expected value, The Prisoner's Dilemma is a w...

The Prisoner's Dilemma is a well-known problem in game theory. Two thieves are arrested and held in custody separately. The police offer each the same deal. Inform on your partn

What are intelligent agents, Q. What are intelligent agents? What tasks wil...

Q. What are intelligent agents? What tasks will they perform? ANSWER: Intelligent agents are software that helps you, or operate on your behalf, in performing repetitive comput

Auto increment mode and condition code flags, Described auto increment mode...

Described auto increment mode of addressing? Ans: Effective address of the operand is the contents of a register mention in the instruction. After finishing the accessing t

Define target _blank, TARGET = "_blank" "_blank" opens new document in...

TARGET = "_blank" "_blank" opens new document in a new window. Run the code given in Figure and check how it works. This value doesn't require the use of any frames. "_blank"

Explain functions introduction, Common used functions are placed within lib...

Common used functions are placed within libraries in the SQABasic directory. Files ending with ".SBH" have the public interface they give to other libraries and scripts. Files endi

Show the noframes tag, Q. Show the Noframes Tag? tag can be used for t...

Q. Show the Noframes Tag? tag can be used for those browsers which aren't able to interpret tags. Even though most, if not all, of your visitors would

Intelligent retrieval from database, Intelligent Retrieval from Database: D...

Intelligent Retrieval from Database: Database system are large bodies of facts about some subjects, which are used to answer users queries about that subject. The design of d

What is a map, What is a Map? A Map is an Array, which having the addre...

What is a Map? A Map is an Array, which having the addresses of the free space in the swap device that are allocatable resources, and the number of the resource units available

C program, #how to write c program for all types of beam reactions

#how to write c program for all types of beam reactions

Applications of electronic data interchange in business, What are the appli...

What are the applications of Electronic Data Interchange in business? The applications of Electronic Data Interchange are as given below: 1. Organisations that use EDI 2

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