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

Eme, state function and path function

state function and path function

What is a scope resolution operator, A scope resolution operator (::), can ...

A scope resolution operator (::), can be used to describe the member functions of a class outside the class.

Design the communication protocol, Design, write, and implement distributed...

Design, write, and implement distributed networked application using Java Design the communication protocol (message format and exchange procedure) that your application will re

Define baud rate, Define baud rate The rate of data transfer in serial...

Define baud rate The rate of data transfer in serial data communication is signified in bps. Bits per second (bps) is the rate of transfer of information bits. Baud is the num

How to use activex control in .net, How to use ActiveX Control in .Net ? ...

How to use ActiveX Control in .Net ? ActiveX control is a special type of COM component that handles a User Interface. Using ActiveX Control in your .Net Project is even simple

Define memory utilization factor, Memory utilization factor shall be comput...

Memory utilization factor shall be computed as? Ans. memory in use/total memory connected.

Explain about butterfly permutation, Q. Explain about Butterfly permutation...

Q. Explain about Butterfly permutation? Butterfly permutation:  This kind of permutation is attained by interchanging the most significant bit in address with least significant

State the datatypes of verilog, State the datatypes of Verilog Verilog....

State the datatypes of Verilog Verilog. Compared to VHDL, Verilog data types are very simple, easy to use and very much geared towards modeling hardware structure as opposed to

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