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 is a pipeline hazard, What is a pipeline hazard? Any condition tha...

What is a pipeline hazard? Any condition that causes the pipeline to stall is known as hazard. They are also known as stalls or bubbles.

What happens if a function module runs in an update task, What happens if a...

What happens if a function module runs in an update task? The system performs the module processing asynchronously.  Instead of carrying out the call immediately, the system w

What are the process states in unix, What are the process states in Unix? ...

What are the process states in Unix? As a process implements it changes state according to its circumstances. Unix processes have the following states: Running : The process

Instruction level-parallelism based on granularity size, Instruction level ...

Instruction level This is the initial level and the degree of parallelism is uppermost at this level. The fine grain size is used at statement or instruction level as only few

What is presentation layer, Q. What is Presentation layer? Presentatio...

Q. What is Presentation layer? Presentation layer: When two hosts are communicating with each other they might use different coding standards and character sets for represent

Explain public key encryption, Public Key Encryption A cryptographic sy...

Public Key Encryption A cryptographic system that uses two-keys-a public  key known to everyone and a private or secret key known only to the recipient of the message. An si

Evaluate speed of disk drive, Q. Evaluate Speed of disk drive? Drive S...

Q. Evaluate Speed of disk drive? Drive Speed: Amount of information which can be transferred in or out of memory in a second is called as disk drive speed or data transfer ra

Networking, compare 2g , 3g , and 4g also with advantage of 3g and 4g.

compare 2g , 3g , and 4g also with advantage of 3g and 4g.

Computer graphics, what is boundary filling explain with example

what is boundary filling explain with example

Difference between shadow and override in programming, Overriding tell us o...

Overriding tell us only the methods, but shadowing tells us the entire element.

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