|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 18432 (0x4800) Types: TextFile Names: »CAACF«
└─⟦99bc78d90⟧ Bits:30001771 CALL-RUTINER under DP4-DOMAC └─⟦this⟧ └─⟦c99ffa672⟧ Bits:30001786 SG0006 Floppy └─⟦this⟧
; IDAG-CALL-MODUL ; MED TORBEN TAMBO'S CARDREAD I AKTUEL VERSION *LIDT FARLIG* ; SIDSTE RETTELSE 1.10.81 KL 16 ; BUF ÆNDRET SÅ RESCH-KONTROL UDELADES (=> NO LOOP) ; CARDREAD INPUTZONE ØGET TIL 50 ISTF 41 (KORTMARK-FEJL-RISIKO PRDE1 ; PROCESS HEAD CDR11 ; ADDRESS OF CARDREAD REV 1.03 .TXT @CARDREAD@ ; NAME OF -------''------- «ff» ; SUBRUTINETABEL BUF00 .TXT @BUF<0><0><0><0><0>@ GME00 ; GMEM-ADRESSE .TXT "GMEM<0><0><0><0>" ; NAVN FLM00 .TXT @FLYTMAT<0>@ FIN00 .TXT @FIND<0><0><0><0>@ KSP00 .TXT "KODESPEC" SME00 .TXT "SMEM<0><0><0><0>" FIX00 .TXT "FIX<0><0><0><0><0>" FLO00 .TXT "FLOAT<0><0><0>" 0 «ff» GME00: 2 REAL REAL+REFERENCE LDA 2,+0,2 ; AC1=A-ADRESSE EXECUTE GSM00 RET1 LDA 1,+0,2 ; JA: AC1=INDHOLD AF ADRESSE BCALL FLOAT ; AC1 -> KOMMATAL LDA 2,U.STK,3 LDA @ 2,+1,2 ; AC2=B-ADRESSE STA 2,GME01 ; GEM B-ADRESSE LDA 2,CUR A.PDOUBLE ; GEM ADRESSEINDHOLD(A) I B 1 GME01: 0 RET1 ; END GMEM «ff» GSM00: LDA 0,+0,2 ; HENT A LDA 1,+1,2 BCALL FIX ; FIX A ADCZR 2,2 ; AC2=1B0-1 MOV 0,0,SNR ; 0<=AC1<=1B0-1 SNG 1,2 JMP ERR90 ; NEJ: ERROR UDSKRIV MEDD. MOV 1,2 ; AC1-->AC2 RET1 ; RETURN SUB 0,0 STA 0,RESCH ; INDFØJET 01.10.81 ERR90: ERROR 90 ERR91: ERROR 91 KSP00: 0 READS 0 STA 0,KSP01 RET1 KSP01: 0 «ff» SME00: 2 ; 2 VARIABLE REAL ; A (=A-ADRESSE) REAL ; B (=DATA) LDA 0,KSP01 ; SE GME00 LDA 1,KSP02 SUB 1,0,SZR JMP ERR90 LDA 2,+1,2 ; AC2(!)=B-ADRESSE LDA 0,+0,2 ; HENT REAL(!) B LDA 1,+1,2 BCALL FIX ; FIX B MOV 0,0,SZR ; 0<=B<=65535 ? JMP ERR91 ; NEJ ERROR-RETURN STA 1,U.S00,3 ; GEM AC1(B) I U.S00.USER LDA@ 2,U.STK,3 EXECUTE ; EXEC GSM00(A-ADRESSE) GSM00 RET1 LDA 1,U.S00,3 ; AC1=F(UDA+U.S00)=B STA 1,+0,2 ; AC1-->ADR.AC2 RET1 ; END STOREMEMORY KSP02: 42798 «ff» BUF00: 3 ; 3 VARIABLE REAL ; A REAL ; OG B REAL+REFERENCE ; OG C LDA 1,RESCH ; HENT RESERVATIONSSTATUS (RESCH) SUBZL 0,0 ; AC0=1 SUB# 1,0 ,SKP ; RESCH=AC0?? JMP .-3 ; JA: PRØV IGEN STA 0,RESCH ; NEJ: SÆT RESCH=1 LDA @ 1,+2,2 ; AC1=F(F(USER.U.STK)+1)=C-ADRESSE STA 1,BADRE ; GEM C-ADRESSE LDA 2,+1,2 ; AC2=B-ADRESSE LDA 0,+0,2 ; HENT B=VARBUFNR LDA 1,+1,2 BCALL FIX SUBC 2,2 ; AC2=0 INCOL 2,2 ; AC2=3 MOV 0,0,SNR ; LIGGER 0<=VARBUFNR<=3 ? SNG 1,2 JMP ERR90-2 ; NEJ: RETURN MED ERROR 90 ** CB RET MOVZL 1,1 ; AC1=1 LDA 2,BUFAD ; AC2=BUFFERADRESSE ADD 2,1 ; AC1=AC1+AC2 STA 1,ADRES ; GEM ADRESSE(VARNR) SUBZL 0,0 ; AC0=1 LDA @ 2,U.STK,3 LDA 0,+0,2 ; HENT A(1. ORD) LDA 2,CUR MOV 0,0,SZR ; A=0??? JMP PART2 ; LDA 3,ADRES ; HENT BUFADRESSE LDA 0,+0,3 ; AC0=F(ADRES) LDA 1,+1,3 ; AC1=F(ADRES+1) LDA 2,CUR A.PDOUBLE ; AC'S-->B 1 ; SEGMENT NUMBER BADRE: 0 ; B-ADRESSE JMP UD ; PART2: SUBZL 0,0 LDA 1,BADRE ; NEJ: HENT B-ADRESSE A.GDOUBLE ; HENT B-->;AC'S LDA 3,ADRES ; AC3=BUFADRESSE(VARNR) STA 0,+0,3 ; AC'S-->BUF(VARNR) STA 1,+1,3 UD: SUB 0,0 ; AC0=0 STA 0,RESCH ; RESCH=0 RET1 ; END BUF ; RESCH: 0 ; RESERVERINGSSTATUS BUFAD: BUFTB BUFTB: .BLK 8 ; VARBUF OMRÅDE ADRES: 0 «ff» FIX00: 3 REAL+REFERENCE REAL+REFERENCE REAL+REFERENCE SUBZL 0,0 ; AC0=1 LDA @ 1,+0,2 ; AC1=A-ADRESSE LDA 2,CUR ; AC2=CUR A.GDOUBLE ; HENT A STA 0,U.S00,3 ; GEM ORD 1 AF A SUBC 0,0 ; AC0=0 BCALL FLOAT ; FLOAT ORD2 AF A LDA 2,CUR ; AC2=CUR LDA 3,U.STK,3 ; AC3=F(F(USER)+U.STK) LDA @ 3,+2,3 ; AC3=C-ADRESSE STA 3,FIX01 ; GEM C-ADRESSE A.PDOUBLE ; GEM FLOAT AF ORD2 AF A I B 1 FIX01: 0 LDA 1,U.S00,3 ; HENT ORD1 AF A SUBC 0,0 ; AC0=0 BCALL FLOAT ; FLOAT ORD1 AF A LDA 2,CUR ; AC2=CUR LDA 3,U.STK,3 LDA @ 3,+1,3 ; AC3=B-ADRESSE STA 3,FIX02 ; GEM B-ADRESSE A.PDOUBLE ; GEM FLOAT AF ORD2 AF A I C 1 FIX02: 0 RET1 ; END FIX «ff» FLO00: 3 REAL REAL REAL+REFERENCE LDA 2,+0,2 ; AC1=A-ADRESSE EXECUTE ; EXEC FLO02 FLO02 RET0 ; HVIS ERROR STA 1,U.S00,3 ; GEM DEL 1 AF C LDA 2,U.STK,3 LDA 2,+1,2 ; AC1=B-ADRESSE EXECUTE FLO02 RET0 LDA 0,U.S00,3 ; HENT DEL 1 AF C LDA 2,U.STK,3 LDA @ 2,+2,2 ; AC2=C-ADRESSE STA 2,FLO01 ; GEM C-ADRESSE LDA 2,CUR A.PDOUBLE ; AC0,AC1-->C 1 FLO01: 0 RET1 FLO02: LDA 0,+0,2 LDA 1,+1,2 ; ** CB RET ** BCALL FIX ; LAV OM TIL HELTAL MOV 0,0,SNR ; 0=<A/B=<32K ??? RET1 ; JA: RETURN ERROR ; NEJ: RETURN MED ERROR 90 90. «ff» CDR11: 2 ; INCLUDE TWO PARAMETERS REAL ; INFORMATOR REAL+ARRAY ; DATA STORAGE LDA 1,RSTAT ; LOAD RESERVATION STATUS SZ 1,1 ; SKIP ON ROUTINE IDLE JMP .-2 ; BY REPEATING LDA 1,+5,2 ; LOAD MAX. NO OF ROWS LO 0,0 ; 0=1 SEQ 0,1 ; SKIP IF NO OF ROWS=1 JMP ERR31 ; JMP TO 'INDEKSFEJL' LDA 1,DMADR ; LOAD ADDRESS OF CORE DUMP AREA DOB 1,.CDR ; INSTRUCT CDR CONTROLLER DOAS 0,.CDR ; READ A BINARY CARD SKPBZ .CDR ; WAIT UNTIL BUSY=0 JMP .-1 ; REPEAT DIBC 0,.CDR ; 0=LAST ADDRESS AND CLOSE DEVICE STA 0,U.S05,3 ; STORE LAST CORE ADDRESS SUB 1,0 ; NUMBER OF COLUMNS READ LZ 1,1 ; 1=0 SNZ 0,0 ; SKIP IF NOT ZERO JMP ERR10 ; IF ZERO JMP TO 'KORTLÆSNINGSFEJL' LZ 0,0 ; 0=0 DOA 0,.CDR ; READ STATUS WORD DIA 0,.CDR ; INPUT STATUS WORD STA 0,ERRCODE ; SAVE ERROR CODE SZ 0,0 ; SKIP IF 0=0 JMP ERR10 ; JUMP TO 'KORTLÆSNINGSFEJL' ;«ff» ; ***** READY FOR CONVERTING & TRANSFER ****** LDA 2,0,2 ; 2=ADDRESS OF REAL LDA 0,0,2 ; 0= 1. WORD OF REAL LDA 1,1,2 ; 1= 2. WORD OF REAL BCALL FIX ; FIX REAL SNZ 1,1 ; SKIP IF NOT ZERO JMP ASCII ; JUMP TO ASCII CONVERSION LO 0,0 ; 0=1 SNE 1,0 ; SKIP IF 0 NOT EQUAL TO 1 JMP NUMBER ; JUMP TO NUMBER CONVERSION SNART: LDA 2,U.STK,3 ; LOAD STACKPOINTER LDA 2,+1,2 ; LOAD ADDRESS OF FIRST VECTOR ELEMENT LDA 2,+0,2 ; LOAD ARRAY ADDRESS STA 2,APD03 ; STORE VECTOR ADDRESS IN APD03 LOOPE: LDA 0,DMADR ; LOAD CURRENT CORE ADDRESS MOV 0,2 LDA 1,0,2 ; LOAD CONTENTS OF CORE ADDRESS INC 0,0 ; INCREMENT ADDRESS BY ONE STA 0,DMADR ; SAVE DMADR LZ 0,0 ; 0=0 BCALL FLOAT ; CONVERT COLUMN DATA TO FLOATING POINT LDA 2,CUR ; LOAD ZONE ADDRESS A.PDOUBLE ; PUT CARD DATA INTO VECTOR ELEMENTS 1 ; SEGMENT NO. 1=DATA SEGMENT APD03: 0 ; ADDRESS OF REAL(INDEX) LDA 1,U.S05,3 ; LOAD LAST DUMP ADDRESS LDA 0,DMADR ; LOAD CURRENT DATA LOCATION IN CORE SNE 1,0 ; SKIP IF NOT EQUAL JMP OUT00 ; EXIT FROM ROUTINE LDA 2,APD03 ; LOAD VECTOR ELEMENT ADDRESS INC 2,2 ; INCREMENT INC 2,2 ; INCREMENT 2. TIME STA 2,APD03 ; STORE VECTOR ELEMENT ADDRESS AGAIN JMP LOOPE ; CONTINUE TO LOOPE .EJEC ; **** FINISH CARDREAD PROGRAM **** OUT00: LDA 1,DMOMR ; LOAD FIRST CORE ADDRESS STA 1,DMADR ; RESTORE DMADR LZ 1,1 ; 1=1 STA 1,RSTAT ; RESTORE RESERVATION STATUS RET1 ; ORDINARY RETURN TO COMAL ; ; **«so»KORTLÆSNINGSFEJL ERR10: STA 1,RSTAT ; RESTORE RESERVATION STATUS ERROR 10 ; ERRORNOUS RETURN ; ; **«so»INDEKSFEJL ERR31: STA 1,RSTAT ; RESTORE RESERVATION STATUS ERROR 31 ; ERRORNOUS RETURN ; ; **L ; **«so»LABEL DECLARATION ; RSTAT: 0 ; RESERVATION STATUS ERRCO: 0 ; SAVED ERROR CODE FROM CDR CONTROLLER «ff» DMADR: DMADD ; ADDRESS OF CORE DUMP AREA .CDR= 14 ; CARDREADER NUMBER ; ** AT THE MOMENT DUMMIES «ff» ; NUMBER converting for CARDREAD call routine ; accu. use ____________________________________________ ; ! ! ac0 ! ac1 ! ac2 ! ac3 ! ; ____________________________________________ ; ! at entry ! 1 ! 1 ! undef! user ! ; ! runtime ! data ! mover!adr/12! count ! ; ____________________________________________ ; NUMBER: LDA 2,DMADR ; fetch core dump address NUMB0: LDA 3,USER ;--''-- USER LDA 3,U.S05,3 ; load saved last address SNE 3,2 ; skip DMADR-U.S05 not equal JMP FINIS ; end number if equal LDA 0,0,2 ; load specific data word LO 1,1 ; 1=1 (could be replaced w/SUBZ) MOV 1,3 ; 3 also =1 BZZ: SNE 0,1 ; skip on no equality JMP ADJUST ; finis bzz if 0=1 MOVL 1,1 ; shift ac1 left INC 3,3 ; increment counter register LDA 2,88,0 ; 2=13 SEQ 2,3 ; if 2=3 continue bzz JMP BZZ ; if 2 not equal to 3 continue bzz ADJUST: LDA 2,DMADR ; load current address in core LDA 0,86,0 ; LOAD PAGE ZERO CONSTANT 10 SUB 3,0 ; 10-data STA 0,0,2 ; store counter register contents INC 2,2 ; increment core address STA 2,DMADR ; save core address JMP NUMB0 ; continue number routine FINIS: LDA 2,DMOMR ; load 1.address backup STA 2,DMADR ; restore core dump area address LDA 3,USER JMP SNART ; end of number converting routine ; ; tal konvertering rutine ; indtastning afsluttet d.22.09.81 kl.14.42.00 ved ; «so»Torben Tambo ; «ff» ASCII: JMP SNART ; ASCII CONVERSION DMOMR: DMADD ; ADDRESS OF CORE DUMP AREA AGAIN DMADD: .BLK 50 ; CORE DUMP AREA ; ; ; 1. INDTASTNING AFSLUTTET DEN 14.09.81 KL. CA 14.30 VED Torben Tambo ; .EJEC ; END PROCESS DESCRIBTOR «ff» FIN00: 4 ; 4 VARIABLE : REAL ; B = DET DER SØGES PLACERET REAL+ARRAY ; A = DET DER SØGES I REAL ; MAX(A) = MAX BRUGT I A REAL+REFERENCE ; INDEX = STED TIL RESULTAT LDA 0,+7,2 ; DIM(A)-->US00 STA 0,U.S00,3 LDA @ 1,+3,2 ; FLYT INDEX OVER I FEN05 ** CB RET ** STA 1,FIN05 LDA 0,+9,2 ; HENT MAX(A) LDA 1,+10,2 BCALL FIX ; FIX MAX(A) LDA 2,U.S00,3 ; AC2=DIM(A) MOV 0,0,SNR ; ER MAX(A)>=0 OG SUBZ# 1,2,SNC ; ER MAX(A)<=DIM(A) JMP ER31 ; NEJ - INDEXFEJL MOV 1,1,SNR ; ER MAX=0 JMP FIN03 ; JA - HOP (LAD INDEX=1) STA 1,U.S01,3 ; US01=MAX(A)=MAX SUBZL 0,0 STA 0,U.S00,3 ; US00=MIN=1 LDA 2,U.STK,3 LDA@ 1,+0,2 ; FLYT B-ADRESSE OVER I NÆRVÆRENDE LAGER STA 1,BADR LDA 1,+6,2 ; FLYT STARTADR PÅ MATRIX OVER I US12 STA 1,U.S12,3 JSR BEADR ; AC0 ER HER 1 JSR TESTB ; ER B<A(1) ? JMP FIN04 ; JA - HOP (LAD INDEX=1) LDA 0,U.S01,3 ; NEJ - AC0=MAX JSR BEADR JSR TESTB ; ER B>=A(MAX) JMP .+2 JMP FIN03 ; JA - HOP (LAD INDEX=MAX+1) FIN01: LDA 0,U.S00,3 ; AC0=MIN LDA 1,U.S01,3 ; AC1=MAX ADDZR 1,0 ; AC0=MIDT=(MIN+MAX) DIV 2 JSR BEADR JSR TESTB ; B>=A(MIDT) JMP FIN02 ; NEJ HOP INC 0,0 ; AC0=MIDT+1 JSR BEADR JSR TESTB ; B<A(MIDT+1) JMP FIN04 ; JA - HOP SLUT (INDEX=MIDT+1) NEG 0,0 ; AC0=AC0-1=MIDT COM 0,0 STA 0,U.S00,3 ; MIN=MIDT JMP FIN01 ; FORFRA FIN02: STA 0,U.S01,3 ; MAX=MIDT JMP FIN01 ; FORFRA «ff» FIN03: INC 0,0 ; INDEX=INDEX+1 FIN04: MOV 0,1 ; AC0,AC1=0,INDEX IE FIXTAL INDEX SUB 0,0 BCALL FLOAT ; AC0,AC1=FLOAT INDEX LDA 2,CUR A.PDOUBLE ; GEM INDEX 1 FIN05: 0 RET1 ; SLUT ER31: ERROR 31 BADR: 0 «ff» ; DENNE RUTINE SAMMENLIGNER DET TAL (X) ; DER LIGGER PÅ ADRESSEN ANGIVET I AC1 ; MED B, DER ER ANGIVET VED BADR TESTB: LDA 2,USER STA 0,U.S11,2 ; GEM AC0 VÆK STA 3,U.S10,2 ; GEM RETADR I US10 SUBZL 0,0 ; AC0=1 LDA 2,CUR A.GWORD LDA 2,BADR ; AC2=B'S ADRESSE ADCZ# 2,0,SNC ; (RETTET! /NU KUN CKECK PÅ 1.ORD) ISZ U.S10,3 ; HVIS X>B RETURN TIL LINK+0 LDA 0,U.S11,3 ; HENT AC0 TILBAGE JMP @ U.S10,3 ; RETURN ; ! CALL ! RET ;------------------- JMP +1,1 ; AC0 ! ? ! = ; AC1 !ADR.X ! % ; AC2 ! ? ! % JMP +1,1 ; AC3 ! ? ! UDA ; DENNE RUTINE BEREGNER DEN EFFEKTIVE ; ADR PÅ ET INDEX I EN MATRIX, HVIS ; FØRSTE ELEMENTS ADR ER ANGIVET VED ; US12. ; BEREGNINGEN ER MED LOWBOUND=1 BEADR: MOV 3,1 ; AC1=AC3, AC0=INDEX VED START LDA 3,USER STA 1,U.S10,3 ; GEM RET-ADR VÆK STA 2,U.S11,3 ; GEM AC2 LDA 2,U.S12,3 ; AC2=ADR(MAT(1)) NEG 0,1 COMZL 1,1 ; INDEX=(INDEX-1)*2 ADD 2,1 ; AC1=ADR(MAT(1))+INDEX LDA 2,U.S11,3 ; HENT AC2 IGEN JMP @ U.S10,3 ; RETURN ; ! CALL ! RET ;------------------- ; AC0 !INDEX !INDEX ; AC1 ! ? ! ADR ; AC2 ! ? ! = ; AC3 ! ? ! UDA «ff» FLM00: 4 REAL+ARRAY ; A = DET DER SKAL FLYTTES I REAL ; INDEX = HVORFRA DER SKAL FLYTTES REAL ; ANTAL = HVORLANGT .. REAL ; MAX = SIDSTE ELEMENT BRUGT I A LDA 0,+4,2 STA 0,U.S12,3 ; GEM ADR(A(1)) I US12 LDA 0,+7,2 LDA 1,+8,2 ; HENT INDEX BCALL FIX ; FIX INDEX MOV 0,0,SNR ; ER 0<=INDEX<=32767 OG MOV 1,1,SNR ; ER INDEX<>0 ? JMP ER31 ; NEJ STA 1,U.S01,3 ; GEM INDEX I US01 LDA 2,U.STK,3 LDA 0,+11,2 LDA 1,+12,2 ; HENT MAX BCALL FIX ; FIX MAX LDA 2,U.STK,3 LDA 2,+5,2 ; HENT DIM(A) SUBZ# 1,2,SZC ; ER MAX<=DIM(A) OG MOV 0,0,SZR ; ER MAX>=0 ? JMP ER31 ; NEJ LDA 0,U.S01,3 ; AC0=INDEX STA 1,U.S02,3 ; GEM MAX I US02 INC 1,1 ; AC1=MAX+1 SUBZ 0,1,SNC ; AC1=MAX+1-INDEX, ER AC1>=0 ? JMP ER31 ; NEJ MOV 1,1,SNR ; ER AC1=0 ? RET1 ; JA SLUT STA 1,U.S00,3 ; GEM ANT=MAX+1-INDEX I US00 LDA 2,U.STK,3 LDA 0,+9,2 ; HENT ANTAL LDA 1,+10,2 BCALL FIX ; FIX ANTAL MOVZL 0,0,SZC ; ER ANTAL POSITIV ? JMP FLM01 ; NEJ LDA 2,U.STK,3 LDA 2,+5,2 ; AC2=DIM(A) LDA 0,U.S02,3 ; AC0=MAX ADD 1,0 ; AC0=ANTAL+MAX SUBZ 0,2,SNC ; AC2=DIM(A)-ANTAL-MAX ER AC2>=0 ? JMP ER31 ; NEJ ADCZL 2,2 ; AC2=-2 STA 2,U.S03,3 ; GEM -2 I US03 MOVZL 1,1 ; ANTAL=ANTAL*2 STA 1,U.S07,3 ; GEM ANTAL*2 I US07 LDA 0,U.S02,3 ; AC0=MAX JSR BEADR ; AC1=ADR(A(MAX)) STA 1,U.S04,3 ; GEM AC1 I US04 JMP FLM03 ; KLAR TIL LOOP «ff» FLM01: LDA 0,U.S01,3 ; HVIS ANTAL NEGATIV: AC0=MAX ADDZ 1,0,SZC ; ER ANTAL+MAX>=0 OG MOV 0,0,SNR ; ER ANTAL+MAX<>0 ? JMP ER31 ; NEJ SUB 0,0 INCZL 0,0 ; AC0=2 STA 0,U.S03,3 ; GEM 2 I US03 MOVZL 1,1 ; AC1=ANTAL*-2 STA 1,U.S07,3 ; GEM ANTAL*-2 I US07 LDA 0,U.S01,3 ; AC0=INDEX JSR BEADR ; AC1=ADR(A(INDEX)) STA 1,U.S04,3 ; GEM AC1 I US04 JMP FLM03 ; KLAR TIL LOOP FLM02: LDA 0,U.S04,3 ; US04=US04+US03 DVS ADRESSEN BLIVER LDA 1,U.S03,3 ; JUSTERET PASSENDE +/-2 ALT EFTER OM ADD 0,1 ; LØKKEN KØRER FORLÆNS EL. BAGLÆNS STA 1,U.S04,3 FLM03: LDA 2,CUR SUBZL 0,0 A.GDOUBLE ; HENT A(ADR-US04)=X LDA 2,U.S04,3 ; BEREGN DEPOSIT ADRESSE : LDA 3,U.S07,3 ; LAD D.ADR=FLM04=US04+US07 ADD 2,3 STA 3,FLM04 LDA 2,CUR A.PDOUBLE ; GEM X I A(ADR.US04+US07) 1 FLM04: 0 DSZ U.S00,3 ; TÆL LØKKETÆLLER(=ANT) EN NED. ANT=0? JMP FLM02 ; NEJ FLRTSÆT RET1 ; JA SLUT ; HELE LOOPRUTINEN KAN SES SOM FLG: ; REPEAT ; LET A(ADR.US04+US07)=A(ADR.US04) ; LET US04=US04+US03 ; US00=US00-1 ; UNTIL US00=0 «ff» ; OPRETTET DEN 24.09.81 ( kun 3 måneder til jul ) AF TORBEN TAMBO PRDE2 «ff» «nul»