Question

In: Computer Science

Write a procedure to calculate Average of numbers(integers) using Arrays. Send base address of array in...

Write a procedure to calculate Average of numbers(integers) using Arrays. Send base address of array in register $a1 and Array length in register $a2 to the procedure and return Average in register $v0 to main program.

Solutions

Expert Solution

Below code is tested on MIPS64 gcc 5.4 version . Please run below given code on this compiler and if not then make necessary changes to run on your platform. Thanks

.LC0:

.word 20

.word 3

.word 5

.word 4

.word 2

main:

daddiu $sp,$sp,-64

sd $31,56($sp)

sd $fp,48($sp)

sd $28,40($sp)

move $fp,$sp

lui $28,%hi(%neg(%gp_rel(main)))

daddu $28,$28,$25

daddiu $28,$28,%lo(%neg(%gp_rel(main)))

ld $2,%got_page(.LC0)($28)

daddiu $3,$2,%got_ofst(.LC0)

ldl $4,%got_ofst(.LC0)($2)

ldr $4,7($3)

daddiu $3,$2,%got_ofst(.LC0)

ldl $5,8($3)

ldr $5,15($3)

move $3,$5

sd $4,8($fp)

sd $3,16($fp)

daddiu $2,$2,%got_ofst(.LC0)

lw $2,16($2)

sw $2,24($fp)

sw $0,0($fp)

sw $0,4($fp)

.L3:

lw $2,4($fp)

slt $2,$2,5

beq $2,$0,.L2

nop

lw $2,4($fp)

dsll $2,$2,2

daddu $2,$fp,$2

lw $2,8($2)

lw $3,0($fp)

addu $2,$3,$2

sw $2,0($fp)

lw $2,4($fp)

addiu $2,$2,1

sw $2,4($fp)

b .L3

nop

.L2:

lw $5,0($fp)

move $4,$5

move $3,$4

dsll $2,$3,1

move $3,$2

dsll $2,$3,2

dsubu $2,$2,$3

dsll $3,$2,4

daddu $2,$2,$3

dsll $3,$2,8

daddu $2,$2,$3

dsll $3,$2,16

daddu $2,$2,$3

daddu $2,$2,$4

dsrl $2,$2,32

sll $2,$2,0

sra $3,$2,1

sra $2,$5,31

subu $2,$3,$2

sw $2,0($fp)

lw $2,0($fp)

move $5,$2

ld $2,%got_page(.LC1)($28)

daddiu $4,$2,%got_ofst(.LC1)

ld $2,%call16(printf)($28)

move $25,$2

1: jalr $25

nop

move $2,$0

move $sp,$fp

ld $31,56($sp)

ld $fp,48($sp)

ld $28,40($sp)

daddiu $sp,$sp,64

j $31

nop


Related Solutions

A local instructor wants you to write a c++ program using arrays to calculate the average...
A local instructor wants you to write a c++ program using arrays to calculate the average score made on exams by her students. For simplicity, she always has only 12 students in each course she teaches. She teaches multiple subjects so she would like to enter the name of the exam. She wants the program to also determine the highest and lowest scores and the number of students who passed and failed the exam. A score of 60 or above...
Write a procedure that accepts a byte string(base address in $a0, length in $ a1) and...
Write a procedure that accepts a byte string(base address in $a0, length in $ a1) and returns its XOR checksum, defined as the exclusive-OR of all its bytes, in $v0. (by MiniMIPS)
Exercises on Arrays –using C++programming 1. You want an array with the numbers 100 – 105....
Exercises on Arrays –using C++programming 1. You want an array with the numbers 100 – 105. In the boxes below, fill in what your array should have. Fill in the index of each element below it. Array Index Open up your editor and write the following program: Declare an array that has the numbers 100 to 105. (How many elements are there in the array?) Print the array. Save your file and test it. Compare your results with your table...
USING MatLab (Arrays) Set ASIZE to 5. Write a program that creates an array of ASIZE...
USING MatLab (Arrays) Set ASIZE to 5. Write a program that creates an array of ASIZE numeric elements. Prompt the User for ASIZE numbers and store them in the array. After storing the values, calculate the sum of all the values in the array and display the sum. Modify the program you wrote for Problem 5 such that it calculates the product of all the values instead of the sum. Modify the program you wrote in Problem 6 such that...
IN JAVA PLEASE Given an unsorted array numbers of integers with duplicate values. Sort the array...
IN JAVA PLEASE Given an unsorted array numbers of integers with duplicate values. Sort the array and remove the duplicates in-place such that each element appears only once in the input array and returns the new length. Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. Find the time complexity of your removeDuplicates() method in Big-O notation and write that in a comment line on the top...
Problem 1: Unsorted arrays Given an array of integers that is unsorted, implement the following functions:...
Problem 1: Unsorted arrays Given an array of integers that is unsorted, implement the following functions: • myAdd ( ): add an integer d to the array; return 0 if the operation is successful; return a negative number otherwise. • search ( ): given an integer d, if d is found in the array, return the index of the cell containing d. Return a negative number otherwise (e.g., d is not found in the array). • myRemove ( ): Step...
In c++ Array expander Write a function that accepts an int array and the arrays size...
In c++ Array expander Write a function that accepts an int array and the arrays size as arguments. The function should create a new array that is twice the size of the argument array. The function should create a new array that is twice the size of the argument array. The function should copy the contents of the argument array to the new array and initialize the unused elements of the second array with 0. The function should return a...
What's the memory address for the following elements arrays given: Base Address: 1000, Dimensions: 10 rows,...
What's the memory address for the following elements arrays given: Base Address: 1000, Dimensions: 10 rows, 5 columns, 4 byte elements. Elements: 0,0; 9,4; 2,2; 4,1; Base Address: 500, Dimensions: 10 rows, 15 columns, 4 byte elements. Elements: 0,0; 9,14; 2,2; 4,11; Base Address: 800, Dimensions: 4 rows, 5 columns, 2 byte elements. Elements: 0,0; 3,4; 2,2; 3,4;
1) Write a function searchValue that accepts an array of integers, the size of the array,...
1) Write a function searchValue that accepts an array of integers, the size of the array, and an integer. Find the last occurrence of the integer passed in as an input argument in the array. Return the index of the last occurrence of the value. If the value is not found, return a -1 2) Write the line of code to call the previous function assuming you have an array vec with length n, and are looking for the number...
Write a C++ program to do the following USING ARRAYS 1) input 15 integers (input validation...
Write a C++ program to do the following USING ARRAYS 1) input 15 integers (input validation , all numbers must be between 0 and 100) 2) find the largest number 3) Find the Smallest Number 4) Find the Sum of all numbers in the Array Display: as per the user's section (menu using switch or if else ) Largest Number Smallest Number Sum of all numbers the original Array DO NOT USE METHODS OR FUNCTIONS Submit: Source code (C++) output...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT