. ADIT$ EDITING PACKAGE . PROCEDURES FOR BDIT$ P PROC 1,2 B$* NAME LXI,U X11,P(1,1) J B$ END P PROC 1,2 B$PRT* NAME 1 PRINT, BLANK, AND ZERO COLUMN LA,U 12,(P(1)=0)+P(1,1) LMJ 11,BPRT$ END P PROC *1 B$DT* NAME BDT$ BLANK AND ZERO COLUMN B$DTZ* NAME BDTZ$ ZERO COLUMN LMJ 11,P(0,0) DO P(1)>0 , B$MSGC P(1,1) END P PROC *1 B$DT1* NAME BDT1$ NEW ADDRESS, BLANK, AND ZERO COLUMN B$DTZ1* NAME BDTZ1$ 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 B$CHAR* NAME BCHAR$ EDIT A CHARACTER B$QCHR* NAME BQCHR$ ASCII QUARTER CHARACTER B$COL* NAME BCOL$ POSITION TO A COLUMN B$SKIP* NAME BSKIP$ SKIP AN AREA B$FCHR* NAME BFCHR$ FIELDATA CHARACTER B$SCHR* NAME BSCHR$ ASCII SIXTH CHARACTER B$MSGC* NAME BMSGC$ STORE NEW BMSG$ CHARACTER DO P(1)>1 , LA,15*(P(1)<3)+P(1,3) 12,+(B$AD 1,1) DO P(1)=1 , LA,15 12,P(1,1) LMJ 11,P(0,0) END P PROC *1 B$OCTV* NAME BOCTV$ VARIABLE LENGTH OCTAL B$DECV* NAME BDECV$ VARIABLE LENGTH DECIMAL B$FD1* NAME BFD1$ ONE WORD FIELDATA B$FD3* NAME BFD3$ FIELDATA B$FD5* NAME BFD5$ FIELDATA B$FI* NAME BFI$ I$ FORM B$FH* NAME BFH$ 18,18 FORM B$SW1* NAME BSW1$ ASCII SIXTHS B$SW3* NAME BSW3$ ASCII SIXTHS B$QW1* NAME BQW1$ ASCII QUARTERS B$QW3* NAME BQW3$ ASCII QUARTERS B$HEXV* NAME BHEXV$ VARIABLE LENGTH HEXADECIMAL DO P(1)>0 , LA,P(1,3) 12,+(B$AD 1,1) LMJ 11,P(0,0) END P PROC 0,1 B$COLN* NAME BCOLN$ COMPUTE COLUMN NUMBER B$MSGR* NAME BMSGR$ RE-ENTER MESSAGE EDITOR B$QMSR* NAME BQMSR$ RE-ENTER QUARTER WORD ASCII MESSAGE EDIT B$FMSR* NAME BFMSR$ RE-ENTER FIELDATA MESSAGE EDITOR B$LMSR* NAME BLMSR$ RE-ENTER MONOCASE ASCII EDITOR LMJ 11,P(0,0) END P PROC *1 B$FD2* NAME BFD2$ TWO WORD FIELDATA B$FD4* NAME BFD4$ FIELDATA B$FD6* NAME BFD6$ FIELDATA B$SW2* NAME BSW2$ ASCII SIXTHS B$SW4* NAME BSW4$ ASCII SIXTHS B$QW2* NAME BQW2$ ASCII QUARTERS B$QW4* NAME BQW4$ ASCII QUARTERS DO P(1)>0 , DL 12,+(B$AD 1,1) LMJ 11,P(0,0) END P PROC *1 B$MSG* NAME BMSG$ STRING EDIT B$MSG1* NAME BMSG1$ STRING EDIT B$QMSG* NAME BQMSG$ QUARTER WORD ASCII STRING EDIT B$QMS1* NAME BQMS1$ QUARTER WORD ASCII STRING EDIT B$FMSG* NAME BFMSG$ FIELDATA STRING EDIT B$FMS1* NAME BFMS1$ FIELDATA STRING EDIT B$LMSG* NAME BLMSG$ MONOCASE ASCII STRING EDIT B$LMS1* NAME BLMS1$ MONOCASE ASCII STRING EDIT DO P(1)>0 , LA,14*(P(1)<3)+P(1,3) 12,+(B$AD 1,1) DO P(0)>1 , LXI,14*(P(0)<4)+P(0,3) 12,+(B$AD 0,1) LMJ 11,P(0,0) END P PROC *1 B$COPY* NAME BCOPY$ STRING COPY ROUTINE B$PACK* NAME BPACK$ STRING COPY WITH PACKING B$QCOP* NAME BQCOP$ QUARTER WORD ASCII STRING COPY B$QPAC* NAME BQPAC$ QUARTER WORD ASCII STRING PACK B$FCOP* NAME BFCOP$ FIELDATA STRING COPY B$FPAC* NAME BFPAC$ FIELDATA STRING PACK DO P(1)>1 , LA,14*(P(1)<4)+P(1,4) 12,+(B$AD 1,2) DO P(0)>1 , LXI,14*(P(0)<4)+P(0,3) 12,+(B$AD 0,1) DO P(1)>0 , LA,14 13,P(1,1) LMJ 11,P(0,0) END P PROC *1 B$OCTF* NAME BOCTF$ FIXED LENGTH OCTAL EDITOR B$DECF* NAME BDECF$ FIXED LENGTH DECIMAL EDITOR B$DECZ* NAME BDECZ$ FIXED LENGTH LOADING ZERO DECIMAL B$DCFZ* NAME BDCFZ$ FIXED LENGTH LOADING ZERO DECIMAL B$HEXF* NAME BHEXF$ FIXED LENGTH HEXADECIMAL DO P(1)>1 , LA,P(1,4) 12,+(B$AD 1,2) DO P(1)>0 , LA,14 13,P(1,1) LMJ 11,P(0,0) END P PROC *1 B$FORM* NAME 1 NERAL FORM EDIT DO P(1)>1 , LA,P(1,4) 12,+(B$AD 1,2) DO P(1)>0 , LA 13,P(1,1) LMJ 11,BFORM$ END P PROC *1 B$FLS1* NAME BFLS1$ SINGLE PRECISION SCIENTIFIC B$FLG1* NAME BFLG1$ SINGLE PRECISION GENERALIZED FORMAT B$FLF1* NAME BFLF1$ SINGLE PRECISION FIXED FORMAT B$FLN1* NAME BFLN1$ SINGLE NICE EDIT P(2,1) EQU 1 B$FLS2* NAME BFLS2$ DOUBLE PRECISION SCIENTIFIC B$FLG2* NAME BFLG2$ DOUBLE PRECISION GENERALIZED B$FLF2* NAME BFLF2$ DOUBLE PRECISION FIXED B$FLN2* NAME BFLN2$ DOUBLE NICE EDIT DO P(2,1)**(P(1)>1) , LA 13,+(B$AD 1,2) DO (1-P(2,1))**(P(1)>1) , DL 13,+(B$AD 1,2) DO P(1)>0 , LA,14 12,P(1,1) LMJ 11,P(0,0) END P PROC *1 B$TIM* NAME BTIME$ HH:MM:SS B$TIME* NAME BTIME$ HH:MM:SS B$DAY1* NAME BDAY1$ MM/DD/YY B$DAY2* NAME BDAY2$ DD MMM YY B$DAY3* NAME BDAY3$ MONTH DD, YEAR B$DAY4* NAME BDAY4$ YYYYMMDD B$DAY5* NAME BDAY5$ YYMMDD B$DAYW* NAME BDAYW$ WEEKDAY B$TIM1* NAME BTIM1$ HH:MM:SS XM B$TIME1* NAME BTIME1$ HH:MM:SS XM DO P(1)>0 , LA,P(1,3) 12,+(B$AD 1,1) LMJ 11,P(0,0) END P PROC 0,2 B$TD* NAME BTIME$ HH:MM:SS B$DAT1* NAME BDAY1$ MM/DD/YY B$DAT2* NAME BDAY2$ DD MMM YY B$DAT3* NAME BDAY3$ MONTH DD, YEAR B$DAT4* NAME BDAY4$ YYYYMMDD B$DAT5* NAME BDAY5$ YYMMDD B$DATW* NAME BDAYW$ WEEKDAY B$TD1* NAME BTIM1$ HH:MM:SS XM TDATE$ LMJ 11,P(0,0) END B$AD* PROC 1,1 COMPUTE GENERALIZED ADDRESS S EQU B$AD(1,1) T EQU B$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 B$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 BDIT$S AND BDIT$U P PROC 1,2 D02$* NAME LXI,14 11,P(1,1) J D02$ END P PROC 1,2 D0123$* NAME LXI,14 11,P(1,1) J D0123$ END P PROC *0 D$POS3* NAME DPOS3$ POSITION BEFORE NEXT NON-BLANK CHARACTER D$POS4* NAME DPOS4$ POSITION AFTER NEXT NON-BLANK CHARACTER D$CHAR* NAME DCHAR$ A0 = 1 CHARACTER D$LOOK* NAME DLOOK$ LOOK AT NEXT CHAR, POINTER UNTOUCHED D$I* NAME DI$ A0(A1) = INTEGER D$DI* NAME DDI$ A0(A1) = DECIMAL INTEGER D$OI* NAME DOI$ A0(A1) = OCTAL INTEGER D$HI* NAME DHI$ A0,A1 = HEXADECIMAL INTEGER LMJ 11,P(0,0) END P PROC *1 D$POS1* NAME DPOS1$ POSITION BEFORE CHARACTER IN A0 D$POS2* NAME DPOS2$ 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 D$FP* NAME DFP$ FLOATING POINT UNEDIT D$FP2* NAME DFP2$ DOUBLE PRECISION ENTRY D$N* NAME DN$ ANY TYPE WHATSOEVER LMJ 11,P(0,0) END