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

Differentiate between programming tools and authoring tools, Diffrentiate p...

Diffrentiate programming tools and authoring tools Distinction between programming tools and authoring tools is not at first obvious. Though, authoring tools require less techn

Define a variant of top-down parsing without backtracking, A parser which i...

A parser which is a variant of top-down parsing without backtracking is? Ans. Recursive Descend is a variant of top-down parsing without backtracking.

Editor - tools necessary for assembly language programming, Q. Editor - Too...

Q. Editor - Tools necessary for assembly language programming? The editor is a program which allows the user to enter and modify as well as store a group of instructions or tex

How can i model a bi-directional net, How can I model a bi-directional net ...

How can I model a bi-directional net with assignments influencing both source and destination? Assign statement constitutes a continuous assignment. Changes on the RHS of stat

What methods can be overridden in java, In C++ terminology, all public meth...

In C++ terminology, all public methods in Java are virtual. Thus, all Java methods can be overwritten in subclasses except those that are declared final, private and static.

Creates a grid-matrix of cells, 1. Write the function makegrid. This functi...

1. Write the function makegrid. This function accepts a width and height and creates a grid/matrix of cells. The width gives the number of columns and the height the number of rows

Subtraction 11011-11001 using 2's complement, Subtraction 11011-11001 using...

Subtraction 11011-11001 using 2's complement. Ans. 11011 - 11001 = A - B 2's complement of B = 00111 1 1 0 1 1 + 0 0 1 1 1 1 0 0 0 1 0 Ignore carry to get answer as 00010 = 2.

Dynamic programming problem, KK manufacturing company is faced with demand ...

KK manufacturing company is faced with demand for its product in each of the next four periods as shown in Table 1.  It must decide upon a production schedule to meet these demands

Explain the basic syntactic constructs through reductions, Recognition of b...

Recognition of basic syntactic constructs through reductions, this task is performed by? By Syntax analysis, recognition of fundamental syntactic constructs through reductions

Explain characteristics in java for e-commerce applications, Explain the ch...

Explain the characteristics and utilities available into java that makes it appropriate for developing e-commerce applications. Following are the characteristics and utilities

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