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

What are the types of smart cards used in e-commerce, What are the types of...

What are the types of Smart cards used in e-commerce? Generally there are 2 types of smart cards. Memory smart cards, which can be sighted as minuscule removable read/ write

What is external interrupt, External Interrupt: Interrupt signal came ...

External Interrupt: Interrupt signal came from input-output devices connected external to processor. These interrupts depend on external conditions that are independent of the

Define miss penalty, Define miss penalty? The extra time required to br...

Define miss penalty? The extra time required to bring the desired information into the cache is known as miss penalty.

Define dma, Define DMA. The transfer of data among a fast storage devic...

Define DMA. The transfer of data among a fast storage device such as magnetic disk and memory if often limited by the speed of the CPU. Removing the CPU from the path and letti

What are the reasons behind using intranet, Reason behind using Intranet ...

Reason behind using Intranet The major reasons for doing this include: -  Safer as there is less chance of external viruses or hacking -  It's possible to prevent employe

Explain the working of bcd adder, Explain the working of BCD adder One ...

Explain the working of BCD adder One of the ways of adding decimal numbers in BCD is to use a 4-bit binary adder and perform arithmetic operation one digit at a time. The low-o

Determine grade of service is given worse service or not, The larger the Gr...

The larger the Grade of Service, the worse is the service given, it is true or false. Ans: It is true that larger the Grade of Service, the worse service is provided.

Traditional schema model, (a) Why did SAP introduce the extended star schem...

(a) Why did SAP introduce the extended star schema? Explain why it is reported to be better than the traditional schema model? (b) What is the difference between a dimension use

What is concurrent control, What is concurrent control? Control resides...

What is concurrent control? Control resides concurrently in various independent objects, every a separate task. A task can wait for input but other task continues implementatio

What is rambus dram, Q. What is Rambus DRAM? RDRAM which was developed ...

Q. What is Rambus DRAM? RDRAM which was developed by Rambus has been adopted by Intel for its Pentium and Itanium processors. It has become main competitor to SDRAM. RDRAM chip

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