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

Explain how a critical section avoids race condition, Explain how a critica...

Explain how a critical section avoids Race condition. To prevent Race Condition, concurrent processes should be synchronized. Data consistency needs that only one process m

Explain the configuration of a step-by-step switching system, With neat dia...

With neat diagrams explains the configuration of a step-by-step switching system. The schematic diagram for an exchange is specified in figure. Each subscriber is associated to

Computer Network, Write a short notes on transition from IPv4 to IPv6

Write a short notes on transition from IPv4 to IPv6

Illustrate the ftp commands, Q. Illustrate the FTP commands? FTP includ...

Q. Illustrate the FTP commands? FTP includes many commands however only few are used to retrieve a file. A user is required to understand the three basic commands to connect to

Explain classless inter-domain routing, Explain Classless Inter-Domain Rout...

Explain Classless Inter-Domain Routing. It is a new addressing scheme for the internet that permits for more efficient allocation of IP addresses than old class A, B and C addr

Cn, What is the basic requirement for establishing VLANs?

What is the basic requirement for establishing VLANs?

Explain the storage class register, The Storage Class register The Sto...

The Storage Class register The Storage Class register : The storage class 'register' tells the compiler that the associated variable  should  be stored  in  high-speed  memor

Explain the matlab working environment, This is the set of tools and facili...

This is the set of tools and facilities that you work with as the MATLAB user or programmer. It contains facilities for managing the variables in your workspace and importing and e

Executing a parallel algorithm, Q. Executing a parallel algorithm? Mult...

Q. Executing a parallel algorithm? Multiple processors need synchronization with one another when executing a parallel algorithm. So task which is running on processor X may ha

Purpose of pointer phrase in string command, The Purpose of POINTER phrase ...

The Purpose of POINTER phrase is to verify the leftmost position within receiving field where the first transferred character will be kept

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