+/*
+ -- chi --
+ for(i = 0; i < 5; ++i){
+ a[i][0] ^= ((~(b[i][1])) & (b[i][2]));
+ a[i][1] ^= ((~(b[i][2])) & (b[i][3]));
+ a[i][2] ^= ((~(b[i][3])) & (b[i][4]));
+ a[i][3] ^= ((~(b[i][4])) & (b[i][0]));
+ a[i][4] ^= ((~(b[i][0])) & (b[i][1]));
+
+ }
+*/
+ ; memcpy(a, b, 200)
+ ; X points at b + 32 + 8 = b + 40 = b[1][0] has to point to b[0][0]
+ ldi r16, 200
+ sbiw XL, 5 * 8
+ movw ZL, XL
+ subi YL, lo8(5 * 5 * 8)
+ sbci YH, hi8(5 * 5 * 8)
+ movw r2, YL
+10:
+ ld r22, X+
+ st Y+, r22
+ dec r16
+ brne 10b