This is for an easy way to write down fixed points.
Something to this effect:
%define FIXEDP_LITERAL(num) (int) (num * 65536)
That's invalid code, obviously (probably). This macro will be used in instructions as operands and in define directives. Is it possible to cast from a float to an integer in nasm expressions, such that nasm will use the expression as an integer (i.e. so dd FIXEDP_LITERAL(3.5) should place an integer constant, not a floating-point constant).