Create an HLA Assembly language program that prompts for three integers from the user. Create and call a function that returns in DX the value of the parameter in middle of the three. In order to receive full credit, after returning back to the caller, your function should not change the value of any register other than DX. Implement the function whose signature is: procedure middleFinder( value1 : int16; value2 : int16; value3 : int16 ); @nodisplay; @noframe; Here are some example program dialogues to guide your efforts:
Create an HLA Assembly language program that prompts for three integers from the user. Create and call a function that returns in DX the value of the parameter in middle of the three. In order to receive full credit, after returning back to the caller, your function should not change the value of any register other than DX. Implement the function whose signature is:
procedure middleFinder( value1 : int16; value2 : int16; value3 : int16 ); @nodisplay; @noframe;
Here are some example program dialogues to guide your efforts:
Provide value1: 3
Provide value2: 8
Provide value3: 1
The middle value is 3!
Provide value1: 18
Provide value2: 33
Provide value3: 120
The middle value is 33!
In an effort to help you focus on building an Assembly program, I’d like to offer you the following C statements which match the program specifications stated above. If you like, use them as the basis for building your Assembly program.
SAMPLE C CODE:
------------------------
int middleFinder( int a, int b, int c );
int main( )
{
int value1, value2, value3, result;
printf( "Provide value1: " );
scanf( "%d", &value1 );
printf( "Provide value2: " );
scanf( "%d", &value2 );
printf( "Provide value3: " );
scanf( "%d", &value3 );
result = middleFinder( value1, value2, value3 );
printf( "The middle value is %d!\n", result );
return( 0 );
}
int middleFinder( int a, int b, int c )
{
int result;
// Compare each three number to find middle
// number. Enter only if a > b
if (a > b)
{
if (b > c)
result = b;
else if (a > c)
result = c;
else
result = a;
}
else
{
// Decided a is not greater than b.
if (a > c)
result = a;
else if (b > c)
result = c;
else
result = b;
}
return( result );
}
Trending now
This is a popular solution!
Step by step
Solved in 7 steps