Цель-минимум: собрать рабочий Hello World для Спектрума. Эмулятор CP/M берём здесь.
Пока столкнулся с тем, что не работает #asm / #endasm
Такой исходник:
даёт такой выхлоп:Код:void main (void) { #asm ld a,10 #endasm }
H:\Archive\Projects\XDev\ZXDevHC\Bin\CPM>..\cpm C -O -M -S Hello.c
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
HELLO.C: main()
5: EOF in #asm
Поскольку явного EOF'а in #asm не наблюдается, пробую менять в исходнике код окончания строк с LF (UNIX) на CR (вроде в CP/M так). Тогда компилятор вообще зависает.
Если убрать секцию #asm/#endasm, пустой void main (void) {} собирается в HELLO.COM для CP/M размером 256 байт. Как сгенерить бинарь для ZX - пока непонятно. Возможно, придётся генерировать ассемблерный листинг и ассемблировать отдельно.
А вот что пишет один MSX'ер на форуме по MSX:Также высокохвалёный Sayman'ом хайтех 3.09 не понимает комментов вида //Сообщение от Manuel