The conditional assembly language is very simplistic and one aspect is that it 
does NOT rescan.   So if you code a SETC variable in a model statement as the 
opcode, then that is what it will expect in that variable - just the opcode.
If you have extra data in the SETC value - as in this case  the operands - then 
the assembler will be looking for an opcode of  'SR  15,15' and then you get 
the error message.
If you want to create an machine instruction with a label, opcode and operands, 
each one needs to be in its own SETC variable 

&label   SETC   'label'
&opcode  SETC  'SR' 
&operands     SETC   '15,15'
&label     &opcode     &operands  

This little snippet will work as expected while this will not 

&instruction   SETC   'label   SR   15,15'
&instruction

Kind regards
John Dravnieks (former HLASM developer)

Reply via email to