#define PHASE_A (PINA & 1<<PA1)
if( PHASE_A )

bedeutet, dass das Controllerbeinchen PA1 auf 0 oder 1 getestet wird. Liegt an PA1 eine 1 dann ist die IF Abfrage wahr bei 0 ist sie falsch.

Und bevor als nächstes die Frage nach new ^= 1; kommt.
Das bedeutet new = new^1; Wobei ^ ein bitweises Exclusivoder ist.

0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0

sast

PS: zu PINA & 1<<PA1

1<<PA1 heißt, dass eine 1 um PA1 Stellen nach links geschoben wird. Nehmen wir an, das PA1 mit 5 definiert wurde (nur zum Verständnis), dann wird die 1 also um 5 Stellen nach links verschoben. Nun wird 00100000 mit PINA bitweise verundet und wenn da bei Bitposition 5 auch eine 1 steht ist PHASE_A == 1. Das ist eigentlich schon alles.