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

Show various RISC processors, Q. Show Various RISC Processors? RISC has...

Q. Show Various RISC Processors? RISC has fewer design bugs and its simple instructions decrease design time. Sodue to all the above important reasons RISC processors have beco

Explain memory write operation, Q. Explain Memory Write operation? Memo...

Q. Explain Memory Write operation? Memory write operation transfers content of a data register to a memory word M selected by the address. Presume that data of register R1 is t

Give the difference b/w multiprogramming and multiprocessing, Give the diff...

Give the difference between multiprogramming and multiprocessing. A multiprocessing system is a computer hardware configuration which contains more than one independent proc

Pruning - artificial intelligence, Pruning - artificial intelligence: ...

Pruning - artificial intelligence: Recall which pruning a search space means deciding that there certain branches to should not be explored. Moreover if an agent knows for sur

Why we use modem, Q. Why we use Modem? A Modem is one device which most...

Q. Why we use Modem? A Modem is one device which most computer users who have surfed Internet are aware of.  A modem is neededsincehowever most of telecommunications have becom

Declare abstract processor arrays, Think about call of two intrinsic functi...

Think about call of two intrinsic functions discussed above for a 32-Processor (4×8) Multicomputer:    The function call NUMBER_OF_PROCESORS () will return 32.

Creation deductive inferences, Creation Deductive Inferences : Here we...

Creation Deductive Inferences : Here we have shown how knowledge can be represented in first-order logic or how rule-based expert systems expressed in logic can be constructed

How to modify or delete a custom class name, 1. Click Tools > General Optio...

1. Click Tools > General Options, and then click the Object Mapping tab. 2. From the Object type list, select the standard object type that is associated with the object class

What is internal path length, Internal Path length It is described as t...

Internal Path length It is described as the number of node traversed while moving by one particular node to any other node in the tree.

Determine resources, Consider the following system snapshot using data stru...

Consider the following system snapshot using data structures in the Banker's algorithm, with resources A, B, C, and D, and process P0 to P4:                           Max

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