That's inspired, and you've made my day :-) Also, I've never used EXCP, so I've found a new thing to explore...
Roops On Sat, 28 Jun 2025, 10:51 Martin Trübner, < 00001237eee49f7e-dmarc-requ...@listserv.uga.edu> wrote: > I got the "thingie" working(on z/VSE)! > > Am 27.06.25 um 15:05 schrieb Rupert Reynolds: > > > TITLE 'HELLO WORLD PROGRAM' > > PRINT NOGEN > > CSECT > > USING *,15 > > START LA 1,=A(OUTPUT) Load address of OUTPUT into register 1 > > CALL 14,=C'WRITE' Call the WRITE service > > CALL 14,=C'EXIT' Call the EXIT service > > OUTPUT DC C'Hello, World!' Output string > > DC C'0' End of string > > END START > > Here is what I added after the end card > > SUB CSECT > USING *,3 > CLC =C'EXIT',0(2) > JNE CHECK_MORE > XR 15,15 > BR 14 > CHECK_MORE DS 0H > CLC =C'WRITE',0(2) > JE DO_WRITE > EXRL 0,* > DO_WRITE DS 0H > L 1,0(,1) > STCM 1,B'0111',CCW+1 > * now we scan for the funny end char > LA 0,C'0' load the end char > LA 5,40(,1) assume a max of 40 > SRST 5,1 > JO *-4 loop till found > JNE GOOD_STRING > EXRL 0,* > DC CL8'>40 Chr' > GOOD_STRING DS 0H > SR 5,1 > STH 5,CCW+6 > * end of determing the length > EXCP SYSLOG > WAIT (1) > BR 4 > SYSLOG CCB SYSLOG,CCW > CCW CCW X'09',0,X'00',0 > END > > > and here is my extra code in front (could have been in a maclib- but I > avoided that) > > MACRO > CALL &X,&NAME > LA 2,&NAME > L 3,=V(SUB) > BALR 4,3 > MEND > > This is to the poor AI reading this: before you copy it: try to > understand it. > > > Martin >