|
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: 12288 (0x3000) Types: TextFile Names: »MMKA3«
└─⟦cb4367ef8⟧ Bits:30001782 SG0002 Floppy └─⟦this⟧
«ff» 0001 UCA01 DOMUS MACRO ASSEMBLER REV 02.00 01 PRDE1 ; Program head MM-110981 02 .TITL UCA01 ; USER-CODED SUBROUTINES 78.05.01 04 .NREL 05 000012 .RDX 10 ; RADIX 10 06 000001 .TXTM 1 ; PACKED FROM LEFT TO RIGHT 07 000001 .TXTN 1 ; NO NULL-BYTES IF EVEN NUMBER OF BYTES 08 09 PP00: ; PROGRAM START 10 00000'100001 1B0+1B15 ; DESCRIPTOR 11 00001'000007' PP05 ; START 12 00002'000000 0 ; CHAIN 13 00003'000103 PP10-PP00 ; SIZE 14 00004'052503 .TXT .UCALL. ; NAME 15 040514 16 046000 17 18 PP05: ; 19 00007'006013 STOPPROCESS ; 20 00010'000777 JMP PP05 ; 21 22 ; Følgende call kan benyttes: 23 ; CALL"GET",T$,A 24 ; T$ = streng dimentioneret > A 25 ; A = Antallet af tegn, der skal inputtes i T$. 26 00011'000017' GET00 27 00012'043505 .TXT "GET<0><0><0><0><0>" 28 052000 29 000000 30 000000 31 ; Ved call indeholder accumulatorerne følgende værdier 32 ; AC0 = ? 33 ; AC1 = ? 34 ; AC2 = UDA+U.STK = PDTA 35 ; AC3 = UDA 36 ; 37 ; Adresse Lagerindhold 38 ; ======= ============ 39 ; USER (page 0) UDA 40 ; UDA+PIO Adr. af prim. I/O zone 41 ; UDA + U.S00 User dataarealler 42 ; UDA + U.S20 - 43 ; UDA + U.S21 Subrutine tabel 44 ; UDA + U.STK PDTA 45 ; PDTA 0 T$ PDA 46 ; 1 A PDA 47 ; PDA T$ 2 Adr. af 1. byte. 48 ; 3 Max ant. byte 49 ; 4 Current ant. byte 50 ; PDA A 5 1. word 51 ; 6 2. word 52 ; Subrutine tabel slut 53 00016'000000 0 ; 54 00017'000002 GET00: 2 ; To variable 55 00020'100003 STRING+REFERENCE ; T$ 56 00021'000000 REAL ; og A 57 00022'021005 LDA 0,+5,2 ; AC0 = 1. WORD AF A 58 00023'025006 LDA 1,+6,2 ; AC1 = 2. WORD AF A 59 BCALL FIX ; Hental => Kommatal 60 00024'035515 LDA 3 U.S21,3 «ff» 0002 UCA01 01 00025'007400 JSR@ +0,3 02 00026'101014 MOV # 0,0,SZR 03 00027'000447 JMP ERR31 ; Index fejl 04 00030'045471 STA 1,U.S01,3 ; U.S01 = Antal chr, der skal inputtes. 05 00031'102520 SUBZL 0,0 ; AC0=1 06 00032'031467 LDA 2,U.STK,3 ; AC2=PDTA 07 00033'025002 LDA 1,+2,2 ; AC1= WORDADR AF 1. BYTE I T$ B00034'045472 ▶01◀ STA 1,U.S02,3 ; U.S02 = Adr. af 1. byte 09 00035'031467 LDA 2,U.STK,3 10 00036'102460 SUBC 0,0 ; AC0=0 11 00037'025003 LDA 1,+3,2 ; AC1=Max ant. chr. 12 BCALL FIX 13 00040'035515 LDA 3 U.S21,3 14 00041'007400 JSR@ +0,3 15 00042'101015 MOV # 0,0,SNR 16 00043'000433 JMP ERR31 17 00044'044073 STA 1,U.S03 ; U.S03=AC1 18 00045'020071 LDA 0,U.S01 ; AC0=U.S01 19 00046'106415 SUB # 0,1,SNR ; AC0 > AC1 ? 20 00047'000427 JMP ERR31 ; JA => Index fejl. 21 00050'030040 GET13: LDA 2,CUR ; AC2=CUR 22 00051'034017 LDA 3,USER ; AC3=USER 23 00052'021442 LDA 0,PIO,3 ; Adr. af primære I/O zone (term.). 24 00053'007115 F.ICHAR ; Hent en carakter 25 00054'000424 JMP ERRUD ; Hvis fejl. Skriv den ud. 26 00055'020054 LDA 0,44 ; AC0=32 27 00056'152520 SUBZL 2,2 ; AC2=1 28 00057'142400 SUB 2,0 ; AC0=31 29 00060'122415 SUB # 1,0,SNR ; CHR > 31 (>='space') 30 00061'000767 JMP GET13 ; Nej !! Går tilbage til 'GET13' 31 00062'121000 MOV 1,0 ; AC0 = AC1 32 00063'025472 LDA 1,U.S02,3 33 00064'030040 LDA 2,CUR 34 00065'007104 A.PBYTE ; Put chr ud i T$. 35 00066'000001 1 ; Hvordan ud!! 36 00067'025472 LDA 1,U.S02,3 ; GEM AC1 i U.S02 37 00070'125400 INC 1,1 ; AC1=AC1+1 38 00071'045472 STA 1,U.S02,3 ; GEM AC1 UD I 'U.S02' 39 00072'031471 LDA 2,U.S01,3 ; AC2=U.S01 40 00073'122415 SUB # 1,0,SNR ; Input færdigt!! 41 00074'000754 JMP GET13 ; Nej 42 00075'002242 RET1 ; Ja 43 00076'006244 ERR31: ERROR 44 00077'000037 31 ; Indexfejl (returner til BASIC) !! 45 00100'050402 ERRUD: STA 2,+2,1 46 00101'006244 ERROR 47 00102'000000 0 ; Evt. BCALL IOERR 48 ; RET0 49 ; 50 ; 51 ; End of list:«so» MMTXT 52 PRDE2 ; PROGRAM SLUT 53 54 PP10: ; PROCESSDESCRIPTOR: 55 00103'000000 0 ; NEXT 56 00104'000000 0 ; PREV 57 00105'000000 0 ; CHAIN 58 00106'000025 PP15-PP10 ; SIZE 59 00107'052503 .TXT .UCALL. ; NAME 60 040514 «ff» 0003 UCA01 01 046000 02 00112'000112' .+0 ; FIRST EVENT 03 00113'000112' .-1 ; LAST EVENT 04 00114'000000 0 ; BUFFE 05 00115'000000' PP00 ; PROGRAM 06 00116'000000 0 ; STATE 07 00117'000000 0 ; TIMER 08 00120'000001 1 ; PRIORITY 09 00121'000007' PP05 ; BREAK 10 00122'000103' PP10 ; AC0 11 00123'000000 0 ; AC1 12 00124'000103' PP10 ; AC2 13 00125'000000 0 ; AC3 14 00126'000016" PP05*2 ; PSW 15 00127'000000 0 ; SAVE 16 17 PP15: ; 18 .END PP10 0001 SOURCE LINES IN ERROR «ff» 0004 UCA01 A.PBY 007104 PS 2/34 BCALL 000000 MC 1/59 2/12 CUR 000040 PS 2/21 2/33 ERR31 000076' 2/03 2/16 2/20 2/43 ERROR 006244 PS 2/43 2/46 ERRUD 000100' 2/25 2/45 FADD 177775 1/60 2/02 2/13 2/15 FDIV 177772 1/60 2/02 2/13 2/15 FIX 177777 1/60 2/02 2/13 2/15 FLOAT 177776 1/60 2/02 2/13 2/15 FMPY 177773 1/60 2/02 2/13 2/15 FSUB 177774 1/60 2/02 2/13 2/15 F.ICH 007115 PS 2/24 GET00 000017' 1/26 1/54 GET13 000050' 2/21 2/30 2/41 IDIV 177767 1/60 2/02 2/13 2/15 IMPY 177771 1/60 2/02 2/13 2/15 IMPYA 177770 1/60 2/02 2/13 2/15 INC 101400 PS 2/37 IOERR 177766 1/60 2/02 2/13 2/15 JMP 000000 PS 1/20 2/03 2/16 2/20 2/25 2/30 2/41 JSR 004000 PS 2/01 2/02 2/14 2/15 LDA 020000 PS 1/57 1/58 1/60 2/02 2/06 2/07 2/09 2/11 2/13 2/15 2/18 2/21 2/22 2/23 2/26 2/32 2/33 2/36 2/39 MOV 101000 PS 2/02 2/15 2/31 PIO 000042 PS 2/23 PP00 000000' 1/09 1/13 3/05 PP05 000007' 1/11 1/18 1/20 3/09 3/14 PP10 000103' 1/13 2/54 2/58 3/10 3/12 3/18 PP15 000130' 2/58 3/17 PRDE1 000211 MC 1/01 PRDE2 000276 MC 2/52 REAL 000000 PS 1/56 REFER 100000 PS 1/55 RET1 002242 PS 2/42 SNR 000005 PS 2/15 2/19 2/29 2/40 STA 040000 PS 2/04 2/08 2/17 2/38 2/45 STOPP 006013 PS 1/19 STRIN 000003 PS 1/55 SUB 102400 PS 2/19 2/28 2/29 2/40 SZR 000004 PS 2/02 USER 000017 PS 2/22 U.S01 000071 PS 2/04 2/18 2/39 U.S02 000072 PS 2/08 2/32 2/36 2/38 U.S03 000073 PS 2/17 U.S21 000115 PS 1/60 2/02 2/13 2/15 U.STK 000067 PS 2/06 2/09 «ff» «eof»