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

the three main components of linq, What are the three main components of L...

What are the three main components of LINQ or Language Integrated Query? Ans) 1. Standard Query Operators 2. Language Extensions 3. LINQ Providers

What is encapsulation technique, Hiding data within the class and making it...

Hiding data within the class and making it available only by the methods. This method is used to protect your class against accidental changes to fields, which might leave the clas

Define micro operation, Define Micro operation. The operations implemen...

Define Micro operation. The operations implemented on data stored in the registers are called Micro operation. A microperation is an elementary operation performed on the infor

Draw the logic circuit of a 3 line to 8 line decoder, What is a decoder? Dr...

What is a decoder? Draw the logic circuit of a 3 line to 8 line decoder and explain its working. Ans. Decoder: it is a combinational logic circuit which converts Binary words

Instruction pipeline-level of processing, Classification according to level...

Classification according to level of processing According to this classification, computer operations are classified as arithmetic operations and instruction implementation. Ne

Why a computer expect to receive responses, Why a computer expect to receiv...

Why a computer expect to receive responses when it broadcast an ARP request? Response will be acquired only from the machine for that request is being sent not for the other ma

Row-major order and column-major order of arrays, Two-dimensional array is ...

Two-dimensional array is represented in memory in following two ways: 1.  Row major representation: To attain this linear representation, the first row of the array is kept in

Example of circuit switching & stored and forward switching, Example of cir...

Example of circuit switching and S&F (Stored and Forward) switching is (A) Telephone and Post of Telegraph (B) Video Signal Post or Telegraph (C)  Digital Signal P

Explain recursive descent parsing, Explain Recursive Descent Parsing It...

Explain Recursive Descent Parsing It is a top down parsing with no backtracking. This parsing method uses a set of recursive processes to perform parsing. Most important advant

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