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 a diagonalization language ld, What is a Diagonalization language L...

What is a Diagonalization language LD?  The  diagonalization  language  having  of  all  strings  w  such  that  the  TM  whose  code is w does not accept when w is given as in

Feature Extraction and clustering, Hi, It is a data mining project I have ...

Hi, It is a data mining project I have a CSV file that has numbers data set. The data set contains images of handwritten digits. Recognizing handwritten digits is already a mature

Provision for data buffering, Data buffering is quite helpful for purpose o...

Data buffering is quite helpful for purpose of smoothing out gaps in speed of processor and I/O devices. Data buffers are registers that hold I/O information temporarily. I/O is pe

Define compilers and interpreters with high level language, Define compiler...

Define compilers and interpreters with high level language? Both compilers and interpreters are available for most high-level languages. Though LISP and BASIC are in particular

State and prove demorgan’s first theorems, State and prove Demorgan’s First...

State and prove Demorgan’s First theorems: Ans. Statement of First Theorem of De Morgan: = A‾. B‾   Proof: The two sides of the equation i.e. = is represented with logic

What are set up time & hold time constraints, What do they signify Which on...

What do they signify Which one is critical for calculating maximum clock frequency of a circuit? Ans) Set up time constraint implies how late the input signal can arrive befor

Push and pop, Suupose a stack-oriented processor that haves the stack opera...

Suupose a stack-oriented processor that haves the stack operations PUSH and POP.  Arithmetic operations automatically involve the top one or two stack elements. Starting with an

Slot machine, A special Slot Machine is introduced in a new casino; this ma...

A special Slot Machine is introduced in a new casino; this machine has a digital interface of a 3X3 grid. An interface button named as SPIN for making the machine spin. There are f

What do you mean by term procedure, What do you mean by term procedure? Dif...

What do you mean by term procedure? Differentiate between far call and near call? PROC: PROC and ENDP directives indicate the start and end of a procedure. These directives for

Basic of C, write algorithm and draw flowchart for exchange the values of t...

write algorithm and draw flowchart for exchange the values of two variables.

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