DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦e0c49fd58⟧

    Length: 16874 (0x41ea)
    Notes: pts_type(SC)
    Names: »FSNAME.SC«

Derivation

└─⟦f45ea3bc3⟧ Bits:30009713 Philips computer tape "WSM"
    └─⟦this⟧ »WSM:CREA/FSNAME.SC« 

PTS(SC)

	IDENT	FSNAME	REL=2.3,850606,870155940230 

*********************************************************************** 
* 
*     LATEST UPDATE 850606 MADE BY JE 
* 
*     HISTORY=
*             850606/JE  CHECK OVFL-ENTRIES IN ATTAB 'SEATAB' 
*             850419/CJ  MUL&DIV DONE BY ASSRUT 
*             850313/JE  PERFORMANCE INDICATE IF DYN FIELD WAS CHANGED
*             841120/CJ  MUL&DIV DONE BY ASSRUT 
*             840925/CJ  ADJUSTMENT FOR CANCEL-KEY IN NAMESET 
*             831208/CJ  ADAPTION TO "NEW" POLICE 
*             831114/CJ  NOT OK IF <CAN> ON EMPTY SCREEN - SOLVED 
*             830923/CJ  STPBLK ON MAIN SCREEN IMPL.
*             830718/CJ  NEW ATTRIBUTES IN FNAMES 
*             830426/CJ  ADAPTION OF SYS.LINE FOR VD81
* 
**********************************************************************
	DDUM	WSMDDV
	PDIV 
	ENTRY	FSNAME 
	EXPROC	READIN,PKTAB,PKTAB,PKTAB,PLIT	***READ IN ONE FIELD
	EXPROC	WSMERR,PKTAB,PLIT	***(ERROR-)MESSAGE ROUTINE
	EXPROC	POLICE,PBIN,PBOOL,PBOOL,PSTRG	***POOL-LIMIT-CONTROLLER
	EXPROC	DISPLY,PBIN	***DISPLAY FORMAT SECTION 
	EXPROC	CURSET,PBIN,PBIN,PDSET	***CURSOR SETTING
	EXPROC	STPBLK	***STOP BLOCKING 
	EXPROC	STABLK	***START BLOCKING
	EXT	ICLEAR	---ASSRUT:CLEAR ITEM
	EXT	EMPTYT	---EMPTY ITEM 
	EXT	CHANFC	---CHANGE FILE CODE 
	EXT	WXDIV	---DIVISION
	EXT	WXMUL	---MULTIPLICATION
* 
CED	EQU	X'B7'	CHANGE ECHO-DEVICE
BRW	EQU	X'85'	BASIC WRITE 
ERS	EQU	X'B1'	ERASE 
	EJECT
	INCLUDE	WSMKEY,LIST
	EJECT
	INCLUDE	KEYT5,LIST 
	INCLUDE	KEYT9,LIST 
	INCLUDE	KEYT10,LIST
	INCLUDE	KEYT11,LIST
	INCLUDE	KEYT3,LIST 
	EJECT
FSNAME	PROC 
	PERF	STPBLK	***STOP BLOCKING ON MAIN SCREEN
	BG	FSN982	JUMP IF MEMORY OVERFLOW
	ATTFMT	FHOME 
	THOME
	MOVE	LBIN11,W0	ATTRIBUTE-TABLE-POINTER:=0
	CLEAR	LBOOL3	FALSE = FORWARD SEARCH
	CLEAR	LBOOLA	FALSE=EOI KEY 
	CBNE	GBIN2,W1,FSN032	JMP IF NOT RETURN 
	TBT	VD82,FSN020
	ERASE	0,W1,W0
FSN020
	XCOPY	GBIN4,W1,W1,GBIN8,W0	RESTORE RETURN-ADRESS BUFFIND 
	XCOPY	GBIN5,W1,W1,GBIN8,W1	RESTORE RETURN-ADRESS POINTER 
	MOVE	LBIN10,GBIN8	RESTORE STATIC FIELD DISPL.
	MOVE	LBIN16,W1 
	MOVE	LBIN4,=X'0101'
	MOVE	LBIN14,W0 
	PERF	CURSET,LBIN4,LBIN1,SCRN	***CURSOR SETTING 
	TBF	VD82,FSN025	JMP IF NOT VD82
	MOVE	LBIN2,W3	BUFFERLENGTH:=3
	MOVE	LSTR9A,=X'9B324A00'	CONTROL-CODE ERASE DISPLAY
	DSC	SCRN,BRW,LBIN1,LSTR9A,LBIN2	ERASE DISPLAY
