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

Instruction cycle-flynn’s classification, Instruction Cycle The instruc...

Instruction Cycle The instruction cycle consists of a series of steps needed for the implementation of an instruction in a program. A typical instruction in a program is descri

Explain 16-bit ROM array, Draw the logic diagram of 16-bit ROM Array and ex...

Draw the logic diagram of 16-bit ROM Array and explain its principle of operation. Ans: 16-bit ROM Array: A ROM that is read-only memory is an array of selectively closed

Full adder, design a FULL adder with two half adders and an or gate

design a FULL adder with two half adders and an or gate

Datastructure, deque insertion and deletion ..

deque insertion and deletion ..

Why erlang is used, Erlang is used to (A) Measure busy period         ...

Erlang is used to (A) Measure busy period                (B) Give total busy period in minutes (C)  Measure average call rate       (D) Indicate total call period Ans

what is feram?, Ferroelectric RAM is a random-access memory same in constr...

Ferroelectric RAM is a random-access memory same in construction to DRAM but uses a ferroelectric layer rather of a dielectric layer to achieve non-volatility. FeRAM is one of a gr

Explain frequency-division multiplexing, Q. Explain Frequency-division mult...

Q. Explain Frequency-division multiplexing? Frequency-division multiplexing (FDM) is a technique for data transmission widely used in telephone, radio, and cable TV systems in

Setjmp and longjmp, How does throwing and catching exceptions differ from u...

How does throwing and catching exceptions differ from using setjmp and longjmp? Ans) The throw operation calls the destructors for automatic objects instantiated as entry to th

Define organizing, Q. Define Organizing? Grouping of related activities...

Q. Define Organizing? Grouping of related activities together, Identification of required activities and forming departments and coordinating various departments with the estab

What do you mean by removable drives, A disk drive with removable disks is ...

A disk drive with removable disks is known as removable drive. A removable disk can be replaced by other similar disk on same or different computer so providing huge data storage w

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