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 register indirect addressing, Q. Explain Register Indirect Addressi...

Q. Explain Register Indirect Addressing? In this addressing technique the operand is data in memory pointed to by a register. Or we can say in other words that the operand fie

What is linear addressing mode, What is Linear Addressing Mode. Ans. L...

What is Linear Addressing Mode. Ans. Linear Addressing: Addressing is the procedure of selecting one of the cells in a memory to be written in or to be read from. So as to fa

What are the characteristics of sram, What are the characteristics of SRAM?...

What are the characteristics of SRAM? SRAM are fast They are volatile They are of high cost Less density

Html 4.0 element, , an HTML 4.0 element supported by Netscape6 and MSIE, de...

, an HTML 4.0 element supported by Netscape6 and MSIE, defines a set of text which is associated with a specific form element. For illustration, code belo

What are the advantages of code optimization, What are the advantages of co...

What are the advantages of code optimization? Code optimization tends at enhancing the execution efficiency of a program. It is achieved in two manners. Redundancies in a progr

Set up to use parallel virtual machine, Q. Set up to Use parallel virtual m...

Q. Set up to Use parallel virtual machine? PVM employs two environment variables when starting and running. Each and every PVM user needs to set these two variables to employ P

Link your documents to site, Images in the top area of Compass home page gu...

Images in the top area of Compass home page guide visitors to specific pages on the site. Now you will add links for navigation buttons. You will see that there are some ways to

Risc architecture - computer architecture, RISC  architecture - computer a...

RISC  architecture - computer architecture: What is reduced regarding it? The answer of this question is that to make all instructions the equal length the number of bits that

Explain priority encoder with an example, Explain Priority encoder with an ...

Explain Priority encoder with an example. Ans. Priority encoder- Basically an encoder is a combinational circuit which performs the inverse operation of a decoder. The inp

Standard typewriter for information distribution, Standard typewriter : Yo...

Standard typewriter : You must have seen this manually operated machine. Standard typewriters of various makes such as Remington, Fact, Godrej, etc., are available in the market.

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