|
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: 4096 (0x1000) Types: TextFile Names: »YTMOV«
└─⟦45bd0f8dd⟧ Bits:30000464 DOMUS disk image └─⟦this⟧ »/YTMOV« └─⟦6dbcc9c03⟧ Bits:30000463 DOMUS disk image └─⟦this⟧ »/YTMOV« └─⟦a2e222af0⟧ Bits:30001626 DOMUS disk image └─⟦this⟧ »/YTMOV«
; MOVING TEST FOR GENERAL PURPUOSE ; FS 82.06.21 .TITL CMOVE .RDX 8 .LOC 0 ;****************************************************************************** ;THE FOLLOING PROGRAM IS OVERWRITEN BY THE MOVELOOP INIT: IORST ; RESET AND (NR_OF_RUN*2) DICP 0 1 ; SET EXT MEM FLAG LDA 2 ESIZE ; FIND-MEM-SIZE: SKPDN 1 ; SUB 2,2 ; <= 64KB LDA 0 TPATT ; <=128KB LDA 3 MSIZE ; SA: ADD 3,2 SZR ; JMP SB ; 128KB SKPDN 1 ; LDA 2 ESIZE ; 64KB JMP SC ; SB: STA 0 0,2 ; LDA 1 0,2 ; SUB# 0,1 SNR ; JMP SA ; SC: STA 2 MSIZE ; FOUND DSZ MSIZE ; MSIZE:=ACTUEL SIZE ML: LDA 3 LSTARTP ; LDA 2 LOOPLENGTH ; ADD 3,2 ; STA 2 ISTARTRUN ; STA 3 -4,2 ; LOOPP2:=STARTPOINTER; LDA 0 LOOPLENGTH ; COM 0,0 ; STA 0 -1,2 ; LOOPL:=LOOPLENGTH; LDA 1 MSIZE ; INC 1,1 ; ADD 0,1 ; STA 1 -2,2 ; LASTA:=MEM-_SIZE-LOOPL INC 2,2 ; AC2:=PUTPOINTER; LDA 1 0,3 ; AC3:=GETPOINTER; STA 1 0,2 ; INC 3,3 ; INC 2,2 ; INC 0,0 SZR ; JMP .-5 ; STA 0 INIT ; LOOPCOUNT:=0; STA 3 -5,3 ; LOOPP1:=STARTP+LOOPL+1; ISZ ISTARTRUN ; JMP@ ISTARTRUN ; START RUN LOOPLENGTH : 77 ; ONLY THIS PARAMETER IS TO ; CHANGE IF A NEW LOOP IS ; INSTALLED. = LOOP + 34 OKT MSIZE : 20000 ; MEMSIZE INIT AUTOMATIC ESIZE : 100000 ; TPATT : 125252 ; TEST_PATTERN LSTARTP : 400 ; STARTPOINTER ISTARTRUN: 0 ; START OF TMOVE ;****************************************************************************** «ff» ;TMOVE_LOOP .NREL ENTRY: STA 2 LSAVE ; *** TEST_LOOP *** LDA 3 LMASK ; MOVS 2,0 ; LDA 2 M10 ; RANDOM(ADDR); MOVZL 0,1 ; MOVZL 1,1 ; INC 2,2 SZR ; JMP .-2 ; ADD 0,1 ; MOVZL 1,1 ; MOVZL 1,1 ; ADD 1,0 ; LDA 1 RCONST ; ADD 1,0 ; AND 3,0 ; 0-255 LDA 2 LSAVE ; NEG 0,0 ; T0: STA 0 LSAVE ; READS 1 ; MOV 1,1 SZC ; JMP T1 ; NEG 0,0 ; ISZ LSAVE ; JMP .-2 ; JMP BACK ; T1: LDA 3 LSAVE ; SUB# 0,3 SZR ; HALT ; ERROR AC0=EXPT, AC1=REC MOVL 1,1 ; INC 0,0 SZR ; JMP T0 ; JMP BACK ; RCONST : 33031 ; M10 : -10 ; LSAVE : 0 ; LMASK : 377 ; ; *** END TEST_LOOP *** «ff» ;******************************************************************************* ; THE FOLLOING PROGRAMM IS THE MOVE_LOOP BACK: LDA 2 LOOPPX ; GETPOINTER:=LOOPPOINTER; LDA 0 FIRSTAX ; DSZ LOOPPX ; LOOPP:=LOOPP-1; JMP .+1 ; LDA 3 LOOPPX ; SUB# 0,3 SNR ; IF LOOPP = FIRSTA THEN JMP NEWSET ; GOTO NEWSET; WMOVE: LDA 1 LLOOPLX ; AC1:=LOOPLENGTH; LDA 0 0,2 ; CO(AC3):=CO(AC2); STA 0 0,3 ; LDA 0 CHALTX ; CO(AC2):=HALT; STA 0 0,2 ; INC 3,3 ; AC3:=AC3+1; INC 2,2 ; AC2:=AC2+1; INC 1,1 SZR ; UNTIL AC1 = 0; JMP .-7 ; JMP@ LOOPPX ; GOTO LOOP2; NEWSET: ISZ INIT ; LOOPCOUNT=NR OF LRUNS JMP .+2 ; HALT ; RUN OUT 32767 RUNS LDA 3 LASTAX ; STA 3 LOOPPX ; LLOOPPOINTER:=LASTADDR; JMP WMOVE ; LOOPPX : 0 ; -4 LOOPPOINTER FIRSTAX : 0 ; -3 FIRST_ADDRESS OF MEM LASTAX : 0 ; -2 LASTADDRESS OF MEM LLOOPLX : 0 ; -1 -LOOPLENGTH CHALTX : 063077 ; 0 HALT_COMMAND ;***************************************************************************** .END INIT «ff» «nul»