HEX_CONV: PROCEDURE OPTIONS (MAIN) RETURNS (FIXED BINARY (31)); %INCLUDE $STSDEF; /* Include definition of return status values */ DECLARE OTS$CVT_TZ_L ENTRY (CHARACTER (*), /* Input string passed by descriptor */ FIXED BINARY (31), /* Returned value passed by reference */ FIXED BINARY VALUE, /* Size for returned value passed by value */ FIXED BINARY VALUE) /* Flags passed by value */ RETURNS (FIXED BINARY (31)) /* Return status */ OPTIONS (VARIABLE); /* Arguments may be omitted */ DECLARE INPUT CHARACTER (10); DECLARE VALUE FIXED BINARY (31); DECLARE FLAGS FIXED BINARY(31) INITIAL(1) READONLY STATIC; /* Ignore blanks */ ON ENDFILE (SYSIN) STOP; DO WHILE ('1'B); /* Loop continuously, until end of file */ PUT SKIP (2); GET LIST (INPUT) OPTIONS (PROMPT ('Hex value: ')); STS$VALUE = OTS$CVT_TZ_L (INPUT, VALUE, , FLAGS); IF ^STS$SUCCESS THEN RETURN (STS$VALUE); PUT SKIP EDIT (INPUT, 'Hex equals', VALUE, 'Decimal') (A,X,A,X,F(10),X,A); END; END HEX_CONV;