Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write an ARM assembly language function (subroutine) that takes a data value stored in register rO and returns a value in r0 as well. The

image text in transcribed

Write an ARM assembly language function (subroutine) that takes a data value stored in register rO and returns a value in r0 as well. The function calculates y -a xx +bxx+c where a, b, and c are signed integer parameters built into the function (i.e., they are not passed to it) and are defined in the memory using three DCD assembly directives. If the value of y is greater than a value d (where d is another parameter defined in the memory using a DCD assembly directive), the function will return the value of d. Otherwise, it will return the value of y. The input value (i.e., the value of r0) is a signed integer value. Apart from r0, no other registers may be modified by this subroutine, i.e., if you want to use any register as a working register, you have to store its value in a safe place first prior changing it, and to restore this value before returning from the function After implementing the function, write an assembly program which loads the value of x from the memory to r0 and calls your function. The value of x is defined in the memory using a DCD assembly directive. Once the control is returned back from the function, the program will double the returned value and store this doubled value in rl Your code should be highly optimized. Use as few instructions as possible (as little as 14 assembly instructions only for both the program and the function.NOT including assembly directives or data definitions)!! Define the data of this program in a separate DATA area. Example 1: if a = 5, b = 6, c = 7, d = 90, and x = 3, Example2: if a = 5, b = 6, c = 7, d 50, and x = 3, Example3: if a =-5, b = 6, c = 7, d = 10, and x = 3, then the returned value in r0 should be 70 and the value in r1 will be 140. then the returned value in r0 should be 50 and the value in r1 will be 100. then the returned value in r0 should be -20 and the value in rl will be -40. Write an ARM assembly language function (subroutine) that takes a data value stored in register rO and returns a value in r0 as well. The function calculates y -a xx +bxx+c where a, b, and c are signed integer parameters built into the function (i.e., they are not passed to it) and are defined in the memory using three DCD assembly directives. If the value of y is greater than a value d (where d is another parameter defined in the memory using a DCD assembly directive), the function will return the value of d. Otherwise, it will return the value of y. The input value (i.e., the value of r0) is a signed integer value. Apart from r0, no other registers may be modified by this subroutine, i.e., if you want to use any register as a working register, you have to store its value in a safe place first prior changing it, and to restore this value before returning from the function After implementing the function, write an assembly program which loads the value of x from the memory to r0 and calls your function. The value of x is defined in the memory using a DCD assembly directive. Once the control is returned back from the function, the program will double the returned value and store this doubled value in rl Your code should be highly optimized. Use as few instructions as possible (as little as 14 assembly instructions only for both the program and the function.NOT including assembly directives or data definitions)!! Define the data of this program in a separate DATA area. Example 1: if a = 5, b = 6, c = 7, d = 90, and x = 3, Example2: if a = 5, b = 6, c = 7, d 50, and x = 3, Example3: if a =-5, b = 6, c = 7, d = 10, and x = 3, then the returned value in r0 should be 70 and the value in r1 will be 140. then the returned value in r0 should be 50 and the value in r1 will be 100. then the returned value in r0 should be -20 and the value in rl will be -40

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

Describe your ideal working day.

Answered: 1 week ago