diff --git a/nasmlib.h b/nasmlib.h index 372095c7..793fccd9 100644 --- a/nasmlib.h +++ b/nasmlib.h @@ -254,6 +254,13 @@ void standard_extension(char *inname, char *outname, char *extension); for (pos = head, n = (pos ? pos->next : NULL); pos; \ pos = n, n = (n ? n->next : NULL)) +/* + * Power of 2 align helpers + */ +#define ALIGN_MASK(v, mask) (((v) + (mask)) & ~(mask)) +#define ALIGN(v, a) ALIGN_MASK(v, (a) - 1) +#define IS_ALIGNED(v, a) (((v) & ((a) - 1)) == 0) + /* * some handy macros that will probably be of use in more than one * output format: convert integers into little-endian byte packed