I just posted an upgrade/bugfix for the ML1 cross compiler at "
The ML1 compiler itself is written in ML1 and will compile a user defined (in a script) language into ASM for a variety of CPUs, 8 bit to 64 bit. The included macro sets compile a structured object oriented language (Basic-ish, ASM-ish) for DOS into NASM compatible ASM. The compiler also outputs detailed information about how it compiled what it compiled for program and macro debugging. The resulting ASM program can be very compact. The whole ML1 compiler itself is 44K.
The ML1 compiler is a freeware type program. It runs in DOS 3.3 or better, or DOSEMU for Linux.
Steve