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

Develop the website, In this part you are required to develop the website t...

In this part you are required to develop the website that you designed in Your written report must describe any changes that you make to theoriginal plan with justification.

How are interrupt handled by the operating system, How are interrupt hand...

How are interrupt handled by the operating system? The fundamental interrupt mechanism works as follows: The CPU hardware has wire called the interrupt-request line which

Define memory allocation functions, The various memory allocation functions...

The various memory allocation functions are described below: (i) malloc( ) : It is a memory allocation function that assigns requested size of bytes and returns a pointer to t

What is verilog function, What is Verilog function - A function is una...

What is Verilog function - A function is unable to enable a task however functions can enable other functions. - A function would carry out its required duty in zero simula

General considerations for research -artificial intelligence, General Consi...

General Considerations for Research -artificial intelligence: If we can specify the initial state, the operators or a consumer and the goal check for a search problem, that al

What is pointers function, Visual basic applications have very rich and fle...

Visual basic applications have very rich and flexible applications but there is single limitation when using pointer function. Windows API has limited support for function pointers

Define synchronization latency problem, Q. Define Synchronization Latency P...

Q. Define Synchronization Latency Problem? If two simultaneous processes are executing remote loading then it's not recognized by what time two processes will load as issuing p

Array to be sorted is partitioned again and again, The sorting method where...

The sorting method where array to be sorted is partitioned again and again in such a way that all elements less than or equivalent to partitioning element appear before it and thos

Smtp vs esmtp, what shortcomings of smtp are over come by esmtp?

what shortcomings of smtp are over come by esmtp?

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