Транслятор с языка Бейсик фирмы Microsoft, который обычно называется ’’BASCOM”, представляет собой набор дополнительных транзитных программ, который может быть включен в стандартный набор транзитных программ ОС СР/М и может использоваться совместно с интерпретатором ”ВА-SIC-80” фирмы Microsoft. Набор программ ’’BASCOM” предоставляет средство, при помощи которого файлы с исходными текстами программ на языке Бейсик, представленные в формате интерпретатора ’’BASIC-80”, могут быть преобразованы (оттранслированы) в файлы, содержащие перемещаемый объектный код. Эти файлы с перемещаемым объектным кодом при помощи программы ’’LINK-80” фирмы Microsoft (см. приложение А) могут быть далее объединены с другими файлами в процессе окончательной сборки и создания файла с исполняемым машинным кодом. В набор программ BASCOM входят также различные файлы, содержащие подпрограммы, которые используются в различных версиях компилятора с языка Бейсик и в исходных программах.
В целом набор программ ’’BASCOM” предоставляет средство, при помощи которого файлы с исходными текстами программ на языке Бейсик могут быть преобразованы в файлы с исполняемым машинным кодом. Скорость выполнения полностью откомпилированной и скомпонованной программы на языке Бейсик существенно выше скорости ее выполнения в режиме интерпретации с помощью интерпретатора ’’BASIC-80”.
В набор программ ’’BASCOM” входит файл ’’BASCOM.COM”, который содержит собственно компилятор с языка Бейсик (представленный в виде транзитной программы), а также различные библиотечные файлы, содержащие все необходимые в процессе компиляции подпрограммы. Для того чтобы обеспечить полную обработку файлов с перемещаемым объектным кодом, созданных компилятором, в данный набор программ входят также программы ’’LINK-80”, ’’MACRO-80”, ’’CREF-80” и ’’LIB-80”.
Для выполнения компиляции файла, содержащего исходный текст в формате интерпретатора ’’BASIC-80”, необходимо в качестве ответа на промпт с именем текущего диска (А >, В > и т. д.) ввести команду BASCOM и имя этого файла. Если имя исходного файла указано без расширения, то компилятор ’’BASCOM” по умолчанию предполагает расширение ”.BAS”. По завершении процесса компиляции транслятор ’’BASCOM” создает файл содержащий перемещаемый объектный код исходной программы. Этот файл имеет расширение ”.REL”. Кроме того, транслятор ’’BASCOM” создаст файл печати (файл с расширением ”.PRN”), который, когда это необходимо, содержит исходный текст программы и параметры компиляции.
Если результирующий файл с перемещаемым объектным кодом (файл с расширением ”.REL”) должен иметь имя, отличное от имени исходного файла, то это имя необходимо указать в командной строке первым. Имя результирующего файла должно отделяться от имени исходного файла при помощи знака равенства (”=,?). Если файл печати (файл с расширением ”.PRN”) должен иметь имя, отличное от имени исходного файла, то это имя должно быть указано перед именем исходного файла. Имя файла печати должно отделяться от имени файла с перемещаемым объектным кодом запятой. Наконец, для изменения только имени файла печати перед новым именем должна стоять запятая, а после него — знак равенства (”=”) и имя исходного файла.
После создания результирующих файлов они могут быть обработаны при помощи других программ фирмы Microsoft (например, программы ’’LINK-80” для создания файла с исполняемым машинным кодом).
В командной строке команды BASCOM указываются следующие параметры (ключи):
/С Указывает на то, что должны быть ослаблены ограничения на нумерацию строк. Отметим, что данный параметр не может использоваться совместно с параметром ”/4”.
/D Предписывает компилятору сформировать средства отладки, которые будут использоваться для обнаружения ошибок в процессе исполнения программы.
/Е Указывает на то, что в исходной программе содержатся операторы ”ON ERROR GOTO” с командой ’’RESUME < номер строки >”.
/N Запрещает вывод результатов реассемблирования объектного кода в файл печати.
/О Обеспечивает замену библиотеки времени исполнения ’’OBSLIB. REL” на ’’BASLIB.REL”, которая будет использоваться в качестве основной библиотеки времени исполнения программой ”LINK-8CT’ фирмы Microsoft в тех случаях, когда ей задан параметр ”/Е” или ”/G”. /S Указывает на необходимость записывать заключенные в кавычки строки в результирующий файл с объектным кодом (файл с расширением ”.REL”), а не в область данных в оперативной памяти.
/Т Указывает на необходимость использовать соглашение об исполнении программ на языке Бейсик, поддерживаемое интерпретатором ’’BASIC-80” версии 4.51 фирмы Microsoft. Отметим, что данный параметр не может использоваться совместно с параметром ”/С”.
/X Указывает на то, что в исходной программно держатся операторы ”ON ERROR GOTO” с командой ’’RESUME”, ’’RESUME О” или ”RESU-МЕ NEXT”.
/Z Указывает на то, что в процессе компиляции необходимо по возможности использовать коды операций микропроцессора Zilog Z80.
/4 Указывает на необходимость использовать соглашения о синтаксисе программ на языке Бейсик, поддерживаемые интерпретатором ”ВА-SIC-80” версии 4.51 фирмы Microsoft. Отметим, что данный параметр не может использоваться совместно с параметром ”/С”.