HP Pascal/iX Programmer's Guide (31502-90023)
9- 20
VAR sum : small_int);
BEGIN
carr := 'Sum of two numbers: ';
sum := sint1 + sint2;
END;
BEGIN
END.
Example 4
The following FORTRAN77 program calls the external Pascal procedure pas:
$ALIAS PAS(%REF,%VAL,%VAL,%REF)
INTEGER INT1, INT2, ISUM
CHARACTER CSTR*20
CSTR = "Add these 2 numbers"
INT1 = 25
INT2 = 15
PRINT *, CSTR, INT1, INT2
CALL PAS(CSTR, INT1, INT2, ISUM)
PRINT *, CSTR, ISUM
STOP
END
Pascal procedure:
$SUBPROGRAM$
PROGRAM example;
TYPE
arr = PACKED ARRAY [1..20] OF char;
small_int = -32768..32767;
PROCEDURE pas(VAR carr : arr;
sint : small_int;
sint2 : small_int;
VAR sum : small_int);
BEGIN
carr := 'Sum of two numbers: ';
sum := sint1 + sint2;
END;
BEGIN
END.
Example 5
The following SPL program calls the external Pascal procedure pas:
BEGIN
LOGICAL ARRAY chr(0:9) := "Add these 2 numbers:";
BYTE ARRAY bchr(*) = chr;
INTEGER sint:=15,sint2:=25,len;
INTEGER int, int2, sum;
BYTE ARRAY csum(0:1), cint(0:1), cint2(0:1);
INTRINSIC PRINT,ASCII
PROCEDURE pas(chr,sint,sint2,sum);
VALUE sint,sint2;
INTEGER sint,sint2,sum;
BYTE ARRAY chr;
OPTION EXTERNAL;