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

How to call a wml script from a wml page, WML & WML Script 1. How to ca...

WML & WML Script 1. How to call a WML Script from a WML Page? 2. Write a brief note on WML Script Operators and Expressions. 3. Write brief notes on WML Script Statements

Demonstrate arc consistency, Demonstrate Arc consistency: To demonstra...

Demonstrate Arc consistency: To demonstrate the worth of performing an arc-consistency check before starting a serarch for a solution, we'll use an example from Barbara Smith'

Print a prompt, When your shell is waiting for input from the user, it shou...

When your shell is waiting for input from the user, it should first print a prompt. The prompt should consist of the current working directory followed by the _>_ character. Here i

What is ''preemption'' program, Program 'preemption' is? Ans. Forced de...

Program 'preemption' is? Ans. Forced de allocation of the CPU from a program that is executing on the CPU is called preemption program.

What is span of control, Q. What is span of control? Span of control te...

Q. What is span of control? Span of control tells the ratio among superiors and subordinates. Generally organizations are having two different types of spans. They are Wide Spa

Describe types of complements, Q. Describe types of complements? There ...

Q. Describe types of complements? There are two kinds of complements for a number of base (also known as radix) r. These are known as r's complement and (r- 1)'s complement. Fo

Implement and - or- not gates using bit wise operator, Q. Develop  a menu d...

Q. Develop  a menu driven program to implement AND, OR, NOT gates using and without using  Bit wise operator. The menu  should  be  as follows: I.  Using Bit Wise operator I

What is machine language, What is Machine Language? To write program fo...

What is Machine Language? To write program for a computer we need to specify, directly or indirectly the sequence of machine instructions.  These instructions  inside  computer

What is looping, What is looping Loop is a control structure used to do...

What is looping Loop is a control structure used to do repetitive operation. Some programs include repeating a set of instruction either a particular number of times or until a

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