ASIC (Basic)
| ASIC | |
|---|---|
| ASIC Версия 5.0 | |
| Тип | BASIC |
| Автор | Дэйв Висти |
| Разработчики | 80/20 Software[1] |
| Написана на | x86 assembly, Turbo C |
| Операционная система | MS-DOS |
| Дата выпуска | до 1993 года[2] |
| Последняя версия | 5.00 (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) — это верхний левый угол.
Примечания
[править | править код]- ↑ IBRARY: Library for the ASIC compiler. Current Version: 3.1...David A. Visti, Catalog - Updated :February 1, 1996, Charon Software
- ↑ ASIC 4.0 - Download
- 1 2 ASIC, Area code magic with AC Hunter (computer program) (On Disk) (evaluation), by George Campbell, COMPUTE! ISSUE 126 / FEBRUARY 1991 / PAGE 86
- ↑ В ASIC 3.01 (1991) в руководстве перечислены FOR…NEXT, WHILE…WEND и IF…ENDIF, но нет операторов switch, а также нет функций или процедур с параметрами или локальными переменными, только GOSUB для подпрограмм. Примеры программ используют Goto вместо WHILE.
- ↑ 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