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 SR latch using nor gates, Q. Explain SR Latch using NOR gates? ...

Q. Explain SR Latch using NOR gates? Let's inspect the latch more closely.   i. Suppose initially 1 is applied to S leaving R to 0 at this instance. The instant S=1 output o

Illustrate what is a ion pair energy, Q. Illustrate what is a ion pair ener...

Q. Illustrate what is a ion pair energy? Answer:- Ion energy contains electric charges called protons (+) and neutrons (0) and electrons (-) charges. It's present in an at

What is write-back or copy-back protocol, What is write-back or copy-back p...

What is write-back or copy-back protocol? For a write operation using this protocol during write-hit: the method is to update only the cache and to mark it as updated with an a

Placement algorithm - process allocation, Placement algorithm - computer ar...

Placement algorithm - computer architecture: Different strategies can be taken as to how space is allocated to processes: First fit : Allocate the first hole that is la

Explain traffic handling capacity, Traffic Handling Capacity is given by ...

Traffic Handling Capacity is given by (A)  Switching capacity × Theoretical maximum load (B)  Switching capacity / Theoretical maximum load (C)  Theoretical maximu

What is a data class, What is a Data Class? The Data class verifies in ...

What is a Data Class? The Data class verifies in which table space the table is stored when it is formed in the database

What is the pcm pulse or symbol transmission rate, An analog information si...

An analog information signal, whose maximum frequency is 6000Hz, is to be transmitted using a PCM system. The quantization error must not exceed the ±1 % of the peak-topeak analog

Allocation of bits among opcode and operand, Allocation of Bits among Opcod...

Allocation of Bits among Opcode and Operand The trade-off here is between numbers of bits of opcode vs. the addressing capabilities. An interesting development in this regard i

Explain the page stealer and the fault handler, How the Kernel handles both...

How the Kernel handles both the page stealer and the fault handler? The page stealer and the fault handler thrash because of the shortage of the memory. If the sum of the worki

What is EDO RAM, What is EDO RAM A minor modification to the structure ...

What is EDO RAM A minor modification to the structure of the DRAM changes the device into an EDO (extended data output) DRAM device. In EDO memory, any memory access, including

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