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

What is ai backgammon, This part looks at Berliner's program, two backprop ...

This part looks at Berliner's program, two backprop versions by Tesauro and a temporal difference process by Tesauro. This latter program is VERY good quality and has found strateg

NETWORK ADMIN, Discuss the risks of having a single root user and how more ...

Discuss the risks of having a single root user and how more limited management abilities can be given to others users on Linux/UNIX systems.uestion #Minimum 100 words accepted#

standard console application, Three projects as follows: a. Life  stati...

Three projects as follows: a. Life  static library, code for every needed  function in the Life program. b. LifeGame  .exe application, i.e., a standard console application t

Define mapping and list mapping procedure, Define Mapping and List  mappin...

Define Mapping and List  mapping procedure? The transformation of data from main memory to cache memory is known as an Mapping. Associative mapping Direct mapping

Where shared resources are accessed, A critical section is a program segmen...

A critical section is a program segment? Ans. A critical section is a program segment where shared resources are accessed.

EME, How can i made Carnot engine

How can i made Carnot engine

Explain about aggregations, OLAP can process difficult queries and give the...

OLAP can process difficult queries and give the output in less than 0.1 seconds, for it to achieve like performance OLAP uses aggregations. Aggregations are built by aggregating an

How much volts a CMOS logic device has approximately, The logic 0 level of ...

The logic 0 level of a CMOS logic device is approximately ? Ans. The low level is 0 volts approx in CMOS logic device.

Analog to digital convertor, In which A/D converter has the speed of conver...

In which A/D converter has the speed of conversion is maximum ? Ans. In Parallel-comparator A/D converter, the speed of conversion is maximum. Speed of conversion is maximum a

Show the spawned program, Q. Show the spawned program? include "pvm3.h"...

Q. Show the spawned program? include "pvm3.h"  main() {    int ptid, msgtag;    char buf[100];    ptid = pvm_parent();    strcpy(buf, "hello, world from ");

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