|
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: 3584 (0xe00) Types: TextFile Names: »MMMT3«, »MMRX3«
└─⟦cb4367ef8⟧ Bits:30001782 SG0002 Floppy └─⟦this⟧
PRDE1 ; Program head MM-110981 ; Følgende call kan benyttes: ; CALL"GET",T$,A ; T$ = streng dimentioneret > A ; A = Antallet af tegn, der skal inputtes i T$. GET00 .TXT "GET<0><0><0><0><0>" ; Ved call indeholder accumulatorerne følgende værdier ; AC0 = ? ; AC1 = ? ; AC2 = UDA+U.STK = PDTA ; AC3 = UDA ; ; Adresse Lagerindhold ; ======= ============ ; USER (page 0) UDA ; UDA+PIO Adr. af prim. I/O zone ; UDA + U.S00 User dataarealler ; UDA + U.S20 - ; UDA + U.S21 Subrutine tabel ; UDA + U.STK PDTA ; PDTA 0 T$ PDA ; 1 A PDA ; PDA T$ 2 Adr. af 1. byte. ; 3 Max ant. byte ; 4 Current ant. byte ; PDA A 5 1. word ; 6 2. word ; Subrutine tabel slut 0 ; GET00: 2 ; To variable STRING+REFERENCE ; T$ REAL ; og A LDA 0,+5,2 ; AC0 = 1. WORD AF A LDA 1,+6,2 ; AC1 = 2. WORD AF A BCALL FIX ; Hental => Kommatal MOV # 0,0,SZR JMP ERR31 ; Index fejl STA 1,U.S01,3 ; U.S01 = Antal chr, der skal inputtes. SUBZL 0,0 ; AC0=1 LDA 2,U.STK,3 ; AC2=PDTA LDA 1,+2,2 ; AC1= WORDADR AF 1. BYTE I T$ ▶01◀ STA 1,U.S02,3 ; U.S02 = Adr. af 1. byte LDA 2,U.STK,3 SUBC 0,0 ; AC0=0 LDA 1,+3,2 ; AC1=Max ant. chr. BCALL FIX MOV # 0,0,SNR JMP ERR31 STA 1,U.S03 ; U.S03=AC1 LDA 0,U.S01 ; AC0=U.S01 SUB # 0,1,SNR ; AC0 > AC1 ? JMP ERR31 ; JA => Index fejl. GET13: LDA 2,CUR ; AC2=CUR LDA 3,USER ; AC3=USER LDA 0,PIO,3 ; Adr. af primære I/O zone (term.). F.ICHAR ; Hent en carakter JMP ERRUD ; Hvis fejl. Skriv den ud. LDA 0,44 ; AC0=32 SUBZL 2,2 ; AC2=1 SUB 2,0 ; AC0=31 SUB # 1,0,SNR ; CHR > 31 (>='space') JMP GET13 ; Nej !! Går tilbage til 'GET13' MOV 1,0 ; AC0 = AC1 LDA 1,U.S02,3 LDA 2,CUR A.PBYTE ; Put chr ud i T$. 1 ; Hvordan ud!! LDA 1,U.S02,3 ; GEM AC1 i U.S02 INC 1,1 ; AC1=AC1+1 STA 1,U.S02,3 ; GEM AC1 UD I 'U.S02' LDA 2,U.S01,3 ; AC2=U.S01 SUB # 1,0,SNR ; Input færdigt!! JMP GET13 ; Nej RET1 ; Ja ERR31: ERROR 31 ; Indexfejl (returner til BASIC) !! ERRUD: STA 2,+2,1 ERROR 0 ; Evt. BCALL IOERR ; RET0 ; ; ; End of list:«so» MMTXT PRDE2 ; PROGRAM SLUT ▶02◀S▶12◀DEA▶1c◀TALINIW▶01◀D▶03◀TOS!ACES+BCAF▶13◀LO+TP▶16◀TA&IA«ff» «nul»