|
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 - metrics - download
Length: 7680 (0x1e00) Types: TextFile Names: »CA15«
└─⟦64c9bf6e6⟧ Bits:30001803 SG0023 Floppy └─⟦this⟧ »/CA15«
PRDE1 ; IJ KH PL 22.2.80 PL 24.2.80 ; SAMMENFLETNING AF CAA10 (9) OG CAA08 ; ADD RETTET, DÅRLIGE RURINER UDELADT, KEMI TILFØJET ; MODIF 7.3.80 HD KH PL «ff» ; <STN> CALL"ADD",<VAR>,<VAR> ; <STN> CALL"BUF",<VAR>,<VAR>,<VAR> ; <STN> CALL"GMEM",<VAR>,<VAR> ; <STN> CALL"CONVERT",<VAR>,<VAR>,<VAR> ; <STN> CALL"FIX",<VAR>,<VAR>,<VAR> ; <STN> CALL"FLOAT",<VAR>,<VAR>,<VAR> ; <STN> CALL"LOOKUP",<VAR> ; <STN> CALL"LOOK2",<VAR> ; SUBRUTINETABEL ADD00 .TXT "ADD<0><0><0><0><0>" BUF00 .TXT "BUF<0><0><0><0><0>" GME00 ; GMEM-ADRESSE .TXT "GMEM<0><0><0><0>" ; NAVN FIX00 ; FIX-ADRESSE .TXT "FIX<0><0><0><0><0>" ; NAVN FLO00 ; FLOAT-ADRESSE .TXT "FLOAT<0><0><0>" ; NAVN KSP00 .TXT "KODESPEC" SME00 .TXT "SMEM<0><0><0><0>" «ff» -1 .BLK 4 -1 .BLK 4 0 ; SLUT TABEL FIL CAA16 MHT OVERSÆTTER 15 ADD00: 2 ; 2 VARIABLE REAL+REFERENCE ; A REAL+REFERENCE ; OG B SUBZL 0,0 ; AC0=1 LDA @ 1,+0,2 ; AC1=F(F(USER.USTK))=A-ADRESSE LDA 2,CUR ; AC2=CUR A.GDOUBLE ; HENT A STA 0,ADD02 STA 1,ADD02+1 SUBZL 0,0 LDA 3,U.STK,3 LDA @ 1,+1,3 STA 1,ADD01 A.GDOUBLE LDA 2,ADD03 BCALL FADD ; A+B LDA 2,CUR ; AC2=CUR A.PDOUBLE ; (A+B)-->B 1 ; SEGMENT NUMBER ADD01: 0 ; B-ADRESSE RET1 ADD03: ADD02 ADD02: 0 0 «ff» BUF00: 3 ; 3 VARIABLE REAL+REFERENCE ; A REAL+REFERENCE ; OG B REAL+REFERENCE ; OG C LDA 1,RESCH ; HENT RESERVATIONSSTATUS (RESCH) SUBZL 0,0 ; AC0=1 SUB# 1,0 ,SNR ; RESCH=AC0?? JMP .-3 ; JA: PRØV IGEN STA 0,RESCH ; NEJ: SÆT RESCH=1 LDA @ 1,+1,2 ; AC1=F(F(USER.USTK)+0)=B-ADRESSE LDA @ 2,+2,2 ; AC2=F(F(USER.U.STK)+1)=C-ADRESSE STA 2,BADRE ; GEM C-ADRESSE LDA 2,CUR ; AC2=CUR A.GDOUBLE ; HENT VARBUFNR 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 ; NEJ: RETURN MED ERROR 90 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 @ 1,+0,2 ; AC1=A-ADRESSE LDA 2,CUR A.GWORD ; HENT A 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) 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 ERR90: ERROR 90. ERRIO: BCALL IOERR «ff» FLO00: 3 REAL+REFERENCE REAL+REFERENCE REAL+REFERENCE LDA @ 1,+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 @ 1,+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: SUBZL 0,0 ; AC0=1 LDA 2,CUR A.GDOUBLE ; HENT A/B 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» GME00: 2 REAL+REFERENCE REAL+REFERENCE SUBZL 0,0 ; AC0=1 LDA @ 1,+0,2 ; AC1=A-ADRESSE LDA 2,CUR A.GDOUBLE ; HENT A BCALL FIX ; FIX A ADCZR 2,2 ; AC2=32K-1 DVS ADRESSE OMRÅDE MOV 0,0,SNR ; ER 0=< AC1=< AC2 SNG 1,2 JMP ERR00 ; NEJ: GOTO ERR00 MOV 1,2 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 ERR00: LDA 0,PIO,3 ; AC0=PIO-ADRESSE LDA 1,ERRAD ; AC1=ERRORTXTADRESSE MOVZL 1,1 ;-->BYTE ADRESSE LDA 2,CUR F.OTEXT ; OUTPUT FEJLMEDDELELSE RET0 RET0 ; RETURN ERRAD: ERRTX ERRTX: .TXT "<13><10><7>UDEFINERET ADRESSE<13><10>" «ff» GSM00: SUBZL 0,0 ; AC0=1 LDA 2,CUR A.GDOUBLE ; HENT A BCALL FIX ; FIX A ADCZR 2,2 ; AC2=1B0-1 MOV 0,0,SNR ; 0<=AC1<=1B0-1 SNG 1,2 JMP ERRSP ; NEJ: ERROR UDSKRIV MEDD. MOV 1,2 ; AC1-->AC2 RET1 ; RETURN ERR91: ERROR 91 ERRSP: LDA 0,PIO,3 ; AC0=PIO-ZONE ADRESSE LDA 1,ERRAD ; AC1=TXTADRESSE MOVZL 1,1 ; AC1=BYTEADRESSE LDA 2,CUR F.OTEXT ; OUTPUT TEXT TIL PIO RET0 RET0 KSP00: 0 READS 0 STA 0,KSP01 RET1 KSP01: 0 «ff» SME00: 2 ; 2 VARIABLE REAL+REFERENCE ; A (=A-ADRESSE) REAL+REFERENCE ; B (=DATA) LDA 0,KSP01 ; SE GME00 LDA 1,KSP02 SUB 1,0,SZR JMP ERR90 LDA @ 1,+1,2 ; AC1=B-ADRESSE SUBZL 0,0 ; AC0=1 LDA 2,CUR ; AC2=F(CUR) A.GDOUBLE ; HENT B 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 LDA @ 1,+0,2 ; AC1=A-ADRESSE 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 SME01: 0 DSZ SME01 ;NODV.? «ff» -1 -1 -1 -1 .BLK 100 -1 -1 -1 -1 PRDE2 ; DE PROVEKØRETE OG NÆSTEN SIKRE STUMPER AF PRG ; FRA TIDL FILER : CAA10 (9 PÅ EXPL2) OG CAA08 ; ADD RETTET, BUGGE IKKE MED // PL 21.3.80 «ff» «nul»