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

Explain sequential sharing, Explain Sequential Sharing In this sharing ...

Explain Sequential Sharing In this sharing method, a file can be shared by just one program at a time, i.e. file accesses by P1 and P2 are spaced out over time. A lock field ca

Assembly langaauge microprocessor, write alp to perform bcd addition withou...

write alp to perform bcd addition without using procedure

Define a gate fix asic-based design in short, Define a Gate Fix ASIC-based ...

Define a Gate Fix ASIC-based design in short. Gate Fix ASIC-based design: A Gate Fix implies that a select number of gates and their interconnections may be subtracted or ad

Define synchronization latency problem, Q. Define Synchronization Latency P...

Q. Define Synchronization Latency Problem? If two simultaneous processes are executing remote loading then it's not recognized by what time two processes will load as issuing p

Explain priority encoder with an example, Explain Priority encoder with an ...

Explain Priority encoder with an example. Ans. Priority encoder- Basically an encoder is a combinational circuit which performs the inverse operation of a decoder. The inp

Explain cgi standard, Explain CGI standard. The CGI Standard: Techno...

Explain CGI standard. The CGI Standard: Technology utilized for building dynamic web documents is termed as Common Gateway Interface (CGI). The CGI standard gives how a serv

Engineering and scientific software, Engineering and Scientific Software ...

Engineering and Scientific Software Engineering  and  Scientific  software  has  been  characterized  with "number crunching" algorithms. Application starts from astronomy t

What is state and state diagram, What is state and state diagram? A sta...

What is state and state diagram? A state is an abstraction of values and links of an object. Set of values and links are grouped together into a state according to the group be

What do you mean by perfect shuffle permutation, Q. What do you mean by Per...

Q. What do you mean by Perfect Shuffle Permutation? Perfect Shuffle Permutation: It was proposed by Harold Stone (1971). Consider N objects each is represented by n bit number

How many flip flops are required to construct decade countr, How many flip ...

How many flip flops are required to construct a decade counter ? Ans. 4 FlipFlop's are required because decade counter counts 10 states from 0 to 9 (that is from 0000 to 1001).

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