<snip> I disagree Mario. Your set of assembled instructions definitely produced some result, but you ended the C program with " return 0; " </snip>
The __ASM indicated that the only outputs are an internal variable (functRC) and registers (that won't be preserved to the caller). I don't remember if there is some way to indicate that the __ASM sets "anything". Does the C language accept the notion of "side effects" produced by a call (such as changing some global data structure)? Maybe that's not best programming practice but if that is allowed, then the __ASM has to be produced (unless the default for __ASM is that only things identified as changed are changed, including global data structures). Maybe you'd get the same effect with this program if the __asm was instead a "call" to an external routine. Peter Relson z/OS Core Technology Design
