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

A global variable is a variable, A global variable is a variable A globa...

A global variable is a variable A global variable is declared outside the body of each function.

Timing in mpi program, Q. Timing in MPI program? MPI_Wtime ( ) returns ...

Q. Timing in MPI program? MPI_Wtime ( ) returns lapsed wall clock time in seconds because some random point in past. Elapsed time for program section is given by difference bet

Why does ipv6 use separate extension headers, Why does IPV6 use separate ex...

Why does IPV6 use separate extension headers? Explain. The extension headers in Ipv6 are utilized for economy and extensibility. Partitioning the datagram functionality in sepa

Explain use of parallel sections construct, Q. Explain use of parallel sect...

Q. Explain use of parallel sections construct? This illustration explains use of parallel sections construct. Three functions, fun1, fun2, and fun3, all can be executed simulta

Basic operational concepts of a computer, Basic Operational Concepts of a C...

Basic Operational Concepts of a Computer: Most of computer operations are executed in the ALU (arithmetic and logic unit) of a processor. For an example: to add 2 numb

Logic diagrams for same boolean expression, Q. Logic diagrams for same Bool...

Q. Logic diagrams for same Boolean expression? The expression F can be simplified using Boolean algebra. The logic diagram of simplified expression is drawn in fig (b)

Computer Architecture, As an advocate of CISC architecture to RISC architec...

As an advocate of CISC architecture to RISC architecture, what are the merits and demerits of CISC to RISC architecture

C++, luminous jewels polishing game

luminous jewels polishing game

Common problem with hill climbing, Common problem with Hill climbing: ...

Common problem with Hill climbing: An alternative way of justifying the problem is that the states are boards with 8 queens already on them, so an action is a movement of one

Control dependence, Control Dependence Segments or Instructions in a pr...

Control Dependence Segments or Instructions in a program may obtain control structures. Thus, dependency between the statements can also be in control structures. But the order

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