* Loops Break 15/02/2017 LOOPBREA CSECT USING LOOPBREA,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 " addressability LOOP MVC PG,=CL80' ' clean buffer LA R8,PG ipg=0 BAL R14,RANDINT call randint C R6,=F'10' if k=10 then leave BE ENDLOOP <-- loop break BAL R14,RANDINT call randint XPRNT PG,L'PG print buffer B LOOP loop forever ENDLOOP XPRNT PG,L'PG print buffer L R13,4(0,R13) epilog LM R14,R12,12(R13) " restore XR R15,R15 " rc=0 BR R14 exit RANDINT L R5,RANDSEED randint M R4,=F'397204091' " D R4,=X'7FFFFFFF' " ST R4,RANDSEED " LR R5,R4 " SR R4,R4 " D R4,=F'20' " LR R6,R4 k=randint(20) XDECO R6,XDEC edit k MVC 0(4,R8),XDEC+8 output k LA R8,4(R8) ipg=ipg+4 BR R14 return RANDSEED DC F'39710831' seed PG DS CL80 buffer XDEC DS CL12 YREGS END LOOPBREA