FSN025
	MOVE	LBIN1,W0
	PERF	DISPLY,LBIN8	***DISPLAY FORMAT SECTION
FSN032
	TBT	LBOOL8,FSN040	JUMP IF UPD OLD
	CBE	GBIN2,W1,FSN040	JMP IF  RETURN-KEY 
FSN030
	PERF	SEATAB	***SEARCH NEXT DYN.FIELD POS 
	TBT	LBOOL4,FSN038	JUMP IF END OF TABLE FOUND 
	ADD	LBIN11,W2	ADJUST TO REACH SEQ. NO
	XCOPY	ATTAB,LBIN11,W1,W0,W0	CLEAR SEQ NO 
	ADD	LBIN11,W2	ADJUST POINTER 
	B	FSN030 
FSN038
	MOVE	LBIN11,W0	ATTRIBUTE-TABLE POINTER:=0
FSN040
	DSC	KEYB,CED,SYSLFC	CHANGE ECHO-DEVICE 
	CALL	CHANFC,SCRN,SYSLFC	CHANGE FILE CODE 
	ATTFMT	FNAMES
	MOVE	LBIN18,=X'0101'	CURSOR POS:=0101
	TBT	VD82,FSN041	JMP IF  VD82/83
	MOVE	LBIN18,=X'1801'	CURSOR POS:=2401
FSN041
	PERF	CURSET,LBIN18,LBIN2,SYSL	***CURSOR SET
	DSC	SYSL,2,COLS	ERASE SYSTEMLINE 
	MOVE	LBIN18,W1	LOAD FOR DISP. LAST LINE
	TBT	VD82,FSN050	JMP IF VD82/83 
	MOVE	LBIN18,W24	LOAD FOR DISP SYSLINE VD47/81
	EJECT
* 
*   INITIAL VALUES
* 
FSN050
	MOVE	LBIN13,W0	FIELD-ID-TABLE-POINTER:=0 
	TBT	LBOOL8,FSN060	JUMP IF UPD OLD
	CBE	GBIN2,W1,FSN065	JUMP IF RETURN-KEY 
	CALL	ICLEAR,FIDTAB	---CLEAR FIELD-ID-TABLE 
	B	FSN065 
FSN060
	MOVE	LBIN13,GBIN15	LOAD FIRST FREE POS OF FID-TAB
FSN065
	MOVE	GBIN2,W0	CLEAR RETUR-CODE 
	PERF	SEATAB	***SEARCH NEXT DYN.FIELD POS 
	TBF	LBOOL4,FSN095	JUMP IF END OF TABLE FOUND 
	B	FSN260	
FSN095
	CALL	CHANFC,SCRN,SYSLFC	CHANGE FILE CODE 
	DISPLAY	4,LBIN18,LBIN18	DISPLAY FORMAT ON LAST ROW 
FSN098
	CALL	CHANFC,SCRN,SYSLFC	CHANGE FILE CODE 
	ERASE	2,W1,W1	ERASE/CLEAR FIELD-ID 
	CBE	LBIN12,W0,FSN099	JUMP IF NEW DYN FIELD 
	MOVE	LBIN6,LBIN12	LOAD SEQ.NO
	CALL	WXMUL,LBIN6,W5,LBIN6
	SUB	LBIN6,W5	CALC ELEMENT ADRESS 
	XCOPY	LSTR4A,W0,W4,FIDTAB,LBIN6	STORE OLD CONTENTS 
	DISPLAY	1,W1,W1	DISPLAY OLD FIELD-ID 
FSN099
	CALL	CHANFC,SCRN,SCRNFC	CHANGE FILE CODE 
	DSC1	SCRN,6,LBIN7	SET CURSOR 
FSN100
	MOVE	LBIN3,W1	EXPECTED LENGTH
	KI	.NE,KEYB,LSTR81,KEYT9,LBIN3,LBIN2 
	BL	FSN150	ERROR OR MAX SIZE REACHED
	CBE	LBIN2,W0,FSN110	JUMP IF POWER OFF
	IB	LBIN2,FSN100,FSN100,	CLR,CAN	C
		FSN300,FSN260,FSN120,	RET,ENT,PLS	C 
		FSN130	BTB
	EJECT
