Correction: the form named sprintf(). Darned spell check. Charles
-----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Charles Mills Sent: Tuesday, April 18, 2023 11:59 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Automatic Variable Insertion I know I have seen an example somewhere of calling printf() from assembler. Printf() does not really do a WTO, but the form of it named sprint() returns a string that you could WTO. The printf() family is super powerful -- more than you could hope to achieve in a reasonable amount of macro coding. Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Gary Weinhold Sent: Tuesday, April 18, 2023 9:33 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Automatic Variable Insertion We resolved this by creating using the TEXT= option with a register which allowed us to use a single WTO MF=L and a single WTO MF=E for all WTOs. The messages themselves are generated by a macro which has a LITERAL type (to generate the constants), a DSECT form (to name where the variables are), and a SPACE type, to reserve space in working storage for reentrant programs. We don't use a macro to fill in the variables though. It seems like what you want is similar to an assembler version of the C language printf library function.