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

Threads, First, remember that different processes keep their own data in di...

First, remember that different processes keep their own data in distinct address spaces. Threads, on the other hand, explicitly share their entire address space with one another. A

Explain about local area network, Q. Explain about Local Area Network? ...

Q. Explain about Local Area Network? Local Area Network (LAN):  It is privately owned communication systems that cover up a small area, say a complex of buildings or school. Le

Drawback of indirect addressing, Q. Drawback of indirect addressing? • ...

Q. Drawback of indirect addressing? • Drawback of this scheme is that it needs two memory references to fetch actual operand. First memory reference is to fetch the actual addr

Explain virtual address, What is virtual address? The binary address th...

What is virtual address? The binary address that the processor used for either instruction or data known as virtual address.

Various connectivity option available to internet subscriber, What are the ...

What are the various connectivity options available to Internet Subscribers? Internet Connectivity Options: Internet access is perhaps one of the most admired services that

First-order inference rules, First-Order Inference Rules: Here now we ...

First-Order Inference Rules: Here now we have a clear definition of a first-order model is that we can define soundness for first-order inference rules in the same way such we

Update -task updates, Update -task updates are Asynchronous updates.

Update -task updates are Asynchronous updates.

Logical database structure, It is not essential to maintain the Parent-Chil...

It is not essential to maintain the Parent-Child relationship among the tables in Logical Database Structure. False. One has to handle the Parent-Child relationship.

Sorting using interconnection networks, The combinational circuits employ t...

The combinational circuits employ the comparators for comparing the numbers and storing them on the basis of maximum and minimum functions. Likewise in the interconnection networks

Explain the various interface circuits, Explain the various interface circu...

Explain the various interface circuits.  An I/O interface having of circuitry required to connect an I/O device to computer bus. One side having of a data path with its associa

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