Введение

Компилятор C от BD Software

BDS C (или BD Software C Compiler) – компилятор для существенного подмножества языка программирования C, который работал и генерировал код для процессоров Intel 8080 и Zilog Z80. Это был первый компилятор C для CP/M. Он был написан Леором Золманом и впервые выпущен в 1979 году, когда ему было 20 лет. Аббревиатура "BDS" расшифровывается как "Brain Damage Software" (Программное обеспечение для повреждения мозга). BDS C был популярен и оказал значительное влияние на пользователей и разработчиков CP/M. Он работал значительно быстрее, чем другие компиляторы, работающие на Z80. Была возможность запускать BDS C на однодисковых машинах с объемом оперативной памяти всего 30K, в отличие от большинства других коммерческих компиляторов, которым требовалось множество проходов и запись промежуточных файлов на диск. К слабым сторонам BDS C относились несовместимость математических функций для работы с плавающей точкой и функций доступа к файлам с компилятором C, используемым в UNIX, а также несовместимость его переносимых объектных файлов со сборщиком Microsoft MACRO 80, что затрудняло интеграцию кода на C с языком ассемблера. BDS C поставлялся вместе с подмножеством системы Unix, написанной примерно в 1980 году, под названием MARC (Machine Assisted Resource Coordinator). Эта разработка в некотором роде напоминала GNU, хотя MARC должен был обеспечивать запуск программного обеспечения CP/M посредством эмуляции. К сожалению, автор MARC, Эд Зиемба, погиб в результате несчастного случая во время снорклинга, не успев завершить проект. В 2002 году Леор Золман опубликовал исходный код BDS C на языке ассемблера 8080 в общественное достояние.

Прием

Было продано около 75 000 экземпляров, включая упрощенную японскую версию. Ряд коммерческих продуктов для CP/M был написан на подмножестве BDS C языка C, включая PeachText от PeachTree Software, MINCE и Scribble от Mark of the Unicorn, и большую часть программного обеспечения в пакете Perfect Software, в том числе Perfect Writer, PerfectCalc, PerfectSpeller и PerfectFiler (который поставлялся в комплекте с Kaypro).