|
|
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: 17460 (0x4434)
Notes: pts_type(SC)
Names: »DEUNPF.SC«
└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
└─⟦this⟧ »S:DE/DEUNPF.SC«
└─⟦5c22ed822⟧ Bits:30009675 Philips computer tape "600209"
└─⟦this⟧ »DEN10/DEUNPF.SC«
└─⟦79fbed147⟧ Bits:30009697 Philips computer tape "600414"
└─⟦this⟧ »S:DE/DEUNPF.SC«
└─⟦bf903a231⟧ Bits:30009665 Philips computer tape "600109"
└─⟦this⟧ »DEN10/DEUNPF.SC«
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
└─⟦this⟧ »S:DE/DEUNPF.SC«
IDENT DEUNPF REL 10.0 80-04-11 80-02-19/JAER * * THIS PROGRAM UNPACKS NEXT FIELD * FROM CURRENT ATTACHED FORMAT AND * MOVES THE UNPAKED VALUES IN THEIR * CORRESPONDING ITEMS. THIS COULD BE * USABLE IN CORRECTION MODE AND PRINT * OF THE FORMAT GENERATION. * * -FORMAL PARAMETERS : BUFPOS = CURRENT BUFFER POSITION * OPT = 1 = CORRECTION MODE * = 2 = PRINTOUT MODE * -INPUT VARIABLES : PINDCB = FORMAT BUFFER INDEX * BIN1 = FORMAT BUFFER POINTER * BIN10 = FIELDNR * * -WORK VARIABLES : * FBIN1 = NUMBER OF CONVERTED POSITIONS * BOOL9 = F FKI NOT FOUND YET * = T FKI FOUND * * -OUTPUT VARIABLE : DEBINW2= 0 OK * = 1 END OF FORMAT FOUND * BIN12 = NUMBER OF LAYOUT CHARACTERS * FMTWK(W1) = NUMBER OF VALIDATION CHARACTERS * FMTWK(W2) = NUMBER OF GENERATION CHARACTERS * FMTWK(W3) = NUMBER OF ACCUMULATION CHARACTERS * FMTWK(W4) = NUMBER OF DUPLICATION CHARACTERS * * 2-BYTE ADRESSING COMPATIBLE ********************************************************************** DDUM DEDDIV PDIV ENTRY DEUNPF UNPACK NEXT FIELD * ENTRY FEDIT FORMAT EDITING * ENTRY DEUNPL UNPACK NEXT LINE EXT NOPOOL NUMBER OF USED POOLS EXT BINCON CONVERT BIN=>STRG EXT RCNTRL READ FIELD CONTROL WORD EXT FMOVE FORMAT MOVE EXT GETFWD GETFIELD FROM CURRENT EXT ADJUST * * EQUATES * ALPHA EQU X'00' ALPHANUMERIC SCHK EQU X'03' SPECIAL CHECK EJECT DEUNPF PROC BUFPOS,OPT CLEAR BOOL9 NO FKI FOUND UNPM MOVE BIN16,W3 MATCHINDEX:=3 MATCH FDIR,BIN16,W16,BPOOL(PINDCB),BUFPOS,W1 MATCH CHARS SWITCH IB BIN16,UNPELB,UNPELB,UNP3,UNP4, 1-4 C UNPELB,UNPELB,UNPELB,UNPELB,UNP9, 5-9 C UNP10,UNP11,UNPELB,UNP13,UNP13, 10-14 C UNP13,UNP13,UNP13,UNP13 15 UNPELB B UNPE END OF FORMAT EJECT UNP3 MOVE BIN15,W0 ADD BUFPOS,W1 NEXT BUFPOS XCOPY BIN15,W1,W1,BPOOL(PINDCB),BUFPOS GET NUMB OF CHARS ADD BUFPOS,BIN15 ADJUST FOR CHARS UNP10 (FSL) ADD BUFPOS,W1 NEXT BUFPOS B UNPM GO ON UNP4 (FTAB) ADD BUFPOS,W2 B UNPM GO ON EJECT UNP9 (FLINK) PERF UNPFLK,BUFPOS UNPACK FLINK INIT NEXT BUFFER TBF BOOL7,UNP9A JUMP IF NOT CORR-MODE MOVE DEBINW3,W0 WORK:=0 XCOPY DEBINW3,W1,W1,RPOOL(PINDFR),W8 LOAD LINK NEXT XCOPY RPOOL(PINDFR),W0,W1,PICSTR,W5 'X'-FREEMARK MOVE PINDFR,DEBINW3 NEXT BUFFER SUB WORK(W4),W1 REDUCE NUMB OF OLD FPOOLS PERF NOPOOL NUMBER OF USED POOLS DISPLAY 2,W2,W2 DISPLAY DITO WHILE CHANGED UNP9A TBT BOOL9,UNPMF JUMP IF FKI FOUND B UNPM GO ON UNP11 (FNL) ADD BUFPOS,W1 SET BOOL5 END OF LINE B U13I EJECT UNP13 (FKI) SET BOOL9 FKI FOUND SUB BIN16,W13 ADD BUFPOS,W1 NEXT BUFPOS MOVE BIN15,W0 XCOPY BIN15,W1,W1,BPOOL(PINDCB),BUFPOS GET TABPOS CBE BIN15,W1,UNPELB JUMP IF DUMMY-FIELD MOVE FDVBCD(W5),BIN15 STORE FIELDPOS MOVE FDVBCD(W4),BIN10 STORE FIELDNR ADD BUFPOS,W1 NEXT BUFPOS MOVE BIN15,W0 WORK:=0 IB BIN16,U13Y,U13X,U13Z,U13Y,U13X JUMP ON FKI-CODE B U13Z U13X XCOPY BIN15,W0,W2,BPOOL(PINDCB),BUFPOS ADD BUFPOS,W2 ADJUST NEXT BUFFPOS B U13Z U13Y XCOPY BIN15,W1,W1,BPOOL(PINDCB),BUFPOS ADD BUFPOS,W1 ADJUST NEXT BUFPOS U13Z MOVE SPEC,BIN15 STORE APPLE CBL BIN16,W3,U13A JUMP IF NO DUPL MOVE BIN15,W1 CALL FMOVE,STRG10A,IND1 FETCH INDEX-ITEMADRESS=1 MATCH STRG10A,BIN15,W9,FDIR,W0,W1 ADD BUFPOS,BIN15 ADJUST NEXT BUFFPOS U13A CALL RCNTRL,BPOOL(PINDCB),BUFPOS,DEBINW1,BIN15,BIN7 CTLS MOVE FDVBCD(W6),BIN7 STORE MAXLENGTH MOVE FDVBCD(W7),BIN15 STORE MINLENGTH EJECT TBT BOOL6,U13F JUMP IF BALANCE FORMAT MOVE FDVSTR(W1),='Y' KEYED INPUT TBF CTAB,U13V JUMP IF KEYED INPUT MOVE FDVSTR(W1),='C' CBL BIN16,W3,U13V MOVE FDVSTR(W1),='N' NO KEYED INPUT U13V MOVE FDVSTR(W2),='N' ME=N TBF ME,U13B MOVE FDVSTR(W2),='Y' ME=Y U13B MOVE FDVSTR(W3),='N' AUTOTAB=N TBF NEOI,U13C MOVE FDVSTR(W3),='Y' AUTOTAB=Y U13C MOVE FDVSTR(W4),='N' VERIFY=N TBF VERIFY,U13D MOVE FDVSTR(W4),='Y' VERIFY=Y U13D MOVE FDVSTR(W5),='Y' INIT.CLEAR=Y TBF NCLR,U13E MOVE FDVSTR(W5),='N' INIT.CLEAR=N U13E TBF SCHK4,U13F MOVE FDVSTR(W2),='C' ME=C U13F ADD BUFPOS,W3 ADJUST BUFFPOS EJECT MOVE STATSH,HEX00 MOVE JOBSPC,HEX00 MOVE DEBIN3,W0 WORKSTRINGPOINTER:=0 MOVE FMTWK(W1),W0 VALCARS:=0 MOVE FMTWK(W2),W0 GENCHARS:=0 MOVE FMTWK(W3),W0 ACCCHARS:=0 MOVE FMTWK(W4),W0 DUPCHARS:=0 MOVE FMTWK(W11),W0 MOVE STR64A,=C'#V:#G:#A:' MOVE DUPL,HEX00 UNPMF MOVE FBIN1,W3 INITIATE NUMB OF CONV MOVE BIN16,W0 MATCHINDEX:=0 MATCH FDIR,BIN16,W16,BPOOL(PINDCB),BUFPOS,W1 BNOK U13G NO FVAL,FGEN,FACC,FDUPL CBE BIN16,W0,UNPLB END OF FORMAT IB BIN16,UNP1,UNP2,UNLB,UNLB, 1-4 C UNP2,UNP2,UNP2,UNP2,UNP9 5-9 UNLB B U13G NO FVAL,FGEN,FACC,FDUPL UNPLB B UNPE UNP1 ADD BUFPOS,W3 (FCOPY) B UNPMF GO ON EJECT UNP2 (FMELI) MOVE BIN15,W0 ADD BUFPOS,W1 NEXT BUFPOS XCOPY BIN15,W1,W1,BPOOL(PINDCB),BUFPOS GET NUMB OF CHARS ADD BUFPOS,W1 1ST CHAR.-POS CBNE BIN16,W2,UNP2A JUMP IF NOT FMELI PERF UNPICT,BUFPOS UNPACK PICTURE LAYOUT TBT BOOL6,PICB JUMP IF BALANCE FORMAT ADD BUFPOS,W2 ADJUST B UNPMF GO ON PICB ADD BUFPOS,W1 ADJUST MOVE DEBIN1,W1 NUMB OF CHARS TO COPY 1B-ADR MOVE DEBIN2,W1 WORK:=1 MOVE BIN15,W1 WORK:=1 CALL FMOVE,STRG10A,IND1 FETCH INDEX-ITEMADRESS=1 MATCH STRG10A,BIN15,W9,FDIR,W0,W1 CBE BIN15,W1,PICB1 JUMP IF 1BYTE ADR ADD BUFPOS,W3 ADJUST BUFFERPOS 2B-ADR MOVE DEBIN1,W2 NUMB OF CHARS TO COPY 2B-ADR MOVE DEBIN2,W0 STARTPOS 2B-ADR PICB1 MOVE BIN15,W0 WORK:=0 XCOPY BIN15,DEBIN2,DEBIN1,BPOOL(PINDCB),BUFPOS INDEX-ITEMADR MOVE BIN16,W0 WORK:=0 XCOPY BIN16,DEBIN2,DEBIN1,STRG10A,W0 LOAD IND-ITEM ADR=1 SUB BIN16,W1 FIX MASK X0 SUB BIN15,BIN16 MASKOUT=>INDEX VALUE MOVE FDVBCD(W8),BIN15 STORE ACC.NO ADD BUFPOS,W1 ADJUST B UNPMF GO ON UNP2A SUB BIN16,W4 ADJUST FOR INDEX-BRANCH MOVE DEBINW1,BIN16 SAVE FUNCINDEX IB BIN16,UNP2B,UNP2C,UNP2D,UNP2E UNP2B (FVAL) XCOPY JOBSPC,DEBIN3,W3,STR64A,W0 '#V:' B UNP2F UNP2C (FGEN) XCOPY JOBSPC,DEBIN3,W3,STR64A,W3 '#G:' B UNP2F ADJUST UNP2D XCOPY JOBSPC,DEBIN3,W3,STR64A,W6 '#A:' UNP2F ADD DEBIN3,W3 NEXT POSITION PERF BINCON,JOBSPC,DEBINW1 CONVERT BINNUM=>STRG ADD FMTWK(W11),BIN15 ADD NUMB OF CONV CHARS CBE OPT,W2,UNP2G JUMP IF PRINTOUT MODE MOVE FMTWK(DEBINW1),DEBIN3 SAVE NUMB OF ACCUM.CHARS B UNPMF UNP2G MOVE FMTWK(DEBINW1),BIN15 SAVE NUMB CONV CHARS B UNPMF ADJUST UNP2E MOVE FBIN1,W0 INITIATE NUMB OF CONV MOVE DEBIN3,W0 WORKSTRINGPOINTER:=0 PERF BINCON,DUPL,DEBINW1 CONVERT BINNUM=>STRG MOVE FMTWK(W4),BIN15 SAVE NUMB OF DUPL.CHARS B UNPMF GO ON EJECT U13G CBE OPT,W2,U13I JUMP IF PRINTOUT MODE MOVE FMTWK(W10),=X'50' NUMB OF CHARS 1:=80 CBL FMTWK(W10),FMTWK(W11),U13H JUMP IF BOTH LINES USED MOVE FMTWK(W10),FMTWK(W11) ALL CHARCTERS IN 1ST STRG MOVE FMTWK(W11),W0 NUMB OF CHARS2:=0 B U13I U13H SUB FMTWK(W11),FMTWK(W10) COMPUT NUMB OF CHARS1 U13I MOVE DEBINW2,W0 OK B UNRET UNPE MOVE DEBINW2,W1 END-OF-FORMAT UNRET RET PEND EJECT * * UNPACK FLINK AND INITIALIZE * NEXT BUFFER * UNPFLK PROC POINT ADD POINT,W3 ADJUST BUFPOINTER 1B-ADR MOVE DEBIN1,W1 NUMB OF CHARS TO COPY 1B-ADR MOVE DEBIN2,W1 STARTPOS 1B-ADR MOVE BIN15,W1 MATCH STARTPOS:=1 CALL FMOVE,STRG10A,IND1 FETCH IND-ITEM-ADRESS=1 MATCH STRG10A,BIN15,W9,FDIR,W0,W1 CBE BIN15,W1,UNPFL2 JUMP IF 1B-ADR ADD POINT,W2 ADJUST BUFFPOS 2B-ADR MOVE DEBIN1,W2 NUMB OF CHARS TO COPY 2B-ADR MOVE DEBIN2,W0 STPOS 2B-ADR UNPFL2 MOVE BIN15,W0 WORK:=0 XCOPY BIN15,DEBIN2,DEBIN1,BPOOL(PINDCB),POINT INDEX-ITEMADR MOVE BIN16,W0 WORK:=0 XCOPY BIN16,DEBIN2,DEBIN1,STRG10A,W0 INDEX-ITEMADRESS=1 SUB BIN16,W1 FIX MASK X0 SUB BIN15,BIN16 MASKOUT=>INDEX VALUE MOVE PINDCB,FLIND(BIN15) GO ON WITH NEXT BUFFER MOVE POINT,W0 RESTART IN NEXT BUFFER RET PEND EJECT * * UNPACK AND EDIT PICTURE LAYOUT IN LDISP * UNPICT PROC POINT MOVE BIN12,W1 LDES-POINTER XCOPY STATSH,W0,W1,PICSTR,W13 COPY '<' PICM PICTURESTRING MATCH MOVE BIN16,W0 MATCHINGINDEX:=0 MATCH PICCON,BIN16,W4,BPOOL(PINDCB),POINT,W1 BNOK PINC NO CONVERT CBE BIN16,W0,PICS JUMP IF 'S'-CONVERT IB BIN16,PICP,PICE,PICX PINC XCOPY STATSH,BIN12,W1,BPOOL(PINDCB),POINT PI00 ADD POINT,W1 NEXT BUFFERPOS ADD BIN12,W1 NEXT LDES POS CBG BIN12,BIN15,PICR END OF PICTURESTRING FOUND B PICM GO ON PICS 'S'-CONVERT XCOPY STATSH,BIN12,W1,PICSTR,W9 COPY 'S' B PI00 PICP '.'-CONVERT XCOPY STATSH,BIN12,W1,PICSTR,W11 COPY '.' B PI00 PICE 'E'-CONVERT ADD POINT,W1 TAKE NEXT BUFFERPOS SUB BIN15,W1 ADJUST NUMBER OF CHARS B PINC PICX TBF SCHK2,PINC JUMP IF NOT LEFT ZERO FILL XCOPY STATSH,BIN12,W1,PICSTR,W14 COPY '0' B PI00 NEXT MATCH PICR XCOPY STATSH,BIN12,W1,PICSTR,W12 COPY '>' ADD BIN12,W1 =NUMB OF LAYOUT CHARS RET PEND EJECT * * THIS ROUTINE UNPACKS NEXT LINE FROM CURRENT ATTACHED * FORMAT AND EDITS THE FORMAT PARTS IN 'LINE-DESIGN'-ITEM * * USED VARIABLES : BIN16 = MATCHINGPOINTER * BIN15 = WORKITEM * DEBIN2 = MAXLENGTH ALPHANUM-FIELDS * DEBIN3 = POINTER POSITIONER LDES-ITEM * DEBIN4 = SAVED BUFFER-IDEX IF ALTERED * DURING ROUTINE-SESSION * DEUNPL PROC BUFPOS MOVE DEBINW2,W0 OK-SIGNAL MOVE LDES,=' ' LDES:='SPACES' MOVE DEBIN3,W0 POINTER LDES:=0 CLEAR BOOL5 F=END-OF-LINE NOT REACHED CLEAR BOOL8 F=NO BUFFER ALTERED LUPM MOVE BIN16,W0 MATCHING INDEX:=0 MATCH FDIR,BIN16,W18,BPOOL(PINDCB),BUFPOS,W1 SWITCH IB BIN16,LUP1,LUP5,LUP3,LUP4, 1-4 C LUP5,LUP5,LUP5,LUP5, 5-8 C LUP9,LUP10,LUP11,LUPR 9-R C LUP13,LUP13,LUP13,LUP13, 13-16 C LUP13,LUP13 17-18 LUPRLB B LUPR END OF FORMAT EJECT LUP1 FCOPY MOVE BIN15,W0 WORK:=0 ADD BUFPOS,W1 NEXT BUFFERPOS XCOPY LDES,DEBIN3,W1,PICSTR,W13 COPY '<' ADD DEBIN3,W1 NEXT LDESPOSITION ADD BUFPOS,W1 NEXT BUFFERPOS XCOPY BIN15,W1,W1,BPOOL(PINDCB),BUFPOS GET FIELDNR TBF SCHK2,LUP1A JUMP IF LEFT ADJUSTED MOVE DEINPUT,='R' LOAD WITH 'R':S B LUP1B LUP1A MOVE DEINPUT,='L' LOAD WITH 'L':S LUP1B XCOPY LDES,DEBIN3,DEBIN2,DEINPUT,W0 COPY NUMBER OF 'R'/'L':S ADD DEBIN3,DEBIN2 ADJUST LDESPOINTER XCOPY LDES,DEBIN3,W1,PICSTR,W12 COPY '>' ADD BUFPOS,W1 ADD DEBIN3,W1 ADJUST POINTER B LUPM EJECT LUP2 FMELI PERF UNPICT,BUFPOS UNPACK/EDUT PICTURELAYOUT XCOPY LDES,DEBIN3,BIN12,STATSH,W0 ADD BUFPOS,W2 ADJUST BUFFERPOS ADD DEBIN3,BIN12 ADJUST POINTER TBF BOOL6,LUPM JUMP IF GENERAL FORMAT MOVE BIN15,W1 CALL FMOVE,STRG10A,IND1 FETCH IND ITEM ADRESS=1 MATCH STRG10A,BIN15,W9,FDIR,W0,W1 CBE BIN15,W1,LUPM JUMP IF 1B-ADR ADD BUFPOS,W2 ADJUST BUFPOS 2B-ADR B LUPM GO ON EJECT LUP3 FTEXT MOVE BIN15,W0 WORK:=0 ADD BUFPOS,W1 ADJUST BUFFPOS XCOPY BIN15,W1,W1,BPOOL(PINDCB),BUFPOS GET NUMB CHARCTERS ADD BUFPOS,W1 1ST CHARCTER-POSITION XCOPY LDES,DEBIN3,BIN15,BPOOL(PINDCB),BUFPOS COPY TEXTSTRING ADD BUFPOS,BIN15 ADJUST BUFFPOS ADD DEBIN3,BIN15 ADJUST POINTERPOS B LUPM GO ON EJECT LUP4 FTAB MOVE DEBIN3,W0 POINTER:=0 ADD BUFPOS,W1 NEXT BUFFPOS XCOPY DEBIN3,W1,W1,BPOOL(PINDCB),BUFPOS TABPOS SUB DEBIN3,W1 ADJUST TABPOS LUP10 ADD BUFPOS,W1 ADJUST BUFPOINTER B LUPM GO ON EJECT LUP5 FMELI,FVAL,FGEN,FACK,FDUPL MOVE BIN15,W0 WORK:=0 ADD BUFPOS,W1 NEXT BUFFPOS XCOPY BIN15,W1,W1,BPOOL(PINDCB),BUFPOS GET NUMB OF CHARACTERS ADD BUFPOS,W1 1ST CHARCTERPOSITION CBE BIN16,W2,LUP2 JUMP IF FMELI ADD BUFPOS,BIN15 ADJUST FOR NUMB OF CHARS B LUPM GO ON EJECT LUP9 FLINK SET BOOL8 T=BUFFER ALTERED BNZ LUP9A JUMP IF BUFF ALREADY ALTERED MOVE DEBIN4,PINDCB SAVE BUFFERNUMBER LUP9A PERF UNPFLK,BUFPOS UNPACK FLINK INIT NEXT BUFFER B LUPM GO ON EJECT LUP11 FNL MOVE FMTWK(W5),DEBIN3 SAVE NUMBERS OF LDES CHARS LUP11A CBE DEBIN3,=X'50',LUP11B JUMP IF END-OF-LINE XCOPY LDES,DEBIN3,W1,HEX00,W0 LOAD THE REST WITH X'00' ADD DEBIN3,W1 B LUP11A LUP11B TBF BOOL8,LUPR JUMP IF NO BUFF.ALTERATION MOVE PINDCB,DEBIN4 RESTORE BUFFER'POINTER' B LUPR END-OF-LINE EJECT LUP13 FKI:S SUB BIN16,W12 MOVE DEBIN2,W0 WORK:=0 ADD BUFPOS,W1 NEXT BUFFPOS MOVE DEBIN3,W0 POINTER:=0 XCOPY DEBIN3,W1,W1,BPOOL(PINDCB),BUFPOS GET TABPOS AS POINTPS CBE DEBIN3,W1,LUPREF DUMMY-FORMAT FOUND SUB DEBIN3,W2 CBL BIN16,W4,LUP13A JUMP IF FKI WITHOUT DUPL SUB BIN16,W3 ADJUST FOR FKI WITH DUPL MOVE BIN15,W1 CALL FMOVE,STRG10A,IND1 MATCH STRG10A,BIN15,W9,FDIR,W0,W1 CHECK ADRESS-TYPE ADD BIN16,BIN15 ADJUST FOR 1 OR 2B-ADRESS LUP13A ADD BUFPOS,BIN16 ADJUST FOR NEXT BUFFPOS CALL RCNTRL,BPOOL(PINDCB),BUFPOS,DEBINW1,BIN16,DEBIN2 ADD BUFPOS,W3 ADJUST BUFFPOS B LUPM GO ON EJECT LUPREF MOVE DEBINW2,W1 E-O-F-SIGNAL LUPR RET PEND EJECT * * THIS ROUTINE EDITS AN ATTACHED FORMAT, * PUTTING '-99......' IN NUMERICAL ITEMS * 'LLL......' IN LEFTADJUSTED ALPHANUMERIC ITEMS AND * 'RRR......' IN RIGHTADJUSTED ALPHANUMERIC ITEMS * *********************************************************************** * FEDIT PROC MOVE DEINPUT,='-9' LOAD WITH -999999... MOVE DEBINW3,W0 INITIATE FIELD COUNTER FEDITL SWITCH ADD DEBINW3,W1 FIELDCOUNTER:=FC+1 CALL GETFWD,BIN16,0,DEBINW3,DEBINW4 CALL ADJUST,BIN16 BNOK FEDITR GETCTL 1,DEBINW4 GETMAXLENGTH CBE DEBINW4,W0,FEDITR MAXL=0 => END-OF-FORMAT TSTCTL ALPHA BZ FEDBCD JUMP IF NUMERIC GETCTL SCHK,DEBINW4 GET SPECIAL CHECK NR CBNE DEBINW4,W2,FELEFT JUMP IF NOT 2 MOVE :FMTITEM,=C'R' LOAD ITEM WITH 'R':S B FEDITL GO ON FELEFT MOVE :FMTITEM,=C'L' LOAD ITEM WITH 'L':S B FEDITL GO ON FEDBCD MOVE :FMTITEM,DEINPUT LOAD ITEM WITH '-9':S B FEDITL GO ON FEDITR RET PEND EJECT IND1 FRMT FCTL W1 FMEND END