( bucko | 2014. 09. 26., p – 18:30 )

2.2.2 Expressions
The gpasm expressions are implemented using 32-bit arithmetic. gpasm supports a full set of operators,
based on the C operator set.
...
HIGH = high byte

Tehát a high eredménye egy 8 bites konstans. (Ráadásul konstansból keletkezett.)
A movlw 8 bites regiszterbe tölt be egy konstanst.
Ha a betöltendő adat hosszabb, akkor a fordító sikít.

Azaz nullától végtelen bitszámig a high az izének a 8..15 bitjét jelenti. Ha típusosan néznénk, akkor a high akármiből konstanst csinál, és itt vége az okoskodásnak. A konstanst nem szabad tovább értelmezni, mert puszta szám.

Ezért nem az a hiba, hogy rossz helyen van az if, hanem hogyan keveredik oda a fordító, hogy egy művelet konstans végeredményéről elkezdi latolgatni, hogy lehet-e cím?