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 about communication displays and matrix, Q. What is communication D...

Q. What is communication Displays and Matrix? Communication Displays Communication displays offer support in concluding frequency of communication whether congestion in me

Search in problem solving - artificial intelligence, Search in Problem Sol...

Search in Problem Solving: If Artificial Intelligence can inform that the other science about anything, it is about problem solving and, in particular, how to research after s

Difference between write back and write through cache, What is Difference b...

What is Difference between write back and write through cache? A caching method wherein modifications to data into the cache aren't copied to the cache source till absolutely n

What is ipc, What is IPC? What are the various schemes available? The t...

What is IPC? What are the various schemes available? The term IPC (Inter-Process Communication) explains various ways by which different process running on some operating syste

Database, er table for hospital management system

er table for hospital management system

Artificial intelligence software, Artificial Intelligence Software A...

Artificial Intelligence Software Artificial Intelligence (AI) software employs non numerical algorithms to resolve complex problems that are not amenable to computation or s

What is page fault, What is page fault? Its types? Page fault refers to...

What is page fault? Its types? Page fault refers to the situation of not having a page in the major memory when any process references it. There are two kinds of page fault :

Quantitative analysis, solve the primal problem using duality and determine...

solve the primal problem using duality and determine the primal and dual solution P= 300x1 + 300x2 S.T. 2x1 + 3x2 => 13 3x1 = 2x2 => 15 x1,x2 => 0

Quick sort exhibit its worst-case behaviour, In which input data does the a...

In which input data does the algorithm quick sort exhibit its worst-case Behaviour? The Quick Sort method exhibits its worst-case behavior when the input data is " Already Comp

Explain what are the different hazards, There are situations, called hazard...

There are situations, called hazards that stop the next instruction in the instruction stream from implementing during its designated clock cycle. Hazards decrease the performance

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