Lavr wrote:компилятор с языка BASIC для К580ВМ80 ? Интересует ... работающий под управлением К580ВМ80 и кросс-компилятор, работающий на IBM PC под DOS или Win.
Кросс-компиляторов бейсика в коды КР580 на PC видимо нет. Зато есть пяток компиляторов бейсика для CP/M, с выходным кодом именно для КР580.
Но реально использовать стоит только Microsoft BASCOM. Он совместим с интерпретатором MBASIC, что позволяет отладить программу в интерпретаторе, что ускоряет разработку. Другим плюсом является наличие совместимости с PC-шными бейсиками. Т.е программу не привязанную к железу можно разрабатывать и отлаживать на IBM PC (например, в QBasic или PowerBasic), а по завершении разработки и отладки странслировать CP/M-компилятором (также на IBM PC, используя TSR-эмулятор 22NICE), а результат трансляции уже использовать на целевой машине.
CBASIC от Digital Research даёт якобы лучший код, и также хорошо документирован, но неудобен (сам бейсик с особенностями и ни с чем несовместимый). Другие бейсики компиляторы написаны любителями, потому вряд ли лучше, все плохо документированы и обычно дают не COM-файл, а INT, который должен запускаться многокилобайтовым стартёром.
BASCOM позволяет скомпилировать программу, что при старте в CP/M подгружает BRUN (т.е вообще не может работать без CP/M), но также может генерировать и однофайловый COM-файл (в Qbasic и Turbo Basic также). А однофайловый COM-файл, если эта программа не использует ввод/вывод средствами BDOS/BIOS CP/M может работать без CP/M (в такой программе ввод/вывод должен делаться ассемблерными вставками).
Я компилировал BASCOM-ом в 1991-94, пока не изучил Паскаль и Си. Например, написал полноценный текстовый редактор (аналог турбо-паскалевского), но из-за объёма кода чуть ли не на порядок большего, чем на ассемблере, это имело только академический интерес.
Вопреки мнению о эффективности компиляторов, компиляция бейсика ускоряет мало (обычно всего в 2-2.5 раза и это также и на PC-версиях), а результирующий код огромный (начиная с 10-15 кб). Бейсик не выдерживает конкуренции с Паскалем и СИ, т.к CP/M-компиляторы Си или Паскаля дают в 1.5 раза более скоростной и на столько же более компактный код.
Но бейсик компилятор удобен для простеньких инструментальных программок (типа конверторов), где скорость и объём кода не играют роли. А ценно то, что их можно быстрее написать и отладить, чем на Си или Паскале (для которых нет интерпретаторов).