Given the INPUT:
• An array of 64-bit unsigned integer elements stored in the memory starting at a known
location SOURCE.
• The size of the array (i.e., number of elements) stored in location SIZE.
2. Write MIPS assembly language code to:
• Sort the array elements in increasing order (using any algorithm of your choice for
sorting).
• Then create groups of contiguous elements in the sorted array such that:
o The difference between the pair of smallest and largest elements in each group is
26
smaller than 2 .
o Each group contains the largest number of contiguous elements that satisfy the
preceding condition.
3. Produce the following OUTPUT:
• The sorted array stored in NEW_ARRAY.
• GROUPS: The number of groups.
• An array OFFSETS containing the offset of the first element in each group.
4. Simulate the execution of your code using QTSPIM for the input on the next page.