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 is called dhcp, DHCP stands for? DHCP that is stands for Dynamic H...

DHCP stands for? DHCP that is stands for Dynamic Host Configuration Protocol.

Induction that your closed formula , Show by induction that your closed for...

Show by induction that your closed formula from (c) is the number of times that the given statement is implemented for a problem of size n.Note: if your proof is easily  a proof th

Characters in vi editor, What is the command used to replace many character...

What is the command used to replace many characters in Vi Editor? Ans) For replace most of the character in vi editor press esc key and then press R for change many character.

Illustrate control and timing signals, Q. Illustrate control and timing sig...

Q. Illustrate control and timing signals? The requirement of I/O from different I/O devices by processor is quite unpredictable. In fact it relies on I/O needs of particular pr

Why a linked list is called a dynamic data structure, Why a linked list is ...

Why a linked list is called a dynamic data structure? What are the advantages of using linked list over arrays?    A linked list is known as a dynamic data structure because it

What is a kernel shell, A shell is a program that presents an interface to ...

A shell is a program that presents an interface to several operating system functions and services. The shell is so called because it is an outer layer of interface among the user

What is delay system, What is Delay System? Delay System: A class of ...

What is Delay System? Delay System: A class of telecommunication networks like data a network that places the call or message arrivals in a queue in the lack of resources, an

What is the difference between thread and process, What is the difference b...

What is the difference between thread and process?  Thread - is used to execute more than one program at a time. process - executes single program A thread is a path of e

What are the steps followed in testing, What are the steps followed in test...

What are the steps followed in testing? i. Unit testing - The individual components are tested in this method of testing. ii. Module testing - Related collection of independ

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