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

Describe data parallel model, Describe Data Parallel Model? In data par...

Describe Data Parallel Model? In data parallel model most of parallel work concentrates on performing operations on a data set. Data set is characteristically organised in a co

Determine the list of micro-operations, Micro-Operations A micro-operat...

Micro-Operations A micro-operation is an basic operation which is performed on data stored in registers. We can classify micro-operations into four categories: 1. Register t

Simple assembly programs, Data Transfer Two most fundamental data trans...

Data Transfer Two most fundamental data transfer instructions in 8086 microprocessor are XCHG and MOV. Let's give illustrations of the use of these instructions. Program 1:

Explain about ALU organisation, ALU ORGANISATION An ALU performs simple...

ALU ORGANISATION An ALU performs simple arithmetic and logic operation as well as shift operations. Complexity of an ALU relies on the type of instruction set for that it has b

Concept of pipelining, Describe the concept of pipelining. Ans: Pipeli...

Describe the concept of pipelining. Ans: Pipelining is the means of executing machine instructions concurrently. This is the effective way of organizing concurrent activity in

Explain optimizing transformations, Explain optimizing transformations? ...

Explain optimizing transformations? Optimizing transformations: It is a rule for rewriting a segment of a program to enhance its execution efficiency without influencing i

Low level language program, The commands (instructions) are native instruct...

The commands (instructions) are native instructions to the 68HC11 and therefore it is termed a low level language program. Examining the program the instructions (mnemonics) they a

#chemistry, Please explain the construction and working of calomel electrod...

Please explain the construction and working of calomel electrode..

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

Determine the disadvantages of fact finding, Determine the Disadvantages of...

Determine the Disadvantages of fact finding -  People are usually uncomfortable being watched and may work in a different way -  What they are watching may not be represent

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