Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,72 @@
|
|||
* Stern-Brocot sequence - 12/03/2019
|
||||
STERNBR CSECT
|
||||
USING STERNBR,R13 base register
|
||||
B 72(R15) skip savearea
|
||||
DC 17F'0' savearea
|
||||
SAVE (14,12) save previous context
|
||||
ST R13,4(R15) link backward
|
||||
ST R15,8(R13) link forward
|
||||
LR R13,R15 set addressability
|
||||
LA R4,SB+2 k=2; @sb(k)
|
||||
LA R2,SB+2 i=1; @sb(k-i)
|
||||
LA R3,SB+0 j=2; @sb(k-j)
|
||||
LA R1,NN/2 loop counter
|
||||
LOOP LA R4,2(R4) @sb(k)++
|
||||
LH R0,0(R2) sb(k-i)
|
||||
AH R0,0(R3) sb(k-i)+sb(k-j)
|
||||
STH R0,0(R4) sb(k)=sb(k-i)+sb(k-j)
|
||||
LA R3,2(R3) @sb(k-j)++
|
||||
LA R4,2(R4) @sb(k)++
|
||||
LH R0,0(R3) sb(k-j)
|
||||
STH R0,0(R4) sb(k)=sb(k-j)
|
||||
LA R2,2(R2) @sb(k-i)++
|
||||
BCT R1,LOOP end loop
|
||||
LA R9,15 n=15
|
||||
MVC PG(5),=CL80'FIRST'
|
||||
XDECO R9,XDEC edit n
|
||||
MVC PG+5(3),XDEC+9 output n
|
||||
XPRNT PG,L'PG print buffer
|
||||
LA R10,PG @pg
|
||||
LA R6,1 i=1
|
||||
DO WHILE=(CR,R6,LE,R9) do i=1 to n
|
||||
LR R1,R6 i
|
||||
SLA R1,1 ~
|
||||
LH R2,SB-2(R1) sb(i)
|
||||
XDECO R2,XDEC edit sb(i)
|
||||
MVC 0(4,R10),XDEC+8 output sb(i)
|
||||
LA R10,4(R10) @pg+=4
|
||||
LA R6,1(R6) i++
|
||||
ENDDO , enddo i
|
||||
XPRNT PG,L'PG print buffer
|
||||
LA R7,1 j=1
|
||||
DO WHILE=(C,R7,LE,=A(11)) do j=1 to 11
|
||||
IF C,R7,EQ,=F'11' THEN if j=11 then
|
||||
LA R7,100 j=100
|
||||
ENDIF , endif
|
||||
LA R6,1 i=1
|
||||
DO WHILE=(C,R6,LE,=A(NN)) do i=1 to nn
|
||||
LR R1,R6 i
|
||||
SLA R1,1 ~
|
||||
LH R2,SB-2(R1) sb(i)
|
||||
CR R2,R7 if sb(i)=j
|
||||
BE EXITI then leave i
|
||||
LA R6,1(R6) i++
|
||||
ENDDO , enddo i
|
||||
EXITI MVC PG,=CL80'FIRST INSTANCE OF'
|
||||
XDECO R7,XDEC edit j
|
||||
MVC PG+17(4),XDEC+8 output j
|
||||
MVC PG+21(7),=C' IS AT '
|
||||
XDECO R6,XDEC edit i
|
||||
MVC PG+28(4),XDEC+8 output i
|
||||
XPRNT PG,L'PG print buffer
|
||||
LA R7,1(R7) j++
|
||||
ENDDO , enddo j
|
||||
L R13,4(0,R13) restore previous savearea pointer
|
||||
RETURN (14,12),RC=0 restore registers from calling sav
|
||||
LTORG
|
||||
NN EQU 2400 nn
|
||||
PG DC CL80' ' buffer
|
||||
XDEC DS CL12 temp for xdeco
|
||||
SB DC (NN)H'1' sb(nn)
|
||||
REGEQU
|
||||
END STERNBR
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
k=2; i=1; j=2;
|
||||
while(k<nn);
|
||||
k++; sb[k]=sb[k-i]+sb[k-j];
|
||||
k++; sb[k]=sb[k-j];
|
||||
i++; j++;
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
LA R4,SB+2 k=2; @sb(k)
|
||||
LA R2,SB+2 i=1; @sb(k-i)
|
||||
LA R3,SB+0 j=2; @sb(k-j)
|
||||
LA R1,NN/2 k=nn/2 'loop counter
|
||||
LOOP LA R4,2(R4) @sb(k)++
|
||||
LH R0,0(R2) sb(k-i)
|
||||
AH R0,0(R3) sb(k-i)+sb(k-j)
|
||||
STH R0,0(R4) sb(k)=sb(k-i)+sb(k-j)
|
||||
LA R3,2(R3) @sb(k-j)++
|
||||
LA R4,2(R4) @sb(k)++
|
||||
LH R0,0(R3) sb(k-j)
|
||||
STH R0,0(R4) sb(k)=sb(k-j)
|
||||
LA R2,2(R2) @sb(k-i)++
|
||||
BCT R1,LOOP k--; if k>0 then goto loop
|
||||
Loading…
Add table
Add a link
Reference in a new issue