2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -0,0 +1,71 @@
|
|||
* Cocktail sort 25/06/2016
|
||||
COCKTSRT CSECT
|
||||
USING COCKTSRT,R13 base register
|
||||
B 72(R15) skip savearea
|
||||
DC 17F'0' savearea
|
||||
STM R14,R12,12(R13) prolog
|
||||
ST R13,4(R15) "
|
||||
ST R15,8(R13) "
|
||||
LR R13,R15 "
|
||||
L R2,N n
|
||||
BCTR R2,0 n-1
|
||||
ST R2,NM1 nm1=n-1
|
||||
DO UNTIL=(CLI,STABLE,EQ,X'01') repeat
|
||||
MVI STABLE,X'01' stable=true
|
||||
LA RI,1 i=1
|
||||
DO WHILE=(C,RI,LE,NM1) do i=1 to n-1
|
||||
LR R1,RI i
|
||||
SLA R1,2 .
|
||||
LA R2,A-4(R1) @a(i)
|
||||
LA R3,A(R1) @a(i+1)
|
||||
L R4,0(R2) r4=a(i)
|
||||
L R5,0(R3) r5=a(i+1)
|
||||
IF CR,R4,GT,R5 THEN if a(i)>a(i+1) then
|
||||
MVI STABLE,X'00' stable=false
|
||||
ST R5,0(R2) a(i)=r5
|
||||
ST R4,0(R3) a(i+1)=r4
|
||||
ENDIF , end if
|
||||
LA RI,1(RI) i=i+1
|
||||
ENDDO , end do
|
||||
L RI,NM1 i=n-1
|
||||
DO WHILE=(C,RI,GE,=F'1') do i=n-1 to 1 by -1
|
||||
LR R1,RI i
|
||||
SLA R1,2 .
|
||||
LA R2,A-4(R1) @a(i)
|
||||
LA R3,A(R1) @a(i+1)
|
||||
L R4,0(R2) r4=a(i)
|
||||
L R5,0(R3) r5=a(i+1)
|
||||
IF CR,R4,GT,R5 THEN if a(i)>a(i+1) then
|
||||
MVI STABLE,X'00' stable=false
|
||||
ST R5,0(R2) a(i)=r5
|
||||
ST R4,0(R3) a(i+1)=r4
|
||||
ENDIF , end if
|
||||
BCTR RI,0 i=i-1
|
||||
ENDDO , end do
|
||||
ENDDO , until stable
|
||||
LA R3,PG pgi=0
|
||||
LA RI,1 i=1
|
||||
DO WHILE=(C,RI,LE,N) do i=1 to n
|
||||
LR R1,RI i
|
||||
SLA R1,2 .
|
||||
L R2,A-4(R1) a(i)
|
||||
XDECO R2,XDEC edit a(i)
|
||||
MVC 0(4,R3),XDEC+8 output a(i)
|
||||
LA R3,4(R3) pgi=pgi+4
|
||||
LA RI,1(RI) i=i+1
|
||||
ENDDO , end do
|
||||
XPRNT PG,L'PG print buffer
|
||||
L R13,4(0,R13) epilog
|
||||
LM R14,R12,12(R13) "
|
||||
XR R15,R15 "
|
||||
BR R14 exit
|
||||
A DC F'4',F'65',F'2',F'-31',F'0',F'99',F'2',F'83',F'782',F'1'
|
||||
DC F'45',F'82',F'69',F'82',F'104',F'58',F'88',F'112',F'89',F'74'
|
||||
N DC A((N-A)/L'A) number of items of a
|
||||
NM1 DS F n-1
|
||||
PG DC CL80' ' buffer
|
||||
XDEC DS CL12 temp for xdeco
|
||||
STABLE DS X stable
|
||||
YREGS
|
||||
RI EQU 6 i
|
||||
END COCKTSRT
|
||||
Loading…
Add table
Add a link
Reference in a new issue