Please make sure to code in Raspberry pi 4 and use theArmv7 assembly subroutine.

Please make sure to code in Raspberry pi 4 and use theArmv7 assembly subroutine.

Please make sure to code in Raspberry pi 4 and use theArmv7 assembly subroutine.
Task: Write the ARMv7 assembly subroutine: dist.
(a) On Canvas is a file, driver09.c, that you will use as the C program that calls your
assembly subroutines. While you can modify this file any way that you wish, note that
I will use my own C program to call your subroutines with whatever test cases I choose.
Ultimately, your subroutines should conform to the function declarations and notes given
below.
(b) Don’t tie your logic to the particular data in driver09.c.
(c) You will put your subroutine in the file hw09.s (the filename should match this exactly,
including the case of the characters).
(d) Write the assembly subroutine corresponding to this C function declaration:
double dist(struct point *p1, struct point *p2);
// the x/y coordinates of two points are passed, with each point in
// its own structure
// returns Euclidean distance between the points
(e) The Euclidean distance between points (x1, y1) and (x2, y2) is √(x1 − x2)2 + (y1 − y2)2.
(f) The values in the structure are stored as floats. In your program, convert the coordi-
nates to 64-bit floating point before you begin calculating the Euclidean distance.
(g) Remember that if in your subroutines you choose to store information in registers other
than R0-R3 or S0-S15, then you must preserve their values before doing so and restore
the values before the subroutine ends.
Note the following:
1. We are using ARMv7 assembly and the GNU C compiler on the 32-bit Raspberry Pi.
2. Each submitted program should conform to the compilation process that we did in class. That
is, I should be able to do the following, assuming your subroutines file is called hw09.s:
gcc driver09.c hw09.s
3. If you submit code that I think was produced by a compiler, chatGPT, someone on Chegg,
etc., then you will not receive credit.
4. As a comment in your subroutine file, include your name.
5. To submit, create a directory with a name that matches your net ID (for example, abc1234)
in lowercas