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

Design a bcd to seven segment decoder, Design a BCD to seven segment decode...

Design a BCD to seven segment decoder that accepts a decimal digit in BCS and generates the appropriate output for segments in display indicator. Ans: BCD-TO-seven-Segment

Microcontrollers (mcu), Main Objectives: Uploading codes into the mi...

Main Objectives: Uploading codes into the microcontrollers Interfacing between both microcontrollers via I 2 C Reading and writing into various ports on the MCU Int

Evaluate expression by using convention , Evaluate x = A ‾.B + C ( ) usin...

Evaluate x = A ‾.B + C ( ) using the convention A = True and B = False. Ans. Simplify given expression x = A ‾ .B + C ( ) as = A ‾ B + C (A ‾ + D ‾ ) (As = A ‾ +D ‾ usin

What is connection, An established communication session among a server and...

An established communication session among a server and a workstation.

What is dot pitch of a CRT, Q. What is Dot Pitch of a CRT? Dot Pitch of...

Q. What is Dot Pitch of a CRT? Dot Pitch of a CRT is the distance between phosphor dots of same colour. In Trinitron screens, the term Slot Pitch is used in place of Dot Pitch

Connectives - first-order logic , Connectives - first-order logic: We ...

Connectives - first-order logic: We can string predicates all together in a sentence by using connectives into the same way to conduct that we did for propositional logic. We

Computer, How does computer started?

How does computer started?

Why is green screen more popular for compositing, Question: (a) Explain...

Question: (a) Explain clearly, from pre-production to post production how you would carry out the scene with multi-camera. (b) What are the there main aspects that should be

Explain the differences between paging and segmentation, Explain the differ...

Explain the differences between Paging and segmentation. Paging and segmentation P aging Segmentation Computer memory is separa

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