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

Define the for loop, The for Loop The for loop works well where the num...

The for Loop The for loop works well where the number of iterations of the loop is known before the loop is entered. The head of the loop consists of three parts separated by s

Important terms related to systems, Purpose, Environment, Boundary, Inputs,...

Purpose, Environment, Boundary, Inputs, and Outputs are a number of important terms related to Systems. A System's objective/purpose is the reason for its existence and refe

Define briefly about extranet, Define briefly about Extranet. Extrane...

Define briefly about Extranet. Extranet: Extranet is Extension of an Intranet which makes the latter available to outside companies or individuals along with or without

Programming a 64-bit processor, You are to write a C program called big_mul...

You are to write a C program called big_mult.c that multiplies two unsigned 64-bit integers, x and y, read from the command line. The output is a pair of unsigned 64-bit integers r

Capacity and performance of storage - computer architecture, Capacity: ...

Capacity: Raw capacity Total amount of stored information that a medium or storage device can hold is expressed as a quantity of bytes and bits (for example 10.4 megabyte

Define terms setup time and hold time violation, Define setup time and hold...

Define setup time and hold time, what will occur when there is setup time and hold tine violation, how to overcome it? For Synchronous flip-flops, we have particular requiremen

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

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

Define a macro definition consists of, A macro definition consists of ? ...

A macro definition consists of ? Ans. A macro Definition have: A macro prototype statement, one or various model statements and also Macro pre-processor statements

Basic tradeoff of concerns for instruction set design, Q. Basic Tradeoff of...

Q. Basic Tradeoff of concerns for instruction set design? Basic Tradeoff: Smaller instruction (less space) vs. desire for more powerful instruction repertoire. Generally p

Define thread cancellation and target thread, Define thread cancellation & ...

Define thread cancellation & target thread.  The thread cancellation is the task of terminating a thread before it has done. A thread that is to be cancelled is often referred

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