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

Develop an object-oriented design, Investigate the MIPS programmers model a...

Investigate the MIPS programmers model and develop an object-oriented design that will reflect aspects of the MIPS architecture. Consider the functional units of the architecture a

Computational study of a spring-mass system, Idealized spring-mass systems ...

Idealized spring-mass systems have numerous applications throughout engineering. Fig.1 shows an arrangement of three masses and four springs which, after is released, is pulled dow

What is divide overflow, What is divide overflow?  The division operati...

What is divide overflow?  The division operation might result in a quotient with an overflow. Overflow happens when the length of the registers is finite and will not hold a nu

Explain sequential sharing, Explain Sequential sharing. Sequential s...

Explain Sequential sharing. Sequential sharing: In this technique of sharing, a file can be shared through only one program at a time, it is file accesses by P1 and P2 are

State about the object oriented analysis, State about the Object oriented a...

State about the Object oriented analysis Object oriented analysis (OOA) is concerned with developing software engineering specifications and requirements that expressed as a s

Define thread cancellation and target thread, Define thread cancellation & ...

Define thread cancellation & target thread.  The thread cancellation is the task of terminating a thread before it has done. A thread that is to be cancelled is often referred

Illustrate working of pocket and pc-card modems, Q. Illustrate working of P...

Q. Illustrate working of Pocket and PC-Card Modems? Pocket Modems: Small external Modems used with notebook PCs.  PC-Card Modems:  PC and Modems are read with PCMCIA slots w

What are the major characteristics of a pipeline, What are the major charac...

What are the major characteristics of a pipeline? The major characteristics of a pipeline are: a) Pipelining cannot be executed on a single task, as it works by splitting mu

Application using shift operations, Application Using Shift Operations ...

Application Using Shift Operations Rotate and Shift instructions are helpful even for division andmultiplication. These operations are not normally available in high-level lang

What are the types of data warehouses, What are the types of data warehouse...

What are the types of data warehouses? Various types of data warehouses are illustrated below: a) Financial Data Warehouses b) Insurance Data Warehouses c) Human Resou

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