* 
*    POWER OFF
* 
FSN110
	CALL	CHANFC,SCRN,SCRNFC	CHANGE FILE CODE 
	MOVE	LBIN16,W1	1ST ROW 
	MOVE	LBIN4,=X'0101'	ROW:=1 COL:=1
	MOVE	LBIN14,W0	ATTR.TAB POINTER:=0 
	MOVE	LBIN1,W0
	PERF	DISPLY,LBIN8	***EDIT AND WRITE TO E-O-S 
	CALL	CHANFC,SCRN,SYSLFC	CHANGE FILE CODE 
	B	FSN095 
	EJECT
* 
*   FORWARD TABULATION
* 
FSN120
	ADD	LBIN11,W4	NEXT DYN FIELD 
	CLEAR	LBOOL3	FALSE = FORWARD SEARCH
	PERF	SEATAB	***SEARCH NEXT DYN.FIELD POS 
	TBT	LBOOL4,FSN260	JUMP IF END OF TABLE FOUND 
	B	FSN098	GO ON 
	EJECT
* 
*   BACKWARD TABULATION 
* 
FSN130
	CBE	LBIN11,W0,FSN135	JUMP IF BEGINOFTAB
	SUB	LBIN11,W4	PREVIOUS DYN FIELD 
FSN135
	SET	LBOOL3	TRUE = BACKWARD SEARCH
	PERF	SEATAB	***SEARCH NEXT DYN.FIELD POS 
	TBT	LBOOL4,FSN260	JUMP IF END OF TABLE FOUND 
	B	FSN098	GO ON 
	EJECT
* 
*   CHANGE MODE 
* 
FSN150
	MOVE	LSTR2,='++' 
	XCOPY	LSTR1,W0,W1,LSTR81,W0	COPY 1ST CHAR. 
	CBL	LSTR1,=C'A',FSN100	JMP IF NOT ALPHABETIC 
	CBG	LSTR1,=C'Z',FSN100	JMP IF NOT ALPHABETIC 
	CALL	CHANFC,SCRN,SYSLFC	CHANGE FILE CODE 
	MOVE	LBIN3,=X'181E'	CURSOR POSITION
	TBF	VD82,FSN160
	MOVE	LBIN3,=X'011E'	SYSTEM LINE
FSN160	PERF	CURSET,LBIN3,LBIN2,SYSL 
	CALL	ICLEAR,LSTR4A	---CLEAR ITEM HEX-00
	MOVE	LBIN2,W3
	INSRT	LSTR81,W0,W2,LSTR2,W0	PUT IN "++"
	WRITE	SYSL,LSTR81,LBIN2
	DLETE	LSTR81,W0,W2	DELETE "++" 
	CBE	LBIN12,W0,FSN200	JMP IF NEW FIELD-ID 
	XCOPY	LSTR4A,W0,W4,FIDTAB,LBIN6	STORE OLD CONTENTS 
	MOVE	LSTR9A,=X'2000'	LOAD WORKITEM SPACE & EMPTY 
	MOVE	LBIN4,W0	POINTER:=0 
	MATCH	LSTR4A,LBIN4,W4,LSTR9A,W0,W1	SEARCH 1ST SPACE
	BNOK	FSN200	JMP IF NO SPACES 
	MOVE	LBIN3,W4	LOAD LENGTH OF ITEM
	SUB	LBIN3,LBIN4	CALC NUMB OF H-00 TO PAD 
	SUB	LBIN3,W1	ADJUST
	XCOPY	LSTR4A,LBIN4,LBIN3,LSTR9A,W1	LOAD EMPTY POSITIONS
	EJECT
FSN200
	THOME
	GETABX	LBIN4 
	PERF	READIN,KEYT10,KEYT11,KEYT3,=W'37'	***READ IN ONE FIELD
	IB	LBIN2,FSN220,FSN215,	ENT OR EOI,CAN	C 
		FSN300,FSN110	RET,POF 
	EJECT
* 
*    CANCEL - KEY 
* 
FSN215
	SUB	LBIN11,W4	ADJUST FOR CANCEL-KEY

* 
*   END-OF-ITEM-KEY 
* 
FSN220
	BNZ	FSN221	EOI-KEY 
	SET	LBOOLA	ENTER-KEY 
	MOVE	LBIN2,W4	4=ENTER KEY-INDEX
	EJECT
FSN221
	ADD	LBIN11,W2	ADJUST TO REACH SEQNO-POS
	CBE	LBIN1,W0,FSN228	JMP IF SAME FID ENTERED (NO INPUT) 
	CBNE	LBIN12,W0,FSN222	JUMP IF OLD ENTRY
	MOVE	LBIN6,LBIN13	STORE 1ST FREE ENTRY ADRESS
FSN222
	CMP	LBIN6,LFBIN	JUMP IF
	BE	FSN984	MEMORY OVERFLOW
	XCOPY	FIDTAB,LBIN6,W4,LSTR4A,W0	STORE FIELD-ID 
	CBNE	LBIN12,W0,FSN225	JUMP IF OLD ENTRY
	ADD	LBIN6,W5 
	CALL	WXDIV,LBIN6,W5,LBIN6	CALC SEQ.NO OF FIDTAB
	XCOPY	ATTAB,LBIN11,W1,LBIN6,W1	STORE SEQ.NO OF FIDTAB
	ADD	LBIN13,W5	ADJUST 1ST FREE ENTRY ADRESS 
FSN225
	CBE	LBIN12,W0,FSN228	JMP IF NEW FID WAS INSERTED 
	SET	CMBOOL	T=DYN FIELD-ID WAS CHANGED
FSN228
	TBT	LBOOLA,FSN260	JUMP IF ENTER-KEY
	ADD	LBIN11,W2	NEXT DYN FIELD 
	CLEAR	LBOOL3	FALSE = FORWARD SEARCH
	PERF	SEATAB	***SEARCH NEXT DYN.FIELD POS 
	TBT	LBOOL4,FSN260	 
	B	FSN098	GO ON IF E-O-TABLE NOT FOUND
	EJECT
* 
*    CHECK IF ANY EMPTY FIELD-ID
* 
FSN260
	CLEAR	LBOOL3	FALSE = FORWARD SEARCH
	MOVE	LBIN11,W0	ATTRIBUTE-TABLE-POINTER:=0
FSN265
	PERF	SEATAB	***SEARCH NEXT DYN.FIELD POS 
	TBT	LBOOL4,FSN400	JUMP IF END OF TABLE FOUND 
	CBE	LBIN12,W0,FSN275	JUMP IF EMPTY FID FOUND 
	MOVE	LBIN6,LBIN12	LOAD SEQ.NO
	CALL	WXMUL,LBIN6,W5,LBIN6
	SUB	LBIN6,W5	CALC ELEMENT ADRESS 
	XCOPY	LSTR4A,W0,W4,FIDTAB,LBIN6	STORE OLD CONTENTS 
	CALL	EMPTYT,LSTR4A	EMPTY ? 
	BNOK	FSN275	JUMP IF EMPTY
	ADD	LBIN11,W4	NEXT DYN FIELD 
	B	FSN265	GO ON 
FSN275
	CLEAR	LBOOLA	CLEAR ENT ERR.FLAG
	MOVE	LBIN1,W0	NO CLEAR 
	MOVE	LBIN4,W5	MESSAGE  NO 5
	PERF	WSMERR,KEYT5,=W'37'	***(ERROR-)MESSAGE ROUTINE
	CBE	LBIN2,W0,FSN270	JUMP IF POWER OFF
	IB	LBIN2,FSN098,FSN098,	CLR,CAN	C
		FSN300	RET,ENT
	B	FSN098 
FSN270
	MOVE	LBIN16,W1	1ST ROW 
	MOVE	LBIN4,=X'0101'	ROW:=1 COL:=1
	MOVE	LBIN14,W0	ATTR.TAB POINTER:=0 
	MOVE	LBIN1,W0
	PERF	DISPLY,LBIN8	***EDIT AND WRITE TO E-O-S 
	B	FSN275 
FSN280
	CBE	LBIN11,W0,FSN285	JMP IF ATTAB=0000 0000 ...
	SUB	LBIN11,W4	ADJUST POINTER 
FSN285
	SET	LBOOL3	TRUE = BACKWARD SEARCH
	PERF	SEATAB	***SEARCH NEXT DYN.FIELD POS 
	TBT	LBOOL4,FSN400	JUMP IF END OF TABLE FOUND 
	B	FSN098 
	EJECT
* 
*   RETUR-KEY 
* 
FSN300
	MOVE	GBIN15,LBIN13	LOAD NEW ADRESS 
	MOVE	GBIN2,W1	INDICATE RETUR KEY 
	B	FSN999 
* 
*   NORMAL END
* 
FSN400
	CBE	LBIN2,W4,FSN420	JMP IF ENTER AND NOT E-O-F 
	MOVE	LBIN1,W0	NO CLEAR 
	MOVE	LBIN4,W7	MESSAGE  NO 7
	PERF	WSMERR,KEYT5,=W'37'	***(ERROR-)MESSAGE ROUTINE
	CBE	LBIN2,W0,FSN410	JUMP IF POWER OFF
	IB	LBIN2,FSN280,FSN280,	CLR,CAN	C
		FSN300,FSN420	RET,ENT 
			POWER OFF
FSN410
	MOVE	LBIN16,W1	1ST ROW 
	MOVE	LBIN4,=X'0101'	ROW:=1 COL:=1
	MOVE	LBIN14,W0	ATTR.TAB POINTER:=0 
	MOVE	LBIN1,W0
	PERF	DISPLY,LBIN8	***EDIT AND WRITE TO E-O-S 
	B	FSN400 
	EJECT
* 
*   FIELD-NAME TABLE STORAGE
* 
FSN420
	MOVE	LBIN11,W0	ATTRIBUTE-TABLE-POINTER:=0
	MOVE	LBIN3,W0	NUMB OF DYN. FIELDS:=0 
	MOVE	LBIN2,W8	NUMB OF CHAR TO CONTROL
	MOVE	LSTR6A,=X'00FBFCFDFEFF'	STATIC FIELD OBJECT CODES 
	CLEAR	LBOOL3	FALSE = NO SPLITT OF OBJECT 
	CLEAR	VBOOL8	FALSE = NO COMP POOL-DELIMITER
FSN430
	PERF	SEATAB	***SEARCH NEXT DYNAMIC FIELD 
	TBT	LBOOL4,FSN440	JMP IF E-O-TABLE 
	CALL	WXMUL,LBIN12,W5,LBIN12
	SUB	LBIN12,W5	CALC ATTR ELEMENT ADRESS 
	PERF	POLICE,LBIN2,LBOOL3,VBOOL8,LSTR81	***POOL-LIMIT-CONTROLER 
	BG	FSN982	JUMP IF MEMORY OVERFLOW
	XCOPY	BPOOL(GBIN4),GBIN5,W4,FIDTAB,LBIN12	STORE FID
	ADD	GBIN5,W8	ADJUST POOL-POINTER 
			LEAVING 4 BYTES EMPTY
	ADD	LBIN11,W4	ADJUST TABLE POINTER 
	ADD	LBIN3,W1	INCREMENT NUMB OF DYN FIELDS
	B	FSN430	GO ON 
FSN440
* 
*    STORE NUMBER OF DYNAMIC FIELDS 
* 
	MOVE	LBIN1,=W'37'	POINTER TO BBUFFERPOOL 
	XCOPY	BPOOL(W1),LBIN1,W1,LBIN3,W1	STORE NUMB OF D.FIELDS 
	MOVE	LSTR6A,=X'0000'	LOAD EMPTY-VALUE
	MOVE	GBIN15,W0	MATCH-POINTER:=0
	MATCH	FIDTAB,GBIN15,LFBIN,LSTR6A,W0,W5	MATCH 1ST FREE POSITION 
	ADD	GBIN15,W1	ADJUST 
	CALL	WXDIV,GBIN15,W5,GBIN15
	CALL	WXMUL,GBIN15,W5,GBIN15	CALC EVEN 5-MULTIPEL-POS 
	XCOPY	GBIN9,W0,W1,GBIN4,W1	STORE RETURN-ADRESS BUFFINDEX 
	XCOPY	GBIN9,W1,W1,GBIN5,W1	STORE RETURN-ADRESS POINTER 
	B	FSN999 
	EJECT
* 
*   WORKING AREA <DATA-ITEM> EXCEEDED 
* 
FSN982
	MOVE	LBIN5,W2	BPOOL DIMENSION OVERFLOW 
	B	FSN988 
* 
FSN984
	MOVE	LBIN5,W4	FIDTAB OVERFLOW
FSN988
	MOVE	LBIN1,W0	NO CLEAR 
	MOVE	LBIN4,W2	ERRORMESSAGE NO:=2 
	PERF	WSMERR,KEYT5,=W'37'	***(ERROR-)MESSAGE ROUTINE
	B	FSN300 
* 
*   EXIT
* 
FSN999
	DSC	KEYB,CED,SCRNFC	CHANGE ECHO DEVICE 
	CALL	CHANFC,SCRN,SCRNFC	CHANGE FILE CODE 
	PERF	STABLK
	RET
	PEND 
	EJECT
* 
*   SEARCH ATTRIBUTE-TABLE TO FIND ITS ATTRIBUTE -POSITION
* 
*    INPUT            : LBIN11 = CURRENT DYNAMIC FIELD POSITION 
*                       LBOOL3 = FALSE => FORWARD SEARCH
*                                TRUE  => BACKWARD SEARCH 
*    OUTPUT           : LBIN11 = POINTER ADRESS TO NEXT OR PREVIOUS 
*                                DYNAMIC FIELD POSITON
*                       LBOOL4 = FALSE = DYNAMIC FIELD ENTRY WAS FOUND
*                              = TRUE = E-O-TABLE WAS FOUND 
*                       LBIN12 = SEQ. NO OF DYNAMIC FIELD (=0 NEW DYN FI
*                       LBIN7  = CURSOR-POSITION OF FOUND DYNAMIC FIELD 
* 
************************************************************************
SEATAB	PROC 
	MOVE	LBIN12,W0	WORKITEM:=0 
	CLEAR	LBOOL4	FALSE = DYN FIELD ENTRY FOUND 
	TBT	LBOOL3,SEA300	JUMP IF BACKWARD SEARCHING 
* 
*   FORWARD SEARCHING 
* 
SEA100
	CBE	LBIN11,LABIN,SEA200	JUMP IF END OF TABLE 
	XCOPY	LBIN1,W0,W2,ATTAB,LBIN11	FETCH ATTRIBUTE-POS.
	CBE	LBIN1,W0,SEA200	JUMP IF END-OF-TABLE 
	ADD	LBIN11,W2	NEXT SEQ. NO-POS 
	XCOPY	LBIN12,W1,W1,ATTAB,LBIN11	FETCH SEQ. NO-POS. 
	ADD	LBIN11,W2	ADJUST FOR NEXT ELEMENT-POS
	CBE	LBIN12,=X'00FF',SEA100	GO ON IF STATIC FIELD 
	MOVE	LBIN7,LBIN1	LOAD CURSERPOS FOR DYN-FIELD
	XCOPY	LBIN1,W0,W1,W0,W0	DELETE ROW NO
	CBG	LBIN1,LBIN9,SEA100	GO ON IF OVFL ENTRY 
	SUB	LBIN11,W4	ADJUST FOR THIS ELEMENT-POS
	B	SEA999	EXIT
SEA200
	SET	LBOOL4	TRUE E-O-T/B-O-T/NO ROW ENTRY 
	B	SEA999 
* 
*    BACKWARD SEARCHING 
* 
SEA300
	CBE	LBIN11,W0,SEA100	BEGIN OF TABLE REACHED
	ADD	LBIN11,W2	NEXT SEQ. NO-POS 
	XCOPY	LBIN12,W1,W1,ATTAB,LBIN11	FETCH SEQ. NO-POS. 
	SUB	LBIN11,W6	NEXT ATTRPOS 
	CBE	LBIN12,=X'00FF',SEA300	GO ON IF STATIC FIELD 
	ADD	LBIN11,W4	ADJUST FOR THIS ELEMENT-POS
	XCOPY	LBIN1,W0,W2,ATTAB,LBIN11	LOAD CURSORPOS DYN FIELD-POS. 
	MOVE	LBIN7,LBIN1	LOAD CURSERPOS FOR DYN-FIELD
	XCOPY	LBIN1,W0,W1,W0,W0	DELETE ROW NO
	CBNG	LBIN1,LBIN9,SEA999	EXIT IF NOT OVFL ENTRY <=
	SUB	LBIN11,W4	ADJUST WHEN OVFL ENTRY 
	B	SEA300	EXIT
SEA999
	RET
	PEND 
	EJECT
	INCLUDE	FNAMES,LIST
* 
*     FORMAT HOME CONTROLLED CURSER 
* 
FHOME	FRMT
	FSL
	FKI	1
	FCOPY	LSTR1
	FMEND
	END

Full view