.
. PRINT ELEMENT COMMAND PROCESS
.
.
. (C) Copyright 1972-1978 John Walker
.
. This software is in the public domain
.
AXR$
DEFUNCT$
FANG
.
cyclesupp equ r5 suppress cycle recognition if nonzero
ctslno equ r6 nonzero if this line has CTS number
ctslin equ R7 CTS line number for this line
NCP EQU R8 LATEST CYCLE
SHORT EQU R9 SHORT FORMAT OUTPUT FLAG
IDC EQU R10 DELETED IMAGES BEFORE THIS IMAGE
OCP EQU R11 OLDEST CYCLE PRESENT
DELIMG EQU R12 DELETED IMAGE FLAG
SDFMODE EQU R13 LISTING SDF FILE MODE
CHARSET EQU R14 CURRENT ELEMENT CODE SET
.
PRINTP* quarterword TURN ON QUARTER WORD MODE
P PRINTER INVOKE LOCK ON THE PRINTER
R$DITA . ENTER ASCII EDITING MODE
SZ SDFMODE CLEAR PRINTING SDF MODE
SZ SHORT SET LONG LISTING DESIRED
LX X9,CDBPC,X8 LOAD LINK TO PARAMETER BUFFER
LA A0,ELFDT,X9 LOAD FDT ADDRESS FOR ASSOCIATED FILE
LA A0,FDTYPE,A0 LOAD TYPE OF THIS FILE
JTAPE A0,TASDFS IF TAPE, ALWAYS SET UP FOR SDF PRINT
LA,U A7 CLEAR ACCEPT DELETED ELEMENTS FLAG
LMJ X11,FILESCAN BUILD ELEMENT DRIVER TABLES
J SDFPRINT BSP ERROR. SEE IF IT'S AN SDF FILE
LMJ X11,ELTREL ELEMENT LIST OK. RELEASE ELEMENT TABLE
JZ A8,PRINTMT PRINT 'FILE EMPTY' IF FILE IS NULL
LA A8,CDOPTS,X8 LOAD OPTIONS FOR COMMAND
TEP A8,(OPTION('A')) ALPHABETISE ELEMENTS ?
LMJ X11,FILESORT YES. SORT THE ELEMENT TABLE
SDFRTN TNZ DEMAND DEMAND RUN ?
TEP,U A8,OPTION('S') SHORT OUTPUT FORMAT DESIRED ?
SNONZ SHORT YES. ASSUME SHORT OUTPUT FORMAT
TEP,U A8,OPTION('L') LONG OUTPUT DESIRED BY USER ?
SZ SHORT YES. CLEAR SHORT OUTPUT FLAG
BGETL SDFL ALLOCATE SDF I/O FCT
LA A1,ELFDT,X9 GET FDT ADDRESS
LA,U A2,R$ LOAD READ FUNCTION
LMJ X11,SDFFCT BUILD SDF INPUT FCT
SA A0,X9 SAVE SDF FCT ADDRESS
TNZ SDFMODE SDF FILE ?
J PRINTNE NO. GET FIRST ELEMENT
BGETL EIFL ALLOCATE A DUMMY ELEMENT BUFFER
LX X5,CDBPC,X8 GET POINTER TO ELEMENT CLASS PARAMETER
LX X5,ELFDT,X5 GET POINTER TO FDT FOR THE FILE
DL A4,FDQUAL,X5 LOAD QUALIFIER FOR FILE
DS A4,EIEN,A0 STORE AS ELEMENT NAME
DL A4,FDFN,X5 LOAD FILE NAME FROM FDT
DS A4,EIVER,A0 STORE AS ELEMENT VERSION
SZ EITXTA,A0 SET STARTING ADDRESS TO ZERO
LX,U X7,,A0 LOAD ADDRESS OF BUFFER
J SDFPST START PROCESSING THE FILE
.
. LOOP BEGINS HERE TO PROCESS EACH ELEMENT
.
PRINTNE REMOVE CDELTQ,X8. REMOVE NEXT ITEM FROM ELEMENT QUEUE
TNE,U A1,CDELTQ,X8 END OF ELEMENT LIST ?
J PRINTD YES. ALL DONE WITH IT
ANA,U A1,EIFQ POINT BACK TO ELEMENT ITEM
LX,U X7,,A1 X7 IS RUNNING ELEMENT ITEM POINTER
LA A0,EITYP,X7 LOAD ELEMENT TYPE
TG,U A0,TY$REL NON-SYMBOLIC TYPE ?
J PRINTSK YES. SKIP THIS ELEMENT
SZ IDC SET NO DELETED IMAGES
LA A0,EICYCW,X7 LOAD CYCLE INFORMATION WORD
SSL A0,12 RIGHT JUSTIFY LATEST CYCLE
AND,U A0,07777 GET LATEST CYCLE IN A1
SA A1,NCP STORE NEWEST CYCLE PRESENT
AA,U A0,1 INCREMENT LATEST CYCLE BY ONE
ANT A0,EICYCW,X7 COMPUTE OLDEST CYCLE
LSSL A0,24 GET RID OF OTHER JUNK
SSL A0,24 RIGHT JUSTIFY OLDEST CYCLE
SA A0,OCP SAVE OLDEST CYCLE PRESENT
SDFPST .
TOP A8,(OPTION('H')) CHANGE HEADINGS ?
TEP,U A8,OPTION('S') IS THE 'S' OPTION ON ?
J DEMLBL YES. EDIT SHORT ELEMENT HEADING
TEP,U A8,OPTION('L') LONG LISTING DESIRED ?
J BHEAD RIGHT. EDIT SUPER HEADING
JDEM DEMLBL EDIT SHORT HEADING FOR DEMAND
.
. BATCH ELEMENT HEADING
.
BHEAD A$FD1 ('H,,1,') EDIT HEADING PREFIX
LA,U A3,25 LOAD MAXIMUM CHARACTERS IN NAME/VER
DL A0,EIEN,X7 LOAD ELEMENT NAME
TZ NCP CYCLE ZERO ?
TZ SDFMODE PRINTING SDF FILE ?
J BHNCK YES. SKIP CYCLE EDITING
AA,U A3,4 INCREMENT LENGTH FOR CYCLE NUMBER
BHNCK AND,U A1,077 AND OFF LAST CHARACTER
TE,U A2,' ' IS IT A SPACE ?
J BHVCK NO. CHECK VERSION
ANA,U A3,1 DECREMENT CHARACTERS REQUIRED
DSL A0,6 SHIFT OFF NEXT CHARACTER
JNZ A1,BHNCK KEEP ON CHECKING NAME
BHVCK DL A0,EIVER,X7 LOAD VERSION FOR ELEMENT
TE A0,R15 ALL SPACES ?
J VCOUNT NO. GO COUNT CHARACTERS IN IT
ANA,U A3,13 YES. DECREMENT LENGTH AND SLASH
VCOUNTR ANU,U A3,96-66 COMPUTE CHARACTER OVERFLOW ON RIGHT
LA,U A0,66+5 LOAD PAGE CENTRE COLUMN NUMBER
ANA,U A0,,A3 COMPUTE START COLUMN TO CENTRE HEADING
TN A4 WILL HEADING OVERFLOW ON RIGHT ?
ANA A0,A4 YES. SLIDE LEFT TO ACCOMODATE
A$COL . TAB TO START COLUMN
DL A4,EIEN,X7 LOAD NAME OF ELEMENT
LMJ X6,EDSN EDIT NAME, DOUBLE SPACED
DL A4,EIVER,X7 LOAD ELEMENT VERSION
TNE A4,R15 IS IT BLANK ?
J NVTE YES. SACRIFICE THE VERSION
LA,U A0,'/ ' LOAD SLASH FOR NAME/VER EDITING
TZ SDFMODE SDF FILE MODE ?
LA,U A0,'* ' YES. EDIT START BETWEEN QUAL AND FILE
A$FD3 . EDIT NAME SEPARATOR
LMJ X6,EDSN EDIT VERSION
NVTE TNZ SDFMODE PRINTING SDF FILE ?
TNZ NCP NO. IS ELEMENT CYCLE ZERO ?
J NVTP YES. DON'T EDIT CYCLE
A$FD3 ('( ') EDIT LEFT PARENTHESIS
A$DECV NCP EDIT CYCLE NUMBER (NO SPACES)
A$FD3 (' )') EDIT RIGHT PARENTHESIS
NVTP A$FD4 (' .L,0 . ') EDIT EJECT COMMAND INTO IMAGE
LA,H2 A0,,X1 LOAD IMAGE ADDRESS
LXI,U A0,33 LOAD IMAGE LENGTH
APRTCN$ . GENERATE PRINT CONTROL IMAGE
A$DITX . TERMINATE EDIT MODE
A$DIT . RE-ENTER EDIT MODE, CLEARING LINE
J DOLIST GO EDIT LISTING
VCOUNT AND,U A1,077 GET LOW-ORDER CHARACTER
TE,U A2,' ' TRAILING SPACE ?
J VCOUNTR NO. NAME / VERSION LENGTH IS RIGHT
ANA,U A3,1 DECREMENT LENGTH OF NAME AND VERSION
DSL A0,6 SHIFT DOWN NEXT CHARACTER
J VCOUNT LOOK AT NEXT CHARACTER
.
. EDIT DEMAND ELEMENT NAME LINE
.
DEMLBL A$FD2 EIEN,X7 EDIT ELEMENT NAME
LA A0,EIVER,X7 LOAD VERSION
TNE A0,R15 ALL SPACES ?
J DEMLPR YES. PRINT JUST NAME
LA,U A0,'/' GET A SLASH
TZ SDFMODE SDF FILE BEING LISTED ?
LA,U A0,'*' YES. GET STAR
A$FCHR . EDIT SEPARATOR CHARACTER
A$FD2 EIVER,X7 EDIT VERSION
DEMLPR TNZ SDFMODE SDF MODE LISTING ?
TNZ NCP NO. CYCLE ZERO ELEMENT ?
J DEMLPT YES. SKIP CYCLE EDITING
A$FCHR '(' EDIT LEFT PARENTHESIS
A$DECV NCP EDIT CYCLE NUMBER OF LATEST CYCLE
A$FCHR ')' EDIT RIGHT PARENTHESIS
DEMLPT R$PRTA 1 PRINT THE SHORT HEADING
DOLIST LA,U A15 CLEAR LINE NUMBER
sz ctslno clear CTS line number present
LA A0,EITXTA,X7 LOAD ELEMENT TEXT ADDRESS
SA A0,SDFADR,X9 SET UP STARTING ADDRESS OF ELEMENT
LA,U A0,,X9 LOAD SDF PACKET ADDRESS
sdfio . OPEN SDF INPUT
J SDFERR SDF I/O ERROR. TERMINATE ELEMENT
BRELR X7 RELEASE ELEMENT SELECT ITEM
.
. READ AND INTERPRET LABEL
.
SZ CHARSET ASSUME FIELDATA IF NO LABEL IMAGE
la a0,sdfmode load SDF file mode flag
sa a0,cyclesupp set to suppress cycles if SDF input
TZ SDFMODE SDF FILE BEING LISTED ?
J NEXTIMAGE YES. NOTHING SPECIAL ABOUT LABEL
LA,U A0,,X9 GET FCT ADDRESS FOR SDFI
sdfi . READ LABEL IMAGE FROM ELEMENT
J SDFERR I/O ERROR. TERMINATE ELEMENT
j txtend missing label is same as end of file
LA,S1 A1,SDFICW,X9 LOAD CONTROL IMAGE TYPE
TE,U A1,050 LABEL IMAGE TYPE ?
j nextim1 no label. roar right into text code
la,s3 a1,sdficw,x9 load element type designator
te,u a1,'S' is this a SIR created element ?
snonz cyclesupp no. don't look at cycle information
LR,S6 CHARSET,SDFICW,X9 LOAD CHARACTER SET OF TEXT
.
. IMAGE PROCESSING LOOP
.
NEXTIMAGE LA,U A0,,X9 LOAD FCT ADDRESS
sdfi . READ NEXT IMAGE
J SDFERR I/O ERROR. EDIT MESSAGE
J TXTEND END-OF-TEXT. QUIT
nextim2 TP SDFICW,X9 IS IMAGE A CONTROL WORD ?
J CNTLWD YES. INTERPRET CONTROL IMAGE
tz cyclesupp is cycle information meaningful ?
J NODCYC YES. IGNORE DELETE FLAG FOR IMAGES
TZ,S4 SDFICW,X9 IS IMAGE DELETED ?
J BACKCYCLE YES. CHECK 'B' OPTION ABOUT LISTING
NODCYC AA,U A15,1 INCREMENT LINE NUMBER
TNZ SHORT SHORT OUTPUT DESIRED ?
J LONGLN NO. EDIT LONG FORMAT LINE NUMBER
tnz ctslno did this line have CTS number ?
j nodcln no. edit normal sequential numbers
a$decf 5,ctslin yes. edit the CTS number
j cidlne skip to copy the text
.
nextim1 snonz cyclesupp missing label. mark cycles meaningless
j nextim2 go examine as if it were text
.
nodcln A$DECF 5,A15 EDIT THE LINE NUMBER
cidlne A$SKIP 1 SKIP AFTER LINE NUMBER
TOP A8,(OPTION('I')) PRINT CYCLE INFORMATION ?
J IMAGEP NO. GO EDIT IMAGE INTO LINE
LMJ X5,CYCLED EDIT CYCLE INFORMATION
CIPRD A$SKIP 1 SKIP ONE SPACE AFTER IT
J IMAGEP GO PRINT THE IMAGE
.
LONGLN A$SKIP 10 SKIP TEN SPACES
tnz ctslno does this line have CTS number ?
j longnc no. skip CTS number code
a$decf 6,ctslin yes. edit the CTS line number
a$fchr ':' edit colon after it to flag
sz ctslno indicate CTS number bound to line
j ciprt go print the line
.
longnc A$DECF 6,A15 EDIT LINE NUMBER
A$FCHR '.' EDIT PERIOD
CIPRT A$COL TXCOL TAB TO TEXT COLUMN
IMAGEP LA,S2 A1,SDFICW,X9 LOAD IMAGE LENGTH IN WORDS
LA,S1 A0,SDFICW,X9 LOAD CONTROL IMAGE TYPE
TE,U A0,041 UP-4144 REV 3 SECTION 24.2.3
TNE,U A0,050 UP-4144 REV 3 SECTION 24.2.3
J FDIMG EDIT LABEL ALWAYS IN FIELDATA
TNZ CHARSET ASCII IMAGE ?
J FDIMG NO. EDIT FIELDATA IMAGE
LSSL A1,2 CHARACTER LENGTH IS WORDS * 4
TG,U A1,132-25 TOO LONG ?
LA,U A1,132-25 YES. TRUNCATE IT
LA,U A0,SDFIMAGE,X9 LOAD IMAGE START ADDRESS
A$QCOP . COPY IMAGE TO BUFFER
J IMPR GO PRINT IMAGE
.
FDIMG MSI,U A1,6 COMPUTE CHARACTERS IN IMAGE
TG,U A1,132-25 TOO LONG FOR LINE ?
LA,U A1,132-25 YES. TRUNCATE IT
LA,U A0,SDFIMAGE,X9 LOAD IMAGE START ADDRESS
A$FCOP . COPY FIELDATA AND TRANSLATE
.
IMPR TN SDFICW,X9 CONTROL IMAGE ?
TZ cyclesupp PRINTING AN ELEMENT ?
J IMPRS NO. PRINT THIS LINE
TNZ SHORT SHORT OUTPUT BEING EDITED ?
TEP A8,(OPTION('I')) CYCLE INFORMATION DESIRED ?
J IMPRS NO. DON'T EDIT IT AT ALL
A$COL 128 TAB TO RIGHT OF PAGE
LMJ X5,CYCLED EDIT CYCLE INFORMATION
IMPRS R$PRTA 1 PRINT THE IMAGE
J NEXTIMAGE PROCESS NEXT SOURCE IMAGE
.
. END OF ELEMENT. CLOSE AND CHECK FOR NEXT ELEMENT
.
TXTEND LA,U A0,,X9 LOAD FCT ADDRESS
sdfic . CLOSE SDF INPUT
TNZ SDFMODE SDF FILE BEING LISTED ?
J PRINTNE PROCESS NEXT ELEMENT ON LIST
.
. TERMINATION PROCESSING FOR ALL ELEMENTS COMPLETED
.
PRINTD BRELA . RELEASE ALL BUFFERS STILL ALLOCATED
TOP A8,(OPTION('H')) NO HEADING FOR ELEMENTS ?
TEP,U A8,OPTION('S') SHORT LISTING BEING GENERATED ?
J NOHDOF YES. DON'T TURN OFF HEADING OR EJECT
TEP,U A8,OPTION('L') LONG LISTING BEING GENERATED ?
J HDGOFF YES. TURN OFF HEADING
JDEM NOHDOF OTHERWISE, TURN OFF ONLY FOR BATCH
HDGOFF A$FD4 ('H,N .L,0') TURN OFF HEADING AND EJECT
LX,H2 A0,,X1 GET ADDRESS OF IMAGE
LXI,U A0,33 LOAD IMAGE LENGTH
APRTCN$ . SUBMIT THE CONTROL IMAGE
NOHDOF R$DITXA . TERMINATE EDITING MODE
V PRINTER RELEASE LOCK ON THE PRINTER
COMPLETE . COMPLETE THE COMMAND
.
. PROCESS DELETED IMAGE
.
BACKCYCLE LA,S4 A0,SDFICW,X9 LOAD CYCLE THIS IMAGE WAS DELETED
TE A0,NCP WAS IMAGE DELETED IN LAST UPDATE ?
J BCIDC NO. DON'T INCREMENT DELETE COUNT
LA A0,IDC LOAD INTERVENING DELETED COUNT
AA,U A0,1 INCREMENT INTERVENING DELETED IMAGES
SA A0,IDC SALT AWAY THE COUNT UNTIL WE EDIT IT
BCIDC TOP A8,(OPTION('B')) SHOULD DELETED IMAGES BE PRINTED ?
J NEXTIMAGE NO. IGNORE THIS IMAGE
A$FD1 ('D(') EDIT 'D(' TO FLAG IT
A$DECV SDFICW,X9,S4 EDIT CYCLE IMAGE DELETED IN
A$FCHR ')' EDIT CLOSE PARENTHESIS
TNZ SHORT ABBREVIATED LISTING BEING GENERATED ?
J CIPRT PRINT IMAGE WITH NO LINE NUMBER
LA,U A0,6 YES. TAB TO TEXT COLUMN
TEP A8,(OPTION('I')) ...UNLESS CYCLE INFORMATION IS ON...
LA,U A0,13 ...AND TEXT IS MOVED TO THE RIGHT
A$COL . TAB TO START OF TEXT FOR NORMAL LISTING
J IMAGEP GO PRINT THE IMAGE
.
. PROCESS CONTROL IMAGE IN TEXT
.
CNTLWD LA,S1 A0,SDFICW,X9 LOAD IMAGE TYPE
TE,U A0,050 LABEL IMAGE IN DATA FILE ?
TNE,U A0,042 CHANGE CHARACTER SET ?
LR,S6 CHARSET,SDFICW,X9 YES. LOAD NEW CHARACTER SET
te,u a0,053 is this a CTS line number ?
j cntlnct no. skip CTS code
snonz ctslno yes. flag CTS line number on line
lr,h2 ctslin,sdficw,x9 load the CTS line number
cntlnct TOP,U A8,OPTION('P') PRINT CONTROL IMAGES ?
J NEXTIMAGE GO PROCESS NEXT IMAGE IN FILE
A$FCHR '(' EDIT LEFT PARENTHESIS
A$OCTF 12,SDFICW,X9 EDIT IMAGE CONTROL WORD
A$FCHR ')' EDIT CLOSING PARENTHESIS
TZ SHORT SHORT FORMAT OUTPUT ?
J CIPRD YES. EDIT SHORT LINE FORMAT
J CIPRT GO PRINT THE IMAGE
.
. IGNORE NON-SYMBOLIC ELEMENT
.
PRINTSK BRELR X7 RELEASE ELEMENT ITEM BUFFER
J PRINTNE PROCESS NEXT ELEMENT
.
. INPUT FILE SPECIFIED WAS TAPE. PRINT SDF FORMAT IF NO ELTS SPECIFIED
.
TASDFS TNZ ELALL,X9 WAS AN ELEMENT CLASS SPECIFIED ?
J ELTFT YES. ERROR, CANNOT PRINT ELEMENTS FROM
. TAPE.
LA A8,CDOPTS,X8 LOAD COMMAND OPTIONS
SNONZ SDFMODE NO. SET SDF PRINT MODE
J SDFRTN INITIALISE FOR SDF INPUT
.
. SET UP TO PROCESS SDF FILE
.
SDFPRINT TNZ ELALL,X9 IS SPECIFICATION FILE. OR FILE.ELT/VER ?
J NOTPGF FILE.ELT... SAY NOT A PROGRAM FILE
LA A8,CDOPTS,X8 LOAD OPTIONS FOR LATER PERUSAL
LA A1,A14 LOAD FTI ADDRESS
LA,S1 A0,6,A1 LOAD CONTROL WORD TYPE FOR FIRST IMAGE
TE,U A0,050 IS FIRST IMAGE A LABEL ?
J NOTSDF NO. NOT AN SDF FILE
SNONZ SDFMODE SET SDF PRINT MODE
J SDFRTN RETURN TO SET UP PACKET
.
. I/O ERROR FROM SDFI. EDIT MESSAGE AND TERMINATE ELEMENT
.
SDFERR A$QMSG IOERM EDIT ERROR MESSAGE FOR I/O ERROR
PRTMLN R$PRTA 2 PRINT THE MESSAGE
LA,U A0,,X9 LOAD FCT ADDRESS
sdfic . CLOSE INPUT ON ELEMENT
ZAP . ROADBLOCK FILE FOR FURTHER OPERATIONS
J PRINTNE GO PRINT NEXT ELEMENT
.
. PRINT MESSAGE IF NO ELEMENTS WERE SELECTED
.
PRINTMT R$DITXA . TERMINATE ASCII EDITOR
. ** UNTIL ASCII STATUS ELEMENT IS AVAILABLE **
R$DIT . FIRE UP FIELDATA EDITOR
LA,U A0,NESM LOAD NO ELEMENTS SELECTED TEXT
TNE A9,A10 DELETE COUNT EQUAL ELEMENT COUNT ?
LA,U A0,AEDM YES. THEN ALL ELEMENTS WERE DELETED...
TNZ A10 ...UNLESS...
LA,U A0,FEM ...THE FILE WAS EMPTY
FPROUT E$MSG . COPY THE MESSAGE TEXT
LA A0,ELFDT,X9 LOAD FDT ADDRESS FOR PARAMETER
LMJ X11,FIST APPEND FILE AND STATEMENT
BRELA . RELEASE ALL THE ACCUMULATED BUFFERS
V PRINTER RELEASE LOCK ON PRINTER
COMPLETE . TERMINATE THIS COMMAND
.
. FILE SPECIFIED IS NOT A PROGRAM FILE
.
NOTPGF LA,U A10,PGFMSG LOAD MESSAGE FOR NOT A PROGRAM FILE
NOTCMN R$DITXA . TERMINATE ASCII EDITING MODE
R$DIT . ENTER ANTIQUATED EDITING MODE
LA A0,A10 LOAD MESSAGE ADDRESS
J FPROUT EDIT MESSAGE AND APPEND FILE NAME
.
. ONLY FILE NAME WAS SPECIFIED, BUT FILE WAS NEITHER ELT OR SDF FORMAT
.
NOTSDF LA,U A10,SDFMSG LOAD MESSAGE TEXT FOR SDF FILE ERROR
J NOTCMN GO PRINT THE MESSAGE
.
. ELEMENT CLASS SPECIFIED AND INPUT IS A TAPE FILE
.
ELTFT LA,U A10,ELTMS LOAD MESSAGE FOR ELT PRINT FROM TAPE
J NOTCMN GO GIVE THE ERROR MESSAGE
.
. EDIT DOUBLE SPACED NAME
.
EDSN LR,U R4,11 LOAD COLUMN COUNT FOR NAME
NHL LDSC A4,6 SHIFT NEXT CHARACTER TO S6 OF A5
AND,U A5,077 AND OFF NEXT CHARACTER
TNE,U A6,' ' IS IT A SPACE ?
J 0,X6 RETURN IF IT'S A SPACE
A$FCHR A6,,W NO. EDIT IT INTO HEADING
A$SKIP 1 DOUBLE SPACE HEADING
JGD R4,NHL LOOP FOR ALL CHARACTERS
J 0,X6 RETURN
.
.
. EDIT CYCLE INFORMATION:
.
. IF IMAGE IS NEW: *NEW
. IF DELETED IMAGES: **-N
. IF NON-OLDEST CYCLE: NNN
.
. LMJ X5,CYCLED
.
cycled tz cyclesupp is cycle information meaningful ?
j imprsk no. skip printing it
LA,S6 A0,SDFICW,X9 LOAD CYCLE THIS IMAGE ADDED
JZ A0,IMPRCD CYCLE ZERO IMAGE ?
TE A0,NCP IS THIS IMAGE MEMBER OF NEWEST CYCLE ?
J IMPRCD NO. CHECK IF DELETED IMAGES ARE AROUND
A$FD1 ('*NEW') NEW. EDIT FLAG FOR THE LINE
J 0,X5 RETURN
IMPRCD TNZ IDC ANY DELETED IMAGES ?
J IMPRCC NO. CHECK CYCLE NUMBER
LA,U A0,'**' LOAD TWO STARS
LA A1,IDC LOAD DELETED IMAGES COUNT
TG,U A1,10 MORE THAN 9 DELETED IMAGES ?
LA,U A0,'*' YES. ONLY ONE STAR
TG,U A1,100 MORE THAN 99 DELETED IMAGES ?
LA,U A0 YES. NO STARS
TG,U A1,1000 MORE THAN 999 DELETED IMAGES ?
LA,U A1,999 YES. LIMIT DELETE EDITING TO 999
SA A1,IDC STORE POSSIBLY LIMITED DELETE COUNT
A$FD1 . EDIT STARS BEFORE NUMBER DELETED
LNA A0,IDC LOAD NEGATIVE OF DELETE COUNT
A$DECV . EDIT NUMBER DELETED
SZ IDC CLEAR DELETE COUNT
J 0,X5 RETURN
IMPRCC LA,S6 A0,SDFICW,X9 LOAD CYCLE ADDED
JZ A0,IMPRSK SKIP IF CYCLE ZERO
TNE A0,OCP OLDEST CYCLE PRESENT ?
J IMPRSK SKIP IF CYCLE ZERO
A$DECF 4 EDIT THE CYCLE NUMBER IMAGE CAME IN
J 0,X5 RETURN
IMPRSK A$SKIP 4 SKIP FOUR POSITIONS
J 0,X5 RETURN
.
PURE DATA
.
ascii
IOERM 'SDF I/O error. Element terminated.&'
MISLM 'Missing or malformed label image: & ''&''.&'
fieldata
NESM 'NO ELEMENTS SELECTED FROM !'
AEDM 'ALL ELEMENTS DELETED IN !'
FEM 'EMPTY !'
PGFMSG 'FILE NAMED IS NOT A PROGRAM FILE: !'
SDFMSG 'NEITHER PROGRAM FILE OR SDF FORMAT: !'
ELTMS 'CANNOT LIST ELEMENTS OFF TAPE !'
END