Use macros to define ALU operations

This makes my life a tiny bit simpler: now I only have each ALU
operation defined in one place.  It's still not great (as I have to
have each form of ALU operation defined once), but it's a bit
better...