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

⟦3d2146aa9⟧

    Length: 17238 (0x4356)
    Notes: pts_type(SC)
    Names: »RKSUBS.SC«

Derivation

└─⟦26dca8ec8⟧ Bits:30009711 Philips computer tape "RÅKON-DIVFMT"
    └─⟦this⟧ »REMIT2/RKSUBS.SC« 

PTS(SC)

 IDENT RKSUBS R]KONVERTERING 9.2 810218 NJ
 OPTNS LINES=46 
 DDUM KMD08 
 PDIV 
 ENTRY SPORG
 ENTRY PASS 
 ENTRY COPYDK 
 ENTRY IXWRIT 
 ENTRY LOD1 
 ENTRY INIT 
 EXT ATTHD1 
 EXT RKASSG 
 EXT SPCLRA 
 EXT DKIO 
 EXT ASG
 EXT DKWRIT 
 EXT DKREAD 
 EXT SPERR
 EXT SPCLRN 
 EJECT
SPORG PROC
***************************************** 
* 
* SPORG - INQUIRIES ON REGISTRATED TRANSACTIONS 
* 
* EXIT UPON COMPLETION: 
*   0 - RECORD DELIMITER WRONG
*   2 - NORMAL
*   4 - READ ERROR
*   6 - NYVALG
*   8 - NO INDEXREG. BUILT
* 
*************************************** 
SP00
 CLEAR OBS
 PERF ATTHD1
 MOVE GSWBCD3,=D'0' 
 MOVE WORK5,=D'0' 
 SET INQ1 
 PERF CLRTST
 PERF SPCLRA ASK FOR CPRNR
 IB SPBINW2,SPER6,SPER6 
 MOVE GSWBIN4,CBIN0 
 MOVE SPINPUT,CPRNR 
 MOVE SPBINW4,CBIN0 
 MOVE SPBINW1,CBIN10
 MOVE GTRECNR,STARTIX 
 MOVE GSWBIN5,CBIN5 
 PERF DKIO READ FIRST RECORD OF INDEX 
 BNOK SPER4 
 MOVE GSWSTR2,TEDBUF
 CBE GSWSTR2,=C'IX',SP05B INDEX BUILT, OK 
 RET 8
SP05A MOVE GSWBIN5,CBIN5
 PERF DKIO READ  INDEX RECORD 
 BNOK SPER4 
SP05B 
 MOVE GSWSTR20,=C' '
 MOVE GSWBIN1,CBIN1 9 INDEXES PER RECORD
 MOVE GSWSTR2,TEDBUF
SP06
 MOVE GSWBIN2,GSWBIN1 
 SUB GSWBIN2,CBIN1 COMPUTE DISPL. FOR COPY
 MUL GSWBIN2,CBIN14 
 ADD GSWBIN2,CBIN2
 COPY GSWSTR20,CBIN0,CBIN10,TEDBUF,GSWBIN2
 ADD GSWBIN2,CBIN10 DISPL. FOR INDEX
 MOVE GSWBCD1,GSWSTR20
 MOVE GSWSTR20,=C' '
 COPY GSWSTR20,CBIN0,CBIN4,TEDBUF,GSWBIN2 
 MOVE GSWBCD3,GSWSTR20
 CBE GSWBCD1,=D'0',SP07 
 CBE GSWBCD1,CPRNR,SP08 
 ADD GSWBIN1,CBIN1 TRY NEXT 
 CBNE GSWBIN1,CBIN10,SP06 UNTIL LAST
 SUB GTRECNR,CBIN1 TRY NEXT RECORD
 B SP05A
SP07
 MOVE GSWSTR80,=C'CPRNR IKKE I INDEX '
 ATTFMT LISTFRM2
 PERF SPCLRA
 CBE SPBINW2,CBIN2,SP00 MAK ? 
 B SPER6
SP08
 MOVE GSWBIN7,CBIN1 
 MOVE GSWBIN8,CBIN1 
 MOVE GTRECNR,GSWBCD3 MOVE INITIALVALUE TO GTRECNR
 MOVE WORK5,GSWBCD3 DISPLAY FMEL
SP10
 PERF DKREAD
 BNOK SPER4 
 MOVE GSWSTR2,=C'&' 
 MOVE GSWBIN4,CBIN0 
 MATCH TEDBUF,GSWBIN4,CBIN10,GSWSTR2,CBIN0,CBIN1
 BOK SP20 FORTS[TTELSESRECORD 
 MOVE GSWSTR20,=' ' 
 XCOPY GSWSTR20,CBIN0,CBIN10,TEDBUF,CBIN0 
 MOVE WORK7,GSWSTR20
 CBNE WORK7,CPRNR,SP70 FINISHED AFTER BREAK 
SP20
 MOVE GSWBIN4,CBIN12
 MOVE GSWSTR20,=C'&'
 MOVE GSWBIN1,CBIN0 
 MATCH TEDBUF,GSWBIN1,CBIN15,GSWSTR20,CBIN0,CBIN1 FIND 1. & 
 ADD GSWBIN1,CBIN1
SP30
 COPY GSWSTR3,CBIN0,CBIN3,TEDBUF,GSWBIN1 EXTRACT FIELDNR
 ADD GSWBIN1,CBIN3
 MOVE GSWSTR20,=C'&'
 MOVE GSWBIN2,GSWBIN1 
 MATCH TEDBUF,GSWBIN2,CBIN15,GSWSTR20,CBIN0,CBIN1 SEARCH FOR &
 BE SP50 FOUND
 MOVE GSWSTR20,STR25
 MOVE GSWBIN2,GSWBIN1 
 MATCH TEDBUF,GSWBIN2,CBIN15,GSWSTR20,CBIN0,CBIN1 SEARCH FOR %
 BE SP50
 MOVE GSWSTR20,STR7F
 MOVE GSWBIN2,GSWBIN1 
 MATCH TEDBUF,GSWBIN2,CBIN15,GSWSTR20,CBIN0,CBIN1 SEARCH EOR
 BE SP50
 MOVE SPBINW4,CBIN1 
 MOVE GSWBCD4,=D'98'
 PERF SPERR 
 B SPER NOT FOUND, OVERFLOW/LENGTH
SP50
 MOVE GSWSTR2,GSWSTR20 SAVE DELIMITER 
 MOVE GSWBIN3,GSWBIN2 POINT AT POS WHERE MATCH
 SUB GSWBIN3,GSWBIN1 - STARTPOS GIVES LENGTH
 MOVE SAVEF(GSWBIN7,GSWBIN8),BINULL 
 MOVE GSWSTR20,BINULL 
 XCOPY GSWSTR20,CBIN0,GSWBIN3,TEDBUF,GSWBIN1
 MOVE SAVEF(GSWBIN7,GSWBIN8),GSWSTR20 
 MOVE FIELD(GSWBIN7,GSWBIN8),GSWSTR3
 MOVE GSWBIN1,GSWBIN2 SAVE FOR NEW DISPLACEMENT 
 ADD GSWBIN1,CBIN1 BYPASS DELIMITER 
 CBE GSWSTR2,STR7F,SP70 
 ADD GSWBIN8,CBIN1 NEXT ENTRY 
 CBL GSWBIN8,CBIN5,SP60 NEW LINE? 
 MOVE GSWBIN8,CBIN1 FIRST ON LINE 
 ADD GSWBIN7,CBIN1 NEW LINE 
SP60
 CBE GSWSTR2,STR25,SP10 
 CBE GSWSTR2,='&&',SP30 
SP70
 CLEAR INQ1 
 SET CPRFLAG
 PERF ATTHD1
 PERF SPCLRN
 MOVE CPRNR,=D'0' 
 PERF CLRINQ
 TBT CHFLAG,SPRET 
 B SP00 
SPER6 
 CLEAR OBS
 PERF CLRINQ
 RET 6
SPER4 
 PERF CLRINQ
 RET 4
SPRET 
 SET OBS
 RET 2
SPER
 PERF CLRINQ
 RET
 PEND 
	EJECT
CLRINQ PROC 
 CLEAR INQ1 
 CLEAR INQ2 
 CLEAR INQ3 
 CLEAR CPRFLAG
 RET
 PEND 
* 
* 
* 
************************************************************
* 
*       CLRTST - CLEARING OF TESTSTRG 
* 
************************************************************* 

CLRTST PROC 
 MOVE GSWBIN1,CBIN12
 MOVE GSWBIN2,CBIN4 
CLRT10
 MOVE FIELD(GSWBIN1,GSWBIN2),=D'0'
 MOVE SAVEF(GSWBIN1,GSWBIN2),BINULL 
 SUB GSWBIN2,CBIN1
 BNZ CLRT10 
 MOVE GSWBIN2,CBIN4 
 SUB GSWBIN1,CBIN1
 BNZ CLRT10 
 RET
 PEND 
 EJECT
PASS PROC 
**********************************
* 
* THE PROCEDURE CHECKS THE USERS AUTHORIZATION
* 
**********************************
 MOVE GSWBIN1,CBIN10 10 CHARS + EOI-KEY 
 EDWRT SCREEN,PASSHEAD
 KI .NE,KEYB,GSWSTR20,SPKTAB2,GSWBIN1,GSWBIN2 
 MOVE GSWBIN1,CBIN6 
PASS10
 MOVE GSWBIN2,CBIN0 
 MATCH KEYTAB(GSWBIN1),GSWBIN2,CBIN10,GSWSTR20,CBIN0,CBIN10 
 BOK PASS90 
 SUB GSWBIN1,CBIN1
 BNZ PASS10 
 CMP CBIN0,CBIN1
 RET
PASS90
 CMP CBIN0,CBIN0
 RET
 PEND 
* 


PASSHEAD FRMT 
 FSL
 FTEXT 'INDTAST IDENTIFIKATION' 
 FMEND
 EJECT
COPYDK PROC 
************************************************
* 
* COPYDK - THE PROCEDURE COPIES FD01 TO FD02
* UNTIL A SPECIAL EOF-RECORD IS MET.
* THE EOF-MARK IS <**>
* 
* EXIT UPON COMPLETION: 
*   0 - RECORD DELIMITER NOT FOUND
*   2 - READ ERROR
*   4 - WRITE ERROR 
*   6 - NORMAL
* 
************************************************
 ATTFMT COPYFRM1
 MOVE CPRNR,=C'0' 
 PERF SPCLRA
 CBE SPBINW2,CBIN3,COPY01C
 B COPY98A
COPY01C 
 MOVE SPLITBIN,BCDWK
 CLEAR FULL 
 IB SPLITBIN,COPY01B,COPY02,COPY01B 
 MOVE SPLITBIN,CBIN1
COPY01B 
 TBF CRKCOPY,COPY98A
 CLEAR CRKCOPY
 PERF ASG,CBIN2 
 BNOK COPY98BA
 MOVE GSWBIN5,CBIN13
 PERF DKIO
 BNOK COPY98B 
COPY02
 MOVE RECIX,STARTIX 
 MOVE GSWBIN3,CBIN9 
COPY03
 MOVE CPRKEY(GSWBIN3),=C'0' 
 MOVE CPRIX(GSWBIN3),=D'0'
 SUB GSWBIN3,CBIN1
 CBNE GSWBIN3,CBIN0,COPY03
 MOVE CPRNR,=D'0' 
 MOVE WORK5,=D'0' 
 MOVE GTRECNR,=W'26'
COPY06
 PERF DKREAD
 BNOK COPY98B 
 MOVE GSWSTR2,TEDBUF
* FURTHER ACTION DEPENDS ON VALUE IN SPLITBIN 
* 1 - STANDARD, EVERYTHING COPIED, INDEXFILE BUILT
* 2 - BUILD INDEXFILE ONLY
* 3 - EVERYTHING COPIED, NO INDEXFILE 
 CBL GSWSTR2,=C'00',COPY08 COPY HEADER/END-RECORD 
 CBG GSWSTR2,=C'99',COPY08
 CBE SPLITBIN,CBIN3,COPY08
 MOVE GSWSTR2,=C'&' 
 MOVE GSWBIN1,CBIN0 
 MATCH TEDBUF,GSWBIN1,CBIN10,GSWSTR2,CBIN0,CBIN1
 BOK COPY08 SAME CPRNR, NO ACTION 
 ADD GSWBIN3,CBIN1
 MOVE GSWSTR20,=' ' 
 COPY GSWSTR20,CBIN0,CBIN10,TEDBUF,CBIN0
 MOVE CPRKEY(GSWBIN3),GSWSTR20
 MOVE GSWBCD3,GTRECNR 
 SUB GSWBCD3,=D'1'
 MOVE CPRIX(GSWBIN3),GSWBCD3
COPY08
 CBE SPLITBIN,CBIN2,COPY15
 MOVE GSWBIN5,CBIN11 SEQ. WRITE FD02
 PERF DKIO
 BNOK COPY98C 
 ADD WORK5,=D'1'
COPY15
 CBL GSWBIN3,CBIN9,COPY17 
 IB SPLITBIN,COPY16,COPY16,COPY17 
COPY16
* WRITE INDEX ON FD01 
 PERF IXWRIT
 B COPY98C WRITE ERROR
 B COPY98B READ ERROR 
COPY07
 MOVE CPRKEY(GSWBIN3),=C'0' 
 MOVE CPRIX(GSWBIN3),=D'0'
 SUB GSWBIN3,CBIN1
 CBNE GSWBIN3,CBIN0,COPY07
COPY17
 CBNE GSWSTR2,=C'**',COPY06 
* 
 CBE SPLITBIN,CBIN3,COPY98
 PERF IXWRIT
 B COPY98C WRITE ERROR
 B COPY98B READ ERROR 
 MOVE CPRKEY(CBIN1),=C'0' 
 MOVE CPRIX(CBIN1),=D'0'
 PERF IXWRIT
 B COPY98C
 B COPY98B
* LAST INDEX RECORD WRITTEN 
COPY98
 ATTFMT COPYFRM2
 PERF SPCLRA
 CBE SPLITBIN,CBIN2,COPY98A 
 MOVE GSWBIN5,CBIN4 UNLOAD FD02 
 PERF DKIO
 BNOK COPY98B 
 SET CRKCOPY
COPY98A 
 RET 6
COPY98B 
 CBE SPLITBIN,CBIN2,COPY98BA
 MOVE GSWBIN5,CBIN4 UNLOAD FD02 
 PERF DKIO
 SET CRKCOPY REL FD02 
COPY98BA
 RET 2
COPY98C 
 CBE SPLITBIN,CBIN2,COPY98CA
 MOVE GSWBIN5,CBIN4 UNLOAD FD02 
 PERF DKIO
 SET CRKCOPY
COPY98CA
 RET 4
 PEND 
 EJECT
IXWRIT PROC 
*************************************************** 
* IXWRIT - WRITE INDEXRECORD
* RETURN UPON COMPLETION: 
*   0 - WRITE ERROR 
*   2 - READ ERROR
*   4 - NORMAL
****************************************************
IX00
* CHECK AND SEE IF **<KMNR> WAS WRITTEN IN THIS RECORD
 MOVE GSWBIN7,GTRECNR SAVE GTRECNR
 EDWRT .NW,SCREEN,COPYFRM4
 MOVE GSWBIN4,CBIN1 
 MOVE GSWBIN5,CBIN2 
 MOVE TEDBUF,=C'IX '
IX10 EDSUB TEDBUF,GSWBIN5,IXFRMT
 ADD GSWBIN4,CBIN1
 CBNG GSWBIN4,CBIN9,IX10
 MOVE GTRECNR,RECIX 
 MOVE GSWBIN5,CBIN15
 WAIT SCREEN
 PERF DKIO
 BNOK IX50
 SUB RECFREE,CBIN1 ADJUST FOR WRITTEN INDEX 
 SUB RECIX,CBIN1 COUNT DOWN 
 MOVE GTRECNR,GSWBIN7 RESTORE POINTER 
 RET 4 NORMAL, + NO INDEX WRITING 
IX40 RET 2
IX50 RET
 PEND 
 EJECT
LOD1 PROC 

************************************
* ASK FOR NORMAL OR CONT. REG.
* IF NORMAL, THEN WRITE HDR1,KMDINF AFTER 
* CHECK FOR EMPTY DISK
*     ELSE
* DELETE INDEXFILE
* RETURNPOINTS: 
* 0 - MAK 
* 2 - READ/WRITE ERROR
* 4 - ASSIGN ERROR
* 6 - NORMAL
************************************
LOD110
 MOVE GTANTAL,=D'0' 
 MOVE BCDWK,=D'0' 
 ATTFMT HEAD3 
 PERF SPCLRA
 IB SPBINW2,LOD110,LOD111,LOD115
 B LOD110 
LOD115
 CBE BCDWK,=D'1',NORM 
 CBE BCDWK,=D'2',CONT 
 B LOD110 
NORM
* INIT OF FNAME FOR FORSKUDSREGISTRERING
 MOVE WORK12,YEAR 
 MOVE GSWBIN1,GTANTAL SLUT/FORSKUD/LON
 IB GSWBIN1,LAB10,LAB20,LAB30 
 B LOD110 
LAB10			SLUTLIGNING 
 MOVE CDSNAME,FRAAK 
 CLEAR FORSKUD
 CLEAR LONOPL 
 B LAB40
LAB20 
 TBF OPTION1,LOD111 
 SET FORSKUD
 CLEAR SLUTL
 CLEAR LONOPL 
 MOVE CDSNAME,FFORSK
 B LAB40
LAB30 
 TBF OPTION2,LOD111 
 SET LONOPL 
 CLEAR FORSKUD
 CLEAR SLUTL
 MOVE CDSNAME,FLONOPL 
LAB40 
 PERF ASG,CBIN1 
 BNOK LOD113
 PERF INIT
 B LOD113 READ/WRITE ERROR
 B LOD114 MAK 
 B LODOK
CONT
 PERF RKASSG
 BNOK LOD112 ERROR
 B LODOK
LOD112 RET 2
LOD113 RET 4
LOD114 MOVE GSWBIN5,CBIN3 
 PERF DKIO UNLOAD 
 BNOK LOD112
LOD111
 RET
LODOK 
 SET CRKKLAR
 RET 6
 PEND 
 EJECT
INIT PROC 
************************************
* 
* INIT - PREPARE FOR OUTPUT ON FD01.
* CALL - PERF INIT
* 
* THE DISC IS POSITIONED TO TRACK 1 
* AND VARIOUS WORKFIELDS ARE INITIATED
* THE FIRST INDEXRECORD IS DELETED
* 0 - READ/WRITE ERROR
* 2 - MAK 
* 4 - OK
* 
************************************* 
 MOVE GSWBIN5,CBIN5 READ KMDHEADER
 MOVE GTRECNR,=W'26'
 PERF DKIO
 BNOK INI50 
 MOVE GTSTRFMT,=C' '
 COPY GTSTRFMT,CBIN0,CBIN6,TEDBUF,CBIN7 
 ATTFMT KMDHDR
 PERF SPCLRA
 CBE SPBINW2,CBIN2,INI95
INI40 
 MOVE ENDREC,CBIN0
 MOVE RECFREE,MAXREC
 MOVE RECUSE,ENDREC 
 MOVE TEDBUF,BINULL 
 EDIT TEDBUF,MASTCARD 
 PERF DKWRIT
 BNOK INI50 
 ADD GTRECNR,CBIN1
 EDIT TEDBUF,ENDCARD
 MOVE GSWBIN5,CBIN7 
 PERF DKIO
 BNOK INI50 
 EDIT TEDBUF,HDR1REC
 MOVE GTRECNR,CBIN7 
 MOVE GSWBIN5,CBIN7 WRITE HDR1 LABEL
 PERF DKIO
 BNOK INI50 
* DELETE INDEXRECORD
 MOVE GTRECNR,STARTIX 
 MOVE GSWBIN5,CBIN5 
 PERF DKIO READ FIRST RECORD OF INDEX 
 BNOK INI50 
 MOVE TEDBUF,=C' '
 MOVE GSWBIN5,CBIN15
 PERF DKIO
 BNOK INI50 
 RET 4
INI50 RET 
INI95 RET 2 
 PEND 
 EJECT
* 
************************************************************* 
* 
*          KTABS AND FORMATS
* 
************************************************************* 
* 
SPKTAB2 KTAB X'D1'
* 
HEAD3 FRMT
 FSL
 FTEXT 'SLUTLIGNING = 1'
 FNL
 FTEXT 'FORSKUDSREG = 2'
 FNL
 FTEXT 'LONOPLYSING = 3'
 FKI 20,ME,NUM,MINL=1,MAXL=1
 FMEL 'Z',GTANTAL 
 FNL
 FNL
 FTEXT 'ALM.REG. (INCL. SLETNING AF INDEXREG) = 1'
 FNL
 FTEXT 'FORTSAT REGISTRERING                  = 2'
 FKI 44,ME,NUM,MINL=1,MAXL=1
 FMEL 'Z',BCDWK 
 FMEND
* 
* 
MASTCARD FRMT		FORMAT FOR HEADERCARD
 FILLR '<',2
 FMEL '999',RKKMNR
 FMEL '99',YEAR 
 FMEL '999999',DATE 
 FBF FORSKUD,MAST10 
 FTEXT C'0050'
 FB MAST20
MAST10 FTEXT C'0070'
MAST20 FILLR X'7F',1
 FILLR ' ',62 
 FMEND
* 
FRMINP FRMT 
 FNL
 FKI 1,MAXL=2 
 FMEL 'ZZ',BCDWK
 FMEND
* 
KMDHDR FRMT 
 FSL
 FTEXT 'DISKETTEN ER SIDST BRUGT DEN '
 FCOPY GTSTRFMT 
 FLINK FRMINP 
 FMEND
* 
HDR1REC FRMT
 FTEXT C'HDR1 ' 
 FCOPY CDSNAME
 FILLR ' ',11 
 FTEXT '080 01001 73026'
 FILLR ' ',33 
 FTEXT 'V 01001 ' 
 FMEND
* 
LISTFRM2 FRMT 
 FSL
 FCOPY GSWSTR80 
 FLINK FRMINP 
 FMEND
* 
COPYFRM1 FRMT 
 FSL
 FTEXT '1 - ALM. KOPIERING' 
 FNL
 FTEXT '2 - OPBYG INDEXREG. (- KOPI)' 
 FNL
 FTEXT '3 - KOPI UDEN OPBYGNING INDEXREG.'
 FLINK FRMINP 
 FMEND
* 
COPYFRM4 FRMT 
 FILLR '1',2

 FMEL '9999',WORK5
 FMEND
* 
ENDCARD FRMT
 FILLR '*',2
 FMEL '999',RKKMNR
 FILLR ' ',60 
 FILLR ' ',15 
 FMEND
* 
COPYFRM2 FRMT 
 FSL
 FCOPY ='ANTAL RECORDS KOPIERET:' 
 FMEL '9999',WORK5
 FLINK FRMINP 
 FMEND
* 
IXFRMT FRMT 
 FCOPY CPRKEY(GSWBIN4)
 FMEL '9999',CPRIX(GSWBIN4) 
 FMEND
 END

Full view