. 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