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 the term- wire and register, What is the difference between wire an...

What is the difference between wire and reg? Net types: (wire,tri)Physical connection between structural elements. Value assigned by a continuous assignment or a gate output.

OS, why we say OS is a resource allocator and control program

why we say OS is a resource allocator and control program

Vector-vector instructions-vector processing, Vector-Vector Instructions ...

Vector-Vector Instructions In this type, vector operands are fetched by the vector register and saved in another vector register. These instructions are indicated with the foll

Three firm capabilities that are performance in e-commerce, Three firm capa...

Three firm capabilities that are critical for superior firm performance in e-commerce are:- 1.  Information technology capability,  2.  Strategic flexibility, and  3.  Tr

What are the two phases in the advancement of linux, What are the two phase...

What are the two phases in the advancement of Linux? State some Applications of Open Source Systems? Finance Educational Data Storage and Management ERP (Ent

Hard disk technology - computer architecture, Hard Disk Technology: Fi...

Hard Disk Technology: Figure of a computer hard disk drive           HDDs record data by magnetizing ferromagnetic material directionally, to represent

Determine a program that is in execution, Determine a program that is in ex...

Determine a program that is in execution is known as Program in execution is known as Process

Xor gate, The XOR gate. The exclusive OR or XOR gate is similar to a tw...

The XOR gate. The exclusive OR or XOR gate is similar to a two input OR gate. The output of an XOR gate is logic 1 only when one input or the other input is high and is 0 when

Explain about karnaugh maps, Q. Explain about Karnaugh Maps? Karnaugh m...

Q. Explain about Karnaugh Maps? Karnaugh maps are a suitable way of expressing and simplifying Boolean function of 2 to 6 variables. The stepwise process for Karnaugh map is.

List criteria of data structures used in language processing, List the crit...

List the criteria on the basis of which data structures used in language processing can be classified. In language processing the data structures utilization can be classified

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