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

How optimization is achieved in dns, How optimization is achieved in DNS? ...

How optimization is achieved in DNS? Two primary optimizations used in DNS and they are: replication and caching. All root servers is replicated; various copies of the server

Voice identifier - biometric computer security systems, Voice Identifier - ...

Voice Identifier - Biometric Computer Security Systems Besides fingerprint, another popular security technology is voice identifier. According to VSS organization (2007), voic

Is the data bus is bi-directional, The data bus is Bi-directional because t...

The data bus is Bi-directional because the similar bus is used for transfer of data among Micro Processor and memory or input / output devices in both the direction.

Write the truth table for a clocked J-K flip-flop, Write the truth table fo...

Write the truth table for a clocked J-K flip-flop that is triggered by the positive-going edge of the clock signal. Ans. Logic diagram of JK flip flop Truth T

Why a function canot have delays, Why a function canot have delays? How...

Why a function canot have delays? However in Open Vera, delays are allowed in function. A function returns a value and hence can be used as a part of any expression. This doesn

Average waiting time, Customer arrivals at a gas station can be characteriz...

Customer arrivals at a gas station can be characterized by exponential distribution with mean of 10 minutes. The amount of time they take to pump gas can be characterized by an ex

Explain the concept of overriding, What is overriding? Overriding is an...

What is overriding? Overriding is an inherent part of association. It can show an ordered set of objects by writing {ordered} next to the appropriate association end. In 200

Generates sequence code, The basic project will have each group generate a ...

The basic project will have each group generate a sequence of 1's and 0's using  the Motorola 688HC11 board to turn ON and then turn OFF the TV set installed in ATRC 306. Each tele

What is race-around problem and how can you rectify this, What is Race-arou...

What is Race-around problem? How can you rectify this? The clock pulse which remains into the 1 state whereas both J and K are equal to 1 will reason the output to complement a

The need of parallel computation, The Need Of Parallel Computation With...

The Need Of Parallel Computation With the advancement of computer science (CS), computational speed of the processors has also improved many a time. Moreover, there is certain

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