Если WinExec не подходит, то ShellExecute - он не только .exe-файлы запускает.
Может, не "COM1", а что-то типа "\\?\COM1" ?
Может, так: local temp: dword local zerobuffer[2048]:byte invoke RtlZeroMemory, addr zerobuffer, sizeof zerobuffer invoke CreateFile, ...,...
Посмотри здесь: http://www.opengl.org.ru/ (хоть и старая книжонка, мож поможет)
Между прочим, в Delphi в исходнике Source\System.pas много хороших готовых методов на asm'е. Например, процедуру Move можно и в asm'е...
Можно, например и такие батики использовать: Для EXE'шников: @ECHO OFF ECHO. ECHO EXE compiler is runing... ECHO. ml /nologo /c /coff...
Имена участников (разделяйте запятой).