To be more clear, everything is fine when they are expanded, but then people can do stuff like: .68000 SCR equ -8 print "" if SCR<0 print "MEOW!!!!!!!!!" endif This will never evaluate true because the expression evaluator will do (u64)-8<(u64)0. So, perhaps for comparisons we should cast the values to signed?