. EDIT$ EDITING PACKAGE . PROCEDURES FOR FDIT$ P PROC 1,2 F$* NAME LXI,U X11,P(1,1) J F$ END P PROC 1,2 F$PRT* NAME 1 PRINT, BLANK, AND ZERO COLUMN LA,U 12,(P(1)=0)+P(1,1) LMJ 11,FPRT$ END P PROC *1 F$DT* NAME FDT$ BLANK AND ZERO COLUMN F$DTZ* NAME FDTZ$ ZERO COLUMN LMJ 11,P(0,0) DO P(1)>0 , F$MSGC P(1,1) END P PROC *1 F$DT1* NAME FDT1$ NEW ADDRESS, BLANK, AND ZERO COLUMN F$DTZ1* NAME FDTZ1$ NEW ADDRESS AND ZERO COLUMN DO P(1)>0 , LA 12,(P(1,1),P(1,2)) LMJ 11,P(0,0) END P PROC *1 F$CHAR* NAME FCHAR$ EDIT A CHARACTER F$COL* NAME FCOL$ POSITION TO A COLUMN F$SKIP* NAME FSKIP$ SKIP AN AREA F$MSGC* NAME FMSGC$ STORE NEW FMSG$ CHARACTER DO P(1)>1 , LA,15*(P(1)<3)+P(1,3) 12,+(F$AD 1,1) DO P(1)=1 , LA,15 12,P(1,1) LMJ 11,P(0,0) END P PROC *1 F$OCTV* NAME FOCTV$ VARIABLE LENGTH OCTAL F$DECV* NAME FDECV$ VARIABLE LENGTH DECIMAL F$FD1* NAME FFD1$ ONE WORD FIELDATA F$FD3* NAME FFD3$ FIELDATA F$FI* NAME FFI$ I$ FORM F$FH* NAME FFH$ 18,18 FORM F$FD5* NAME FFD5$ FIELDATA F$HEXV* NAME FHEXV$ VARIABLE LENGTH HEXADECIMAL DO P(1)>0 , LA,P(1,3) 12,+(F$AD 1,1) LMJ 11,P(0,0) END P PROC 0,1 F$COLN* NAME FCOLN$ COMPUTE COLUMN NUMBER F$MSGR* NAME FMSGR$ RE-ENTER MESSAGE EDITOR LMJ 11,P(0,0) END P PROC *1 F$FD2* NAME FFD2$ TWO WORD FIELDATA F$FD4* NAME FFD4$ FIELDATA F$FD6* NAME FFD6$ FIELDATA DO P(1)>0 , DL 12,+(F$AD 1,1) LMJ 11,P(0,0) END P PROC *1 F$MSG* NAME FMSG$ F$MSG1* NAME FMSG1$ DO P(1)>0 , LA,14*(P(1)<3)+P(1,3) 12,+(F$AD 1,1) DO P(0)>1 , LXI,14*(P(0)<4)+P(0,3) 12,+(F$AD 0,1) LMJ 11,P(0,0) END P PROC *1 F$COPY* NAME FCOPY$ STRING COPY ROUTINE F$PACK* NAME FPACK$ STRING COPY WITH PACKING DO P(1)>1 , LA,14*(P(1)<4)+P(1,4) 12,+(F$AD 1,2) DO P(0)>1 , LXI,14*(P(0)<4)+P(0,3) 12,+(F$AD 0,1) DO P(1)>0 , LA,14 13,P(1,1) LMJ 11,P(0,0) END P PROC *1 F$OCTF* NAME FOCTF$ FIXED LENGTH OCTAL EDITOR F$DECF* NAME FDECF$ FIXED LENGTH DECIMAL EDITOR F$DECZ* NAME FDECZ$ FIXED LENGTH LEADING ZERO DECIMAL F$DCFZ* NAME FDCFZ$ FIXED LENGTH LEADING ZERO DECIMAL F$HEXF* NAME FHEXF$ FIXED LENGTH HEXADECIMAL EDITOR DO P(1)>1 , LA,P(1,4) 12,+(F$AD 1,2) DO P(1)>0 , LA,14 13,P(1,1) LMJ 11,P(0,0) END P PROC *1 F$FORM* NAME 1 GENERAL FORM EDIT DO P(1)>1 , LA,P(1,4) 12,+(F$AD 1,2) DO P(1)>0 , LA 13,P(1,1) LMJ 11,FFORM$ END P PROC *1 F$FLS1* NAME FFLS1$ SINGLE PRECISION SCIENTIFIC F$FLG1* NAME FFLG1$ SINGLE PRECISION GENERALIZED FORMAT F$FLF1* NAME FFLF1$ SINGLE PRECISION FIXED FORMAT F$FLN1* NAME FFLN1$ SINGLE NICE EDIT P(2,1) EQU 1 F$FLS2* NAME FFLS2$ DOUBLE PRECISION SCIENTIFIC F$FLG2* NAME FFLG2$ DOUBLE PRECISION GENERALIZED F$FLF2* NAME FFLF2$ DOUBLE PRECISION FIXED F$FLN2* NAME FFLN2$ DOUBLE NICE EDIT DO P(2,1)**(P(1)>1) , LA 13,+(F$AD 1,2) DO (1-P(2,1))**(P(1)>1) , DL 13,+(F$AD 1,2) DO P(1)>0 , LA,14 12,P(1,1) LMJ 11,P(0,0) END P PROC *1 F$TIM* NAME FTIME$ HH:MM:SS F$TIME* NAME FTIME$ HH:MM:SS F$DAY1* NAME FDAY1$ MM/DD/YY F$DAY2* NAME FDAY2$ DD MMM YY F$DAY3* NAME FDAY3$ MONTH DD, YEAR F$DAY4* NAME FDAY4$ YYYYMMDD F$DAY5* NAME FDAY5$ YYMMDD F$DAYW* NAME FDAYW$ WEEKDAY F$TIM1* NAME FTIM1$ HH:MM:SS XM F$TIME1* NAME FTIM1$ HH:MM:SS XM DO P(1)>0 , LA,P(1,3) 12,+(F$AD 1,1) LMJ 11,P(0,0) END P PROC 0,2 F$TD* NAME FTIME$ HH:MM:SS F$DAT1* NAME FDAY1$ MM/DD/YY F$DAT2* NAME FDAY2$ DD MMM YY F$DAT3* NAME FDAY3$ MONTH DD, YEAR F$DAT4* NAME FDAY4$ YYYYMMDD F$DAT5* NAME FDAY5$ YYMMDD F$DATW* NAME FDAYW$ WEEKDAY F$TD1* NAME FTIM1$ HH:MM:SS XM TDATE$ LMJ 11,P(0,0) END F$AD* PROC 1,1 COMPUTE GENERALIZED ADDRESS S EQU F$AD(1,1) T EQU F$AD(1,2) +(I$ 0,0,0,P(S,T+1),2*P(S,*T+1)+P(S,*T),P(S,T)) END P PROC 1,1 F$FW* NAME 1 GENERATE FORM WORD I DO P(1) ,F(1) EQU (F(1)*/P(1,I))++(1*/(P(1,I)-1)) + F(1) END . PROCEDURES FOR FDIT$S AND FDIT$U P PROC 1,2 V02$* NAME LXI,14 11,P(1,1) J V02$ END P PROC 1,2 V0123$* NAME LXI,14 11,P(1,1) J V0123$ END P PROC *0 V$POS3* NAME VPOS3$ POSITION BEFORE NEXT NON-BLANK CHARACTER V$POS4* NAME VPOS4$ POSITION AFTER NEXT NON-BLANK CHARACTER V$CHAR* NAME VCHAR$ A0 = 1 CHARACTER V$LOOK* NAME VLOOK$ LOOK AT NEXT CHAR, POINTER UNTOUCHED V$I* NAME VI$ A0(A1) = INTEGER V$DI* NAME VDI$ A0(A1) = DECIMAL INTEGER V$OI* NAME VOI$ A0(A1) = OCTAL INTEGER V$HI* NAME VHI$ A0,A1 = HEXADECIMAL INTEGER LMJ 11,P(0,0) END P PROC *1 V$POS1* NAME VPOS1$ POSITION BEFORE CHARACTER IN A0 V$POS2* NAME VPOS2$ POSITION AFTER CHARACTER IN A0 DO P(1)>0 , LA,14 12,P(1,1)-(P(0,*0)=1) LMJ 11,P(0,0) END P PROC *0 V$FP* NAME VFP$ FLOATING POINT UNEDIT V$FP2* NAME VFP2$ DOUBLE PRECISION ENTRY V$N* NAME VN$ ANY TYPE WHATSOEVER LMJ 11,P(0,0) END