А как же ORG? OUTPUT не учитывает возникающие дырки или перекрытия.
--raw начинает работать если есть хоть одна директива OUTPUT вроде.
С новым ORG-ом руками указывать новый файл для вывода OUTPUT. Дырки делать DS/ALIGN - их-то он обрабатывает? А перекрытие - это как? Скомпилить кусок кода, а потом поверх ещё кусок, затирая предыдущий? Это уже какое-то извращение.
А вообще, на край есть ещё и SAVEBIN.