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 synchronous reset, What is Synchronous reset? Synchronous reset...

What is Synchronous reset? Synchronous reset: Synchronous reset logic will synthesize to smaller flip-flops, mainly when the reset is gated along with the logic generating t

#, advantages of dda line algoritm

advantages of dda line algoritm

Explain stored program control, Explain Stored Program Control. Stored...

Explain Stored Program Control. Stored Program Control: Modern digital computers utilize the stored programmed idea. Now, a program or a set of instructions to the computer i

What about division and multiply operations, Q. What about division and mul...

Q. What about division and multiply operations? In most of the older computers divisions and multiply were implemented using subtract/add and shift micro-operations. If a digit

Describe distributed object model, Question 1 Give a brief explanation on m...

Question 1 Give a brief explanation on message oriented middleware Question 2 Describe Distributed object model Question 3 Explain File systems in a distributed computing Env

General registers in a processor, In this segment, we will give very brief ...

In this segment, we will give very brief details of registers of a RISC system known as MIPS. MIPS is a register-to-register or load/store architecture and employs three address

Paging, specification of paging ram size is 12 frames

specification of paging ram size is 12 frames

Explain the for loop, Explain The for loop The for loop is frequently ...

Explain The for loop The for loop is frequently used, usually where the loop will be traversed a fixed number of times. It is very flexible, and novice programmers should take

What are the exceptions encountered for fp operation, What are the exceptio...

What are the exceptions encountered for FP operation? The exceptions encountered for FP operation are overflow, underflow. /0, inexact and invalid values.

Explain bit slice ALUs, Bit Slice ALUs It was possible to manufacture ...

Bit Slice ALUs It was possible to manufacture smaller like 4 or 8 bits fixed point ALUs on a single IC chip. If these chips are constructed as expendable types then employing

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