|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4556 (0x11cc)
Notes: pts_type(SC)
Names: »STRINP.SC«
└─⟦173d42e04⟧ Bits:30009663 Philips computer tape "600105"
└─⟦this⟧ »SCREEN/STRINP.SC«
IDENT STRINP REL=10.0,800314,870138041000 ******************************************************************** * * DISPLAY MANAGEMENT IN CREDIT * * RUNNING UNDER CREDIT 10.0 * TOSS 10.0 * ******************************************************************** * * STANDARD ROUTINE 'S T R I N P' * * INPUT FROM A STRING TO THE VARIABLE FIELDS OF A COMPLETE OR * A PART OF A DISPLAY FORMAT * * PARAMETERS: * <TYPE> BINARY ITEM HOLDING FIELD TYPE 0=FKI 1=FINP 2=F * <INPUT STRING> THE INPUT STRING * <INPUT START> BINARY ITEM HOLDING START POSITION IN INPUT STR * FIRST POSITION COUNT 0 * AT RETURN INPUT START POINTS WHERE MOVE WAS END * <UNIT SEPARATOR> STRING THAT HOLDS A CHARACTER WHICH SEPARATES E * FIELD IN THE INPUT STRING * <INDEX1> BINARY ITEM HOLDING THE FIRST VARIABLE FIELD IN * MUST NOT BE 0 * AT RETURN <INDEX1> HOLDS THE FIELD INDEX TO * THE LAST MOVED FIELD * <INDEX2> BINARY ITEM HOLDING THE LAST VARIABLE FIELD IND * MUST NOT BE 0 * <RETURN CODE> BINARY ITEM HOLDING RETURN CODE FROM STRINP * 0=OK 3=ERROR ************************************************************************ DDUM SPDDIV PDIV ENTRY STRINP INPUT FROM STRING TO FORMAT * EXT STRIN1 MOVE TO FORMAT * * DESCRIPTION OF ROUTINE STRIN1: ************************************************************ * * ROUTINE FOR TRANSFER OF DATA TO A STRING * TO THE CURRENT FIELD INDICATED IN FCB * * CALLED FROM CREDIT STANDARD MODULE 'S T R I N P' * * THE UNIT SEPARATOR IS FIRST SEARCHED. * SEARCH STARTS AT GIVEN STARTPOSITION WITHIN THE STRING. * WHEN THE UNIT SEPARATOR IS FOUND THE SUBSTRING TO BE * MOVED IS IDENTIFIED. * STANDARD MOVE ROUTINE (I:MOV) IS USED * EXCEPTION: WHEN RECIEVING ITEM IS STRING AND SENDING * ITEM IS SHORTER THE REST WILL BE FILLED WITH X'00' * * CALL STRIN1,<INPUT STRING>,<INPUT START>,<UNIT SEPARATOR> * WHERE * <INPUT STRING> STRING TO HOLD INPUT * <INPUT START> BINARY ITEM WITH START POSITION WITHIN * <INPUT STRING> FIRST POSITION COUNT 0 * AT RETURN INPUT START POINTS WHERE MOVE ENDED * <UNIT SEPARATOR> STRING TO HOLD A CHARACTER THAT SEPARATES * THE FIELDS IN <INPUT STRING> * ************************************************************ EJECT * STRINP PROC TYPE,INPSTR,INPSTA,INPUS,INDEX1,INDEX2,RETCOD PBIN TYPE,INPSTA,INDEX1,INDEX2,RETCOD PSTRG INPSTR,INPUS * CBL INDEX2,INDEX1,SINERR SIN010 IB TYPE,SIN100,SIN200 GETFLD 0,INDEX1,RETCOD ONLY FKI FIELDS B SIN300 SIN100 GETFLD 1,INDEX1,RETCOD ONLY FINP FIELDS B SIN300 SIN200 GETFLD 2,INDEX1,RETCOD BOTH FKI AND FINP FIELDS SIN300 BZ SIN350 FIELD FOUND BOFL SIN350 FIELD FOUND BUT EMPTY COMP. FIELD EARILIER FOUND SINERR MOVE RETCOD,=W'3' RETURN ERROR CODE 3 B SINRET EJECT * * PERFORM MOVE FROM INPUT STRING TO CURRENT VARIABLE FIELD * SIN350 CALL STRIN1,INPSTR,INPSTA,INPUS * BNZ SINERR UNSUCESSFUL MOVE FROM STRING CBNL INDEX1,INDEX2,SIN400 JUMP IF ALL FIELDS MOVED ADD INDEX1,=W'1' SWITCH B SIN010 SIN400 MOVE RETCOD,=W'0' SINRET RET PEND * * END