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

Authentication verses firewall, How does an authentication system be differ...

How does an authentication system be different from a firewall into functioning? Authentication verses firewall User Authentication and Authorization A significan

What is open database connectivity, What is Open Database Connectivity (ODB...

What is Open Database Connectivity (ODBC) It happens that in addition to conventional or most popular database management systems, many companies go for proprietary software c

Write the command to show the ip host table, show hosts is the command whi...

show hosts is the command which display the IP host table

Explain internal organization of bit cells in a memory chip, Explain with n...

Explain with neat diagram the internal organization of bit cells in a memory chip. Memory cells are usually organized in the form of an array, in which every cell is capable of

Implementation of arithmetic circuits, Implementation of Arithmetic Circuit...

Implementation of Arithmetic Circuits for Arithmetic Micro-operation  An arithmetic circuit can be implemented by a number of full adder circuits or parallel adder circuits. F

Hashing collision resolution techniques, Hashing collision resolution techn...

Hashing collision resolution techniques are a) Chaining, b) Bucket addressing

What is closed system, Closed System: It's isolated from environment influ...

Closed System: It's isolated from environment influences. It operates on factors within System itself. It is also described as a System which involves a feedback loop, a control e

Explain cache memory, What is cache memory? It is a small, fast memory ...

What is cache memory? It is a small, fast memory that is inserted among large, slower main memory and the processor. It decreases the memory access time

Define about abstraction- object oriented systems, Define about Abstractio...

Define about Abstraction-  object oriented systems Abstraction is one of the most important ideas of object oriented systems Abstraction focus on the necessary, inherent aspec

Explain throughput performance and issues in pipelining, Throughput Thr...

Throughput Throughput of a pipeline may be defined as number of results which have been achieved per unit time. It can be referred as: T = n / [m + (n-1)]. c = E / c Th

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