Robert A. Rosenberg suggested the following unoptimized, 'this is the idea' 
macro-language statements as a device for coping with the A=>10,  C=>12, E=>14, 
even-register-in-hex  problem:
 
AIF ("&REG1" EQ "A").RA
AIF ("&REG1" EQ "C").RC
AIF ("&REG1" EQ "E").RE
AGO .CHKEVN
.RA ANOP
&REG1 SETC "10"
AGO .CHKEVN
.RC ANOP
&REG1 SETC "12"
AGO .CHKEVN
.RE ANOP
&REG1 SETC "14"
AGO .CHKEVN

 
An alternative that I prefer is
 
|&hex_even_string setc 'ACEace'
|&dec_even_array(1) setc '10','12','14','10','12','14'
|&hexoff seta INDEX('&hex_even_string','&REG1')
|&not_found setb (&hexoff eq 0)
| aif (&not_found).after_hexeven
|&REG1 setc '&dec_even_array(&hexoff)'
|.after_hexeven anop
 
The OP needs help with his use of the macro language.  The statements he wrote 
need to be replaced root and branch; not one should survive; he clearly has 
some notion of this; and he is to be commended for submitting them to be mauled 
here.
 
John Gilmore Ashland, MA 01721-1817 USA

                                          

Reply via email to