ASIC (Basic)

ASIC
Скриншот программы ASIC
ASIC Версия 5.0
Тип BASIC
Автор Дэйв Висти
Разработчики 80/20 Software[1]
Написана на x86 assembly, Turbo C
Операционная система MS-DOS
Дата выпуска до 1993 года[2]
Последняя версия 5.00 (1994 (1994))
Состояние не разрабатывается
Лицензия Shareware

ASIC — это компилятор и интегрированная среда разработки для языка из семейства языков программирования BASIC. Он был выпущен для MS-DOS и совместимых систем как shareware. Написанный Дэйвом Висти из 80/20 Software, это один из немногих компиляторов BASIC, легально доступных для скачивания с BBS. ASIC позволяет компилировать код в EXE или COM-файл. COM-файл для программы «Hello, world!» занимает 360 байт.[3]

ASIC имеет слабую или отсутствующую поддержку логических операторов, управляющих структур[4] и арифметики с плавающей запятой. Эти недостатки привели к ироничному девизу: «ASIC: Это почти BASIC!»[5][3]

Особенности

ASIC сильно обеднен по сравнению с современными ему BASIC. Функции ASIC выбраны таким образом, чтобы программа легко и напрямую компилировалась в машинный код. Таким образом, многие языковые конструкции ASIC эквивалентны конструкциям ассемблера.

Элементы программы

Ни идентификаторы, ни ключевые слова не чувствительны к регистру.

Любые операторы DIM, если указаны, должны предшествовать всем остальным операторам, за исключением операторов REM или пустых строк.

Все операторы DATA должны быть расположены в начале программы, перед всеми другими типами операторов, за исключением DIM, операторов REM или пустых строк.

Выражения

В ASIC нет оператора возведения в степень ^ и нет логических операторов (AND, OR, NOT и т. д.).

Массивы

Размер массива, указанный в операторе DIM, должен быть литеральной константой. Один DIM позволяет объявлять только один массив.

Ввод и вывод

Аргументы команды PRINT должны быть литералом или переменной. PRINT не допускает комбинированных выражений в качестве своих аргументов, а также строк, объединенных с помощью ; или +.

Если команда PRINT заканчивается на ; или ,, то следующая команда PRINT возобновится с того места, где остановилась текущая, как если бы ее аргумент был добавлен к аргументу текущей команды PRINT.

Оператор PRINT выводит целочисленные значения шириной в шесть символов. Они выравниваются по правому краю (без замыкающих пробелов).

LOCATE строка, столбец
Перемещает текстовый курсор в позицию (столбец, строка), где 0 ≤ столбец и 0 ≤ строка. Позиция (0, 0) — это верхний левый угол.

Примечания

  1. ↑ IBRARY: Library for the ASIC compiler. Current Version: 3.1...David A. Visti, Catalog - Updated :February 1, 1996, Charon Software
  2. ↑ ASIC 4.0 - Download. Дата обращения: 14 мая 2026. Архивировано 22 декабря 2015 года.
  3. 1 2 ASIC Архивная копия от 8 декабря 2025 на Wayback Machine, Area code magic with AC Hunter (computer program) (On Disk) (evaluation), by George Campbell, COMPUTE! ISSUE 126 / FEBRUARY 1991 / PAGE 86
  4. ↑ В ASIC 3.01 (1991) в руководстве перечислены FOR…NEXT, WHILE…WEND и IF…ENDIF, но нет операторов switch, а также нет функций или процедур с параметрами или локальными переменными, только GOSUB для подпрограмм. Примеры программ используют Goto вместо WHILE.
  5. ↑ ASIC is the work of David Visti and his compiler takes code that is «almost BASIC» and compiles it down to a very small executable. Архивировано 4 ноября 2015 года., Programmer’s Corner: TIPI: A Small Programming Language for Small Comp, By Kent Peterson