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

How to build the structure chart, Building the Structure Chart - Proces...

Building the Structure Chart - Processes in the DFD tend to show single module on the structure chart Afferent processes - give inputs to system Central processes -

Interrupts - computer architecture, Interrupts Interrupt-request lin...

Interrupts Interrupt-request line o   Interrupt-acknowledge signal o   Interrupt-request signal Interrupt-service routine o   May have no relationship t

Linux, Explain about unix file system architecture

Explain about unix file system architecture

Develop a program which reads hexadecimal number, Q.  Develop a program, wh...

Q.  Develop a program, which reads Hexadecimal number from an input file & convert it into Octal, Binary, and Decimal. The O/P should be written to a file & displayed accordingly.

Algebraic method for simplification of boolean expressions, Define Algebrai...

Define Algebraic method for Simplification of the Boolean Expressions This method is depend on the by knowledge of the Boolean algebra. Expression can be making simpler by usin

Determine the example of timescale, Determine the Example of timescale ...

Determine the Example of timescale 'timescale 10ns / 1ps Indicates delays are in 10 nanosecond units with 3 decimal points of precision (1 ps is 1/1000ns which is .001 ns).

Indias parallel computers, Parallel Computers In India, the design and ...

Parallel Computers In India, the design and development of parallel computers in progress in the early 80?s. The Indian Government recognized the Centre for Development of Adva

What is Video Card Interfaces, Q. What is Video Card Interfaces? A video i...

Q. What is Video Card Interfaces? A video interface is the link of video system to rest of the PC. To improve video performance there is required to be an intimate connection betw

Explain height of a tree, Height of a tree The length of the longest pa...

Height of a tree The length of the longest path from root to any node is called as the height of the tree.

Difference between synchronous and asynchronous updates, What is the differ...

What is the difference between Synchronous and Asynchronous updates? A program asks the system to perform a particular task, and then either waits or doesn't wait for the task

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