Перейти к содержанию

ASIC (Basic)

Материал из Википедии — свободной энциклопедии
ASIC
Скриншот программы ASIC
ASIC Версия 5.0
Тип BASIC
Автор Дэйв Висти
Разработчики 80/20 Software[1]
Написана на x86 assembly, Turbo C
Операционная система MS-DOS
Дата выпуска до 1993 года[2]
Последняя версия 5.00 (1994; 32 года назад (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
  3. 1 2 ASIC, 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