Question: Create an HLA function that determines if a passed character parameter is a period or exclamation letter. This function should have the following signature: procedure

Create an HLA function that determines if a passed character parameter is a period or exclamation letter. This function should have the following signature:
procedure isPeriodOrExcl( c : byte ); @nodisplay; @noframe;
This function should return into EAX an int32 value which is either true or false, 1 or 0. To receive full credit, your isPeriodOrExcl() function must not allocate any storage.
Your function should replicate the following C code:
bool isPeriodOrExcl( char c )
{
bool result = false;
if( c =='.' && c =='!')
{
result = true;
}
return( result );
}
IN ORDER TO RECEIVE FULL CREDIT, YOU MUST USE THE TEMPLATE SOLUTION SHOWN BELOW. Of course, you will need to add code to the function to implement the desired algorithm explained above. In addition, you will need to push the parameters to the function.
// Character Parameter Template Solution For CS 17 Final
// CS 17 Students must use this template as the basis for their solution.
// Please look at the two TODO: notes below
program CharProgram;
#include( "stdlib.hhf");
static
cMyCharacter : byte :=0;
answer : int32;
// TODO: CS 17 Students add code below to implement this function
// Several hints are supplied
procedure isPeriodOrExcl( c: byte ); @nodisplay; @noframe;
static
dReturnAddress : dword;
begin isPeriodOrExcl;
// TODO: CS 17 Students will need to preserve registers
pop( dReturnAddress );
// TODO: CS 17 Students need to get c off the stack
// push back the return address
push( dReturnAddress );
// preserve registers
// begin function implementation
// leave the answer in EAX
// restore the registers used
ret();
end isPeriodOrExcl;
begin CharProgram;
stdout.put( "Please enter a character process", nl );
stdin.flushInput();
stdin.getc(); // stores result in AL
mov( AL, cMyCharacter );
stdout.put("----> here is the character you entered: ");
stdout.putc( cMyCharacter );
stdout.newln();
// initialize EAX before calling the function.
mov(0, EAX );
// TODO: CS 17 Students need to pass a character parameter to the function
call isPeriodOrExcl;
mov( EAX, answer );
// show the results
stdout.put( "after isPeriodOrExcl --- result=");
stdout.put( answer );
stdout.newln();
end CharProgram;

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!