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

Bit pair recoding and 2’s complement, Explain bit pair recoding with an exa...

Explain bit pair recoding with an example? Ans: Bit pair recoding halves the maximum number of summands. Group the Booth-recoded multiplier bits in pairs and see the following

Function modules are also external subroutines, Function Modules are also e...

Function Modules are also external Subroutines. True.

Drawbacks to having call centres overseas, Drawbacks to having call centres...

Drawbacks to having call centres overseas -  Culture and language problems -  Animosity to overseas call centres (resulting in loss of customers) -  need for extensive r

What is pli, What is PLI Programming  Language  Interface  (PLI)  of  V...

What is PLI Programming  Language  Interface  (PLI)  of  Verilog  HDL  is  a  mechanism  to  interface  Verilog programs  with  programs  written  in  C  language.  It also pro

What is the use and function of file transfer protocol, What is the use and...

What is the use and function of File Transfer Protocol? FTP : File Transfer Protocol (FTP) is the protocol used upon the Internet for sending files and is usually used fo

Internrt application, what is the significance of telecommunications deregu...

what is the significance of telecommunications deregulation for managers and organization

Define processor clock, Define processor clock. Processor clock is expl...

Define processor clock. Processor clock is explained as the time periods in which all operations and data transfer within the processor take place.

Explain space switching, Explain Space Switching. Space Switches: Con...

Explain Space Switching. Space Switches: Connections can be made in between outgoing and incoming PCM highways by a cross point matrix of the form demonstrated in figure. How

Communications between the user and the server, Communications between the ...

Communications between the user and the server A significant enhancement was achieved when communications between the user and the server was sent in encrypted form and later

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