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

Computer networks, distributed & centralized system in computer network

distributed & centralized system in computer network

Expalin johnson counter, Write short note on the Johnson counter. Ans:...

Write short note on the Johnson counter. Ans:  Johnson Counter: It is a synchronous counter, where all flip-flops are clocked concurrently and the clock pulses drive the

Dynamic programming, The fi rst task will involve doing a little background...

The fi rst task will involve doing a little background reading on Dynamic Programming to get up to speed. The second task is to write the code: Search Space Write a function whi

Computer graphics, what isAdvantages of scan line algorithm, Computer Graph...

what isAdvantages of scan line algorithm, Computer Graphics?

Write a program to echo the string, Write a program to echo the string 'Hel...

Write a program to echo the string 'Hello' to the serial channel (SCI) using the protocol of baud rate 9600,8 bits , no parity and 1 stop bit  Consider the baud register as show

What is a heap, What is a heap? The heap is an area of memory that is ...

What is a heap? The heap is an area of memory that is dynamically allocated. As a stack, this may grow and shrink throughout runtime. Not like a stack, a heap is not LIFO show

What are the advantages of open source system, What are the advantages of o...

What are the advantages of open source system? High-quality software Lesser hardware costs Integrated management No vendor lock-in Take control of our softwa

Starting parallel virtual machine, Q. Starting parallel virtual machine? ...

Q. Starting parallel virtual machine? To initialize PVM on any host on that PVM has been installed we can type  % pvm The PVM console known as pvm is a standalone PVM t

C-programing, c-program for the minimum total number of shelves

c-program for the minimum total number of shelves

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