Hi! Here is an example of what ALIGN fails to do: format MZ db 12 dup $AA db 50h - 20h - $ dup 90h segment dat50 db 8 dup 55h Segment dat50 is desired at address 50h. I subtract 0x20 because in an .exe the "AA" starts at 0x20, then subtracting the end of the "AA" gives the number of NOPs to write for the new segment to start at 0x50. So this replaces what I don't know how to do with ALIGN. Please, does anyone know of a better solution that is more suitable for large programs?