PAM Programming Manual

Link-Level Programming Examples
PAM Programming Manual142482
B-24
Procedures
Procedures
The application program must also define the following procedures:
?SECTION Procedures
?PAGE ’PROCEDURE: AbEnd_’
{------------------------------------------------------------------
PROCEDURE: AbEnd_
------------------------------------------------------------------}
PROCEDURE AbEnd_;
BEGIN
?IF SEND
WriteLn ( Output, ’Send Failed’:14 );
?ELSE
WriteLn ( Output, ’Receive Failed’:14,
’Curr. User Data Size:’,current_user_data_size_b,
’Loop Count: ’, loop_cnt );
?ENDIF
AbEnd;
END;
?PAGE ’L2 Service Access Point Exercise Program: Procedures’
{------------------------------------------------------------------
PROC: Initialize
------------------------------------------------------------------}
PROCEDURE Initialize;
VAR
startup_msg : ARRAY[ 0..199 ] OF BYTE;
startup_msg_addr : EXTADDR;
startup_msg_size_B : INTEGER;
Hex_value : INTEGER;
Hex_digit_ndx : INTEGER;
ndx : INTEGER;
ndx1 : INTEGER;
ndx2 : INTEGER;
buffer_lst_ndx : LONGINT;
{------------------------------------------------------------------
FUNCTION: Scan_Blanks
------------------------------------------------------------------}
FUNCTION Scan_Blanks ( scan_ndx : INTEGER ) : INTEGER;
BEGIN
WHILE ( scan_ndx < startup_msg_size_b ) AND
( startup_msg[ scan_ndx ] = Ord (’ ’) ) DO
scan_ndx := ( scan_ndx + 1 );
Scan_Blanks := scan_ndx;
END;
{------------------------------------------------------------------
FUNCTION: Get_Int
------------------------------------------------------------------}
FUNCTION Get_Int ( start_ndx : INTEGER;
VAR end_ndx : INTEGER;
base : INTEGER;
VAR result : INTEGER;