<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

Reply via email to