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

Register-to-register operands in RISC, Q. Register-to-register operands in ...

Q. Register-to-register operands in RISC? Register-to-register operands: In RISC machines operation which access memories are LOAD and STORE. All other operands are kept in reg

Define encapsulation- object oriented technology, Define Encapsulation- obj...

Define Encapsulation- object-oriented technology Encapsulation also called as information hiding, is the characteristic of separating the external aspects of an object, from t

What are disadvantages of eprom, What are disadvantages of EPROM? The c...

What are disadvantages of EPROM? The chip must be physically removed from the circuit for reprogramming and its whole contents are erased by the UV light.

What is meaning of term byte stuffing, The term byte stuffing refers to: ...

The term byte stuffing refers to: The term byte stuffing consider as to data stuffing used along with character -oriented hardware.

menu-driven program, Write a menu-driven program to change a time in secon...

Write a menu-driven program to change a time in seconds to other units (minutes, hours, etc.).  The main script will loop to continue until the user chooses to exit.  Every time in

What is binary search, Binary Search: Search a sorted array by repeatedly i...

Binary Search: Search a sorted array by repeatedly in-between the search interval in half. Start with an interval covering the entire array. If the value of the search key is less

Processor technology , Processor Technology: Computers consist of elec...

Processor Technology: Computers consist of electronic components assembled in a design or "architecture" that will perform necessary functions of input, output, computation an

Explain virtual packets, Explain Virtual Packets. The router can't tran...

Explain Virtual Packets. The router can't transfer a copy of a frame from one kind of network to other since the frame formats be different. More significantly, the router cann

Explain the acceptance and request determination, Explain the Acceptance an...

Explain the Acceptance and Request Determination As we have learned, much of the overhead in client-server interaction occurs in the CSInteface, either client or server. It is

What is shared memory programming, Q. What is Shared Memory Programming? ...

Q. What is Shared Memory Programming? We know all processors share a common memory in shared memory model. Every processor can be assigned a separate portion of program stored

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