*DECK NP$8TIN *IF,DEF,XFR USETEXT NX$ACBF USETEXT AIPDEF USETEXT HEADER USETEXT NP$STAT USETEXT NP$DB USETEXT NP$NWL USETEXT NP$MODE USETEXT NP$GETS USETEXT NX$ACBX PROC NP$8TIN(NPASCWD,INTVALUE); BEGIN # ** * 1. PROC NAME AUTHOR DATE * * NP$8TIN Y. C. YIP 02/16/1984 * * 2. FUNCTIONAL DESCRIPTION. * * NP$8TIN PICKS UP THE DD VALUE IN ASCII REPRESENTATION * AND RETURN THE INTEGER VALUE OF THE CHECKMARK TO INTVALUE. * * 3. METHOD USED. * * NP$8TIN LOOPS AROUND THE DD FIELDS STARTING FROM THE * LAST DD FIELD. IT PICKS UP THE ASCII VALUE, SUBTRACT * ASCII VALUE 0 FROM IT TO GET THE ACTUAL NUMERICAL VALUE * WORD OFFSET OF THE CURRENT PRU. DBIT IS ONLY USED BY THE * RESULT TO IT. * * 4. ENTRY CONDITIONS: * * NPASCWD = WORD CONTAINING THE DD * INTVALUE = RETURN PARAMETER * * * 5. EXIT CONDITIONS: * * INTVALUE HAS THE CHECKMARK NUMBER. * NPASCWD IS UNCHANGED # # **** # XREF BEGIN END # **** # ITEM NPASCWD; # WORD CONTAINING THE ASCII DD# ITEM INTVALUE; # PARAMETER THAT RETURNS THE # ITEM TEMP; # INTEGER TEMPORARY # ITEM EXPONENT; # POWER OF TEN # ITEM INDEX; # LOOP INDEX # CONTROL EJECT; # ************************************************************************ * * * CODE OF NP$8TIN BEGINS HERE * * * ************************************************************************ # EXPONENT = 1; # START WITH 1 # INTVALUE = 0; # INTIALIZE INTVALUE # FOR INDEX = DDEND STEP -BYTE$SIZE UNTIL DDSTART DO BEGIN TEMP = BNPASCWD; # GET THE ASCII VALUE # TEMP = TEMP - ASCII$ZERO; TEMP = TEMP*EXPONENT; # CALCULATE CHECKMARK VALUE # INTVALUE = TEMP + INTVALUE; EXPONENT = EXPONENT*10; END RETURN; # RETURN TO CALLER # END # END OF PROC NP$8TIN # TERM *ENDIF