|
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: »YCHEC«
└─⟦45bd0f8dd⟧ Bits:30000464 DOMUS disk image └─⟦this⟧ »/YCHEC« └─⟦6dbcc9c03⟧ Bits:30000463 DOMUS disk image └─⟦this⟧ »/YCHEC« └─⟦a2e222af0⟧ Bits:30001626 DOMUS disk image └─⟦this⟧ »/YCHEC«
;CODEPROCEDURE CHECK(VAR M:STRING(1);M0:STRING(1); ; VAR LE:INTEGER; ; VAR C: INTEGER;VAR B: STRING(1)); ;CODEBODY; .TITL CHECK .NREL .RDX 10 A: JSR@ MZSTART+2 ; TAKE ADRR M STA 1 MADDR ; JSR@ MZSTART+2 ; TAKE ADDR M0 STA 1 M0ADDR ; JSR@ MZSTART+2 ; TAKE ADDR LE MOV 1,3 ; LDA 1 1,3 ; STA 1 LI ; LDA 1 0,3 ; STA 1 LE ; JSR@ MZSTART+2 ; TAKE ADDR C STA 1 CADDR ; JSR@ MZSTART+2 ; TAKE ADDR B STA 1 BADDR ; SUB 0,0 ; STA 0 BP ; BP:=0; SUBZL 0,0 ; STA 0 Y ; FOR Y:=1 STEP 1 UNTIL LI-2 DO YLOOP: SUBZL 0,0 ; STA 0 X ; FOR X:=1 STEP 1 UNTIL LE-1 DO XLOOP: LDA 0 LE ; LDA 1 Y ; MULTIPLY ; LDA 0 X ; ADD 0,1 ; LDA 3 MADDR ; I:=LE*Y+X; ADD 1,3 ; STA 3 I ; DSZ I ; I:=BYTEADDR(M)+I-1; LDA 3 M0ADDR ; ADD 1,3 ; STA 3 I0 ; SUB 0,0 ; STA 0 N ; N:=0; LDA 1 I ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; INC 1,1 ; INC 1,1 ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; LDA 0 LE ; LDA 1 I ; SUB 0,1 ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; INC 1,1 ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; INC 1,1 ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; LDA 0 LE ; LDA 1 I ; ADD 0,1 ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; INC 1,1 ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; INC 1,1 ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; ISZ N ; ISZ I ; LDA 0 N ; LDA 3 .2 ; IF N=2 THEN EXIT SUB# 0,3 SNR ; ELSE JMP AEND ; LDA 3 .3 ; IF N<>3 THEN INSERT(32,M,I) SUB# 0,3 SNR ; ELSE JMP A1 ; LDA 1 I ; GETBYTE ; LDA 3 .7 ; AND 0,3 SNR ; JMP AEND ; LDA 1 I0 ; LDA 0 .32 ; PUTBYTE ; JMP C0 ; A1: LDA 1 I ; GETBYTE ; LDA 3 .7 ; AND 0,3 SZR ; JMP AEND ; LDA 1 I0 ; LDA 0 .42 ; INSERT(42,M,I); PUTBYTE ; C0: LDA 1 YS ; LDA 3 Y ; SUB# 1,3 SZR ; JMP C1 ; LDA 1 XS ; LDA 3 X ; SUB# 1,3 SZR ; JMP C1 ; JSR CIOUT ; JMP CEND ; MADDR: 0 M0ADDR: 0 LI: 0 LE: 0 CADDR: 0 BADDR: 0 BP: 0 X: 0 Y: 0 I: 0 I0: 0 N: 0 CIOUT: STA 3 RET ; LDA 1 BP ; LDA 3 BADDR ; ADD 3,1 ; PUTBYTE ; ISZ BP ; JMP@ RET ; C2: STA 3 RET ; MOV 0,1 ; LDA 3 .96 ; ADD 3,0 ; AND# 3,1 SNR ; JMP@ RET ; LDA 3 .64 ; SUB 3,0 ; AND# 3,1 SZR ; SUB 3,0 ; JMP@ RET ; C1: STA 0 CS ; LDA 0 .134 ; JSR CIOUT ; LDA 0 X ; JSR C2 ; JSR CIOUT ; LDA 0 Y ; JSR C2 ; JSR CIOUT ; LDA 0 CS ; JSR CIOUT ; CEND: LDA 0 Y ; STA 0 YS ; LDA 0 X ; INC 0,0 ; STA 0 XS ; AEND: ISZ X ; SUBZL 0,0 ; LDA 1 LE ; SUB 0,1 ; LDA 0 X ; SUB# 0,1 SZR ; JMP@ .XLOOP ; ISZ Y ; SUBZL 0,0 ; LDA 1 LI ; SUB 0,1 ; LDA 0 Y ; SUB# 0,1 SZR ; JMP@ .YLOOP ; LDA 0 BP ; LDA 3 CADDR ; STA 0 0,3 ; JMP@ MZSTART+1 ; RETURN RET: 0 CS: 0 YS: 0 XS: 0 .42: 42 .96: 96 .134: 134 .XLOOP: XLOOP .YLOOP: YLOOP .END A «ff» «nul»