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

Cutoff search - artificial intelligence, Cutoff Search : To require a ...

Cutoff Search : To require a mini and max search in a game on stage situation is, in which all we have is just do that programme our agent to look at the intact that search tr

Problems for decision tree learning, A ppropriate Problems for Decision Tr...

A ppropriate Problems for Decision Tree Learning - Artificial intelligence It is a expert job in AI to select accurately the right learning representation for a particular lea

standard console application, Three projects as follows: a. Life  stati...

Three projects as follows: a. Life  static library, code for every needed  function in the Life program. b. LifeGame  .exe application, i.e., a standard console application t

What is sensitivity list, What is sensitivity list? A list of signals w...

What is sensitivity list? A list of signals which trigger execution of the block when they change value. Sensitivity list  indicates that when a change occurs to any one of

Explain non-uniform memory access model (numa), Non-Uniform Memory Access M...

Non-Uniform Memory Access Model (NUMA) In shared memory multiprocessor systems, local memories are able to be connected with every processor. The collection of all local

Which technique is an encryption technique, Which technique is an encryptio...

Which technique is an encryption technique? Ans. Block cipher technique and also Steam cipher technique is an encryption technique.

What is Video Card Interfaces, Q. What is Video Card Interfaces? A video i...

Q. What is Video Card Interfaces? A video interface is the link of video system to rest of the PC. To improve video performance there is required to be an intimate connection betw

Hard-disk acquisition, Problem (a) Forensic methodology consists of t...

Problem (a) Forensic methodology consists of three phases. Briefly explian these three phases. (b) Sometimes it's best not to perform hard-disk acquisition. Provide two

Number used as operand data type, Q. Number used as operand data type? ...

Q. Number used as operand data type? Numbers: All machine languages comprise numeric data types. Numeric data generally use one of the three representations: o Floating po

Explain about double error detection bit, Q. Explain about Double Error Det...

Q. Explain about Double Error Detection bit? Let's presume now that two bit errors take place in data. Data received: So on -matching we conclude P3-D3 pair doesn't

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