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 presentation layer helps in establishing, Explain how presentat...

Explain how presentation layer helps in establishing and processing data in End to End layers. The idea of the presentation layer is to stand for information to the communicati

Explain salient points about indirect addressing, Q. Explain salient points...

Q. Explain salient points about indirect addressing? A number of salient points about this scheme are:  In this addressing scheme effective address EA and contents of th

Translating from english to first-order logic, Translating from English to ...

Translating from English to First-Order Logic: Still we have now seen some of examples of first order sentences, than you should practice writing down English sentences in fir

What are the aspects of CAD, What are the aspects of CAD Increased use ...

What are the aspects of CAD Increased use of computers has led to many of the above affects. Other aspects to consider include: -  deskilling of the work force (for illustra

Face detection, i want the matlab code for the following events 1. face det...

i want the matlab code for the following events 1. face detection 2. video to frame conversion 3.video shot boundary detection

What are the components of loadrunner, The workings of LoadRunner are The V...

The workings of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner examines and Monitoring, LoadRunner Books Online. What Component of LoadRun

Explain activities of an operating system, List the major activities of an ...

List the major activities of an operating system with respect to memory management, secondary storage management and process management. Operating system is causes for followin

What is event-based simulator, Event-based Simulator Digital  Logic  S...

Event-based Simulator Digital  Logic  Simulation  method  sacrifices  performance  for  rich  functionality:  each active signal  is  calculated  for  every  device  it  propa

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

Why do we need registers, Why do we need Registers? If t cpu is cycle...

Why do we need Registers? If t cpu is cycle time of CPU which is the time taken by CPU to execute a well-defined micro-operation employing registers and t mem is memory cycl

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