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

Advantage of a numeric mailbox identifier, Does a numeric mailbox identifie...

Does a numeric mailbox identifier have any advantage over a mnemonic identifier? Explain. Several software systems permit the system administrator to select mailbox names, wher

Describe about analysis, Analysis describes about the logical and statistic...

Analysis describes about the logical and statistical analysis needed for an efficient output. This involves writing of code and performing calculations, but most part of these lang

Definition of a micro controllers, Before we take a detailed look about the...

Before we take a detailed look about the Motorola 68HC11 series of micro controllers it is useful to define what is meant by a micro controller. As the name suggests a micro contro

Applications of electronic data interchange in business, What are the appli...

What are the applications of Electronic Data Interchange in business? The applications of Electronic Data Interchange are as given below: 1. Organisations that use EDI 2

Minimum degree of t=1 for a b-tree, Why don't we permit a minimum degree of...

Why don't we permit a minimum degree of t=1 for a B-tree? According to the definition of B-Tree, a B-Tree of order n means that every node in the tree has a maximum of n-1 keys

Parallel random access machines, PRAM is one among the models which are use...

PRAM is one among the models which are used for designing the parallel algorithm as shown in Figure. The PRAM model comprises the following components: i)  A group of identical

What are the major components of a web browser, What are the major componen...

What are the major components of a web browser? A browser contains a set of clients, a controller and a set of interpreters which manages them. All browsers must have an HTML

What are the different scheduling policies in linux, What are the different...

What are the different scheduling policies in Linux The Linux scheduler has three different scheduling policies: one for 'normal'Processes, and two for 'real time' processes

State the use parameters and parameter definition modules, State the Use pa...

State the Use parameters and parameter definition modules. Parameters aren't preprocessor definitions and they have scope (for example parameters are associated with specific

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