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 system conception, What is system conception? It deals with gen...

What is system conception? It deals with genesis of an application and formulating tentative needs. The purpose of the system conception is to defer details and understand what

What is redundant array of independent disks, What is Redundant Array of In...

What is Redundant Array of Independent Disks? Researchers are constantly trying to improve secondary storage media by raising their, performance, capacity as well as reliabilit

Cryptography, 1. Consider the one-time pad encryption scheme to encrypt a 1...

1. Consider the one-time pad encryption scheme to encrypt a 1-bit message m, and assume m is chosen with uniform distribution from message space M={0,1}. Let E1 be the event "messa

Dataset accept changes and data adapter update method, Explain Dataset Acce...

Explain Dataset Accept Changes and Data Adapter Update methods?  Data Adapter Update method Calls the respective INSERT, UPDATE, or DELETE statements for every inserted, update

Characteristics and features of client/server computing, What are the chara...

What are the characteristics and features of Client/Server Computing? Several of client/server computing architecture is listed below: a. It comprises a networked webs of sm

Depth in cutoff search, Depth in Cutoff search: The depth is chosen in...

Depth in Cutoff search: The depth is chosen in advance to certify in which the agent does not capture much more long to choose a move: however, if it has longer, well then we

Explain all the categories of common control switching, Explain all the cat...

Explain all the categories that are served by Common Control switching. Common Control Switching System: It is a functional block diagram of a common control switching system i

Java program , Q.--> The program simulates a student management system havi...

Q.--> The program simulates a student management system having thE following:The interface uses command buttons to (i) add,edit,delete,update and cancel the records, (ii) to naviga

What is the significance of the screen number ''0'', What is the significan...

What is the significance of the screen number '0'? In "calling mode", the special screen number 0 (LEAVE TO SCREEN 0) causes the system to jump back to the last call level.  Th

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