I am assuming you don’t care what the actual values are you just want the first to be last and all the others moved down one.
I am also assuming there will not be a fixed number off repetitions.
If there were a fixed number (like 4) then simply
COPY all of the IN1 group expressed as 1(0).0(0).IN1(0) to 1(0).0(3).IN1(0) <– this will put the first last
COPY all of the IN1 group expressed as 1(0).0(1).IN1(0) to 1(0).0(0).IN1(0) <– this puts the second first
COPY all of the IN1 group expressed as 1(0).0(2).IN1(0) to 1(0).0(1).IN1(0)<– this puts the third second.
If there are not a fixed number then you could do this:
COPY =0 to $%g99
COPY =0 to $%g98
ITERATE over the IN group COPYing the %g1 value to %g99
At then end of this ITERATE %g99 will have the count of the number of IN1 groups (relative to zero).
then
ITERATE over the IN group
Check if %g1 eq 0 (zero)
True COPY IN group (using %g1) to IN group (using %g99)
ELSE
COPY IN group (using %g1) to IN group (using %g98)
MATH ADD =1 $%g98 to $%g98
email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.