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

Bi polar junction transistor, draw input and output charectoristics of BJT ...

draw input and output charectoristics of BJT and justify CE configuration provides large current amplification

Simulate a real life product development , The goal is to simulate a real l...

The goal is to simulate a real life product development and familiarize learners with the design process of a system, component, or process to meet desired requires within realisti

Implementation using 8 to 1 multiplexer, Implement the following function u...

Implement the following function using 8 to 1 multiplexer Y(A, B, C, D) = ∑(0,1,2,5,9,11,13,15) Ans. We will obtain three variables B,C and D at selection lines and also A as i

Logic-based expert systems, Logic-based Expert Systems : Expert system...

Logic-based Expert Systems : Expert systems are agents that are programmed to make decisions just about real world situations are place together by utilising knowledge illicit

Explain loop-invariant code motion, Explain briefly Loop-invariant code ...

Explain briefly Loop-invariant code motion of the commonly used code optimization techniques. Loop-invariant code motion If a quantity is calculated inside a loop duri

What does the ''suppress dialog'' do, What does the 'SUPPRESS DIALOG' do? ...

What does the 'SUPPRESS DIALOG' do? Suppressing of whole screens is possible with this command.  This command permits us to perform screen processing "in the background".  Sup

Define device interface, Define device interface. The buffer registers ...

Define device interface. The buffer registers DATAIN and DATAOUT and the status flags SIN and SOUT are part of circuitry commonly called as a device interface.

What are the different scheduling policies in linux, What are the different...

What are the different scheduling policies in Linux The Linux scheduler has three different scheduling policies: one for 'normal'Processes, and two for 'real time' processes

List in a pop-up screen other than full-size stacked list, Can we display a...

Can we display a list in a pop-up screen other than full-size stacked list? Yes, we can show a list in a pop-up screen using the command WINDOW with the additions beginning at

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