Question: PROGRAMMING ASSIGNMENT: Write a fully-commented assembly program for the Dragon12 board called Lab4.asm. Henceforth, comments should mostly describe WHAT you are accomplishing toward solving the

 PROGRAMMING ASSIGNMENT: Write a fully-commented assembly program for the Dragon12 board

PROGRAMMING ASSIGNMENT: Write a fully-commented assembly program for the Dragon12 board called Lab4.asm. Henceforth, comments should mostly describe WHAT you are accomplishing toward solving the problem, not only HOW each instruction works alone. 1. Use directives to create an array of data bytes: $25, $92, $74, $18, $81 and $62 stored in contiguous memory at locations $1000-$1005. The array's starting address is referred by the word "data". 2. Use directives to reserve appropriate space for all the results as indicated in the steps below. Use Mult1, Mult2, Rem1, Rem2, Quol, and Quo2. 3. Multiply the last two bytes (unsigned) of the array together and store the unsigned word result in Mult1. 4. Multiply the signed word at $1002 by the signed word at $1004 and store the result at Mult2. Mult2 is two words. You can use Mult2 to write to the first word and Mult2+2 to write to the second word. Remember: the assembler will replace Mult2 with the address it refers to. 5. Perform unsigned division of the long word result Mult2' by the unsigned word stored at $1000. Store the remainder at Reml and the quotient at Quol. Long word means two words. Page 1 of 3 ECE 3130 Lab 4-Advanced Arithmetic Programming 6. Perform signed division of the word stored at $1001 by the word at $1003 and store the remainder at Rem2 and quotient at Quo2. 7. Decrement one from the first element in the array. 8. Increment the second element in the array by one. 9. Complement the third element. 10. Negate the fourth element. 11. Clear the fifth element. PROGRAMMING ASSIGNMENT: Write a fully-commented assembly program for the Dragon12 board called Lab4.asm. Henceforth, comments should mostly describe WHAT you are accomplishing toward solving the problem, not only HOW each instruction works alone. 1. Use directives to create an array of data bytes: $25, $92, $74, $18, $81 and $62 stored in contiguous memory at locations $1000-$1005. The array's starting address is referred by the word "data". 2. Use directives to reserve appropriate space for all the results as indicated in the steps below. Use Mult1, Mult2, Rem1, Rem2, Quol, and Quo2. 3. Multiply the last two bytes (unsigned) of the array together and store the unsigned word result in Mult1. 4. Multiply the signed word at $1002 by the signed word at $1004 and store the result at Mult2. Mult2 is two words. You can use Mult2 to write to the first word and Mult2+2 to write to the second word. Remember: the assembler will replace Mult2 with the address it refers to. 5. Perform unsigned division of the long word result Mult2' by the unsigned word stored at $1000. Store the remainder at Reml and the quotient at Quol. Long word means two words. Page 1 of 3 ECE 3130 Lab 4-Advanced Arithmetic Programming 6. Perform signed division of the word stored at $1001 by the word at $1003 and store the remainder at Rem2 and quotient at Quo2. 7. Decrement one from the first element in the array. 8. Increment the second element in the array by one. 9. Complement the third element. 10. Negate the fourth element. 11. Clear the fifth element

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!