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

List the properties which a hashing function should possess, List the prope...

List the properties which a hashing function should possess to ensure a good search performance. What approaches are adopted to handle collision? A hashing function h must poss

Various connectivity option available to internet subscriber, What are the ...

What are the various connectivity options available to Internet Subscribers? Internet Connectivity Options: Internet access is perhaps one of the most admired services that

Explain branch instruction with control signals, Explain BRANCH instruction...

Explain BRANCH instruction with Control Signals. and explain SHIFT instruction with Control Signals.  Explain Register Transfer Language. What do you mean by Addressing Techn

How address symbol table is generated, Address symbol table is generated by...

Address symbol table is generated by the  (A) memory management software.  (B) assembler.  (C) match logic of associative memory.   (D) generated by operating system

Pruning and sorting, Pruning and Sorting: This means we can test where...

Pruning and Sorting: This means we can test where each hypothesis explains as entails a common example that we can associate to a hypothesis a set of positive elements in whic

Which translator perform macro expansion, Which translator perform macro ex...

Which translator perform macro expansion, is called? Ans. Macro pre-processor perform macro expansion.

Texts in the text elements of the program, Which Texts  in the text elemen...

Which Texts  in the text elements of the program helps in changing the displayed names of variables in the parameters statement. Selection text in the elements of the program

Defined for a push button fields in the screen attributes, What is to be de...

What is to be defined for a push button fields in the screen attributes? A function code has to be described in the screen attributes for the push buttons in a screen.

Define the types of software life cycle, Define the types of software life ...

Define the types of software life cycle Any system progress refers to the initial part of the software life cycle: analysis, design, and implementation. During object oriented

Explain basic time division and time switching method, What is time divisio...

What is time division switching? With the help of block diagram explain basic time division and time switching method. Time Division Switching: A switching component can be s

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