Here is the implementation of `p2align'
pseudo-instruction, which uses a GAS-like mechanism for
aligning code. Syntax is:
p2align 3 ; align on 8-byte boundary
p2align 3,,4 ; as above, but skip at most 4 bytes
p2align 3,0x90,4 ; as above, but pad with NOPs
p2align 5,0x00 ; align on 32-byte boundary using 0s
There is also a new operator for critical expressions.
`!' performs much like logical NOT in C (except this
always returns 1 instead of whatever logical TRUE maps to):
!exp -> 0 if exp != 0
!exp -> 1 if exp == 0
attached nasm-cvs-2006-09-12.patch contains the
implementation of the two (against CVS of 12 sep 2006)
attached nasm-0.98.39.patch contains the implementation
of the two (against 0.98.39 release)
attached nasmdoc.txt contains the description of the two.
attached palign.mac contains a `palign' macro which
does roughly the same as `p2align', and uses the
logical NOT operator