Jump to content

язык программирования ASIC

ASIC
Оригинальный автор(ы) Дэйв Визас
Разработчик(и) Программное обеспечение 80/20 [1]
Первоначальный выпуск до 1993 года [2]
Финальный выпуск
5.00 / 1994 ; 30 лет назад ( 1994 )
Написано в сборка x86, Турбо C
Операционная система MS-DOS
Тип БАЗОВЫЙ
Лицензия Условно-бесплатное ПО

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

ASIC практически не поддерживает логические операторы , структуры управления , [4] и арифметика с плавающей запятой . Эти недостатки привели к появлению ироничного девиза: «ASIC: это почти БАЗОВЫЙ!» [5] [3]

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

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

[ редактировать ]

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

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

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

Выражения

[ редактировать ]

ASIC не имеет возведения в степень оператора ^.

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

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

Ввод и вывод

[ редактировать ]

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

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

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

LOCATE row, column
Перемещает текстовый курсор в позицию ( column, row), где 0 ≤ column и 0 ≤ row. Позиция (0, 0) — верхний левый угол.
PSET (row,column),color
Включает пиксель цвета color на позиции ( column, row), где 0 ≤ column и 0 ≤ row. Позиция (0, 0) — верхний левый угол.

Структуры управления

[ редактировать ]

Логическое условие может представлять собой только сравнение чисел или строк, но не сравнение комбинированных выражений. Литерал не может быть левым операндом сравнения (например, может быть X = 2, нет 2 = X).

После THEN, может существовать последовательность операторов, разделенная ELSE или ENDIF. Пример:

IF X < 0 THEN
  PRINT "Negative"
ELSE
  PRINT "Non-negative"
ENDIF

В отличие от других BASICов, операторы не могут быть помещены между THEN и конец строки.

Оператор if может реализовать условный переход. В этом случае после THEN может быть этикетка.

Зацикливание

[ редактировать ]

В FOR, после TO может быть только число — буквальное или переменное — но не комбинированное выражение. STEP этого пункта не существует в ASIC.

Ветвление

[ редактировать ]

В GOTO инструкции, после метки должно стоять двоеточие.

Подпрограммы

[ редактировать ]

В GOSUB инструкции, после метки должно стоять двоеточие.

Эта утилита, служащая для преобразования программ GW-BASIC в синтаксис ASIC, в версии 5.0 не поддерживает некоторые функции GW-BASIC. Примеры:

STEP в цикле for не преобразуется. Программа

10 FOR i=10 TO 1 STEP -1 
20 PRINT i
30 NEXT i

преобразуется в

	REM 10 FOR i=10 TO 1 STEP -1 
	FOR I@ = 10 TO 1 
		ASIC0@ = -1 -1 
		I@ = I@ + ASIC0@ 
		
		REM 20 PRINT i
		PRINT I@ 
		
		REM 30 NEXT i		REM 30 NEXT i		3:  Syntax error

Оператор возведения в степень ^ не конвертируется. Программа

10 a=2
20 b=a^10
30 PRINT b

преобразуется в

	REM 10 a=2
L10: 
	A@ = 2 
	
	REM 20 b=a^10
	2:  Syntax error

	REM 30 PRINT b	REM 30 PRINT b	3:  Syntax error
  1. ^ IBRARY: Библиотека для компилятора ASIC. Текущая версия: 3.1... Дэвид А. Висти , Каталог – Обновлено: 1 февраля 1996 г., Charon Software
  2. ^ ASIC 4.0 - Скачать
  3. ^ Jump up to: а б ASIC , Магия кодов городов с AC Hunter (компьютерная программа) (На диске) (оценочная версия), Джордж Кэмпбелл, ВЫЧИСЛЕНИЯ! ВЫПУСК 126 / ФЕВРАЛЬ 1991 ГОДА / СТРАНИЦА 86
  4. ^ В ASIC 3.01 (1991) в руководстве перечислены FOR...NEXT , WHILE...WEND и IF...ENDIF , но нет операторов переключения , а также нет функций или процедур с параметрами или локальными переменными , только GOSUB для подпрограмм . В примерах программ используется Goto . вместо WHILE
  5. ^ ASIC — это работа Дэвида Висти, и его компилятор берет код, который является «почти BASIC», и компилирует его в очень маленький исполняемый файл. Архивировано 4 ноября 2015 года в Wayback Machine , Уголок программиста: TIPI: небольшой язык программирования для небольших компьютеров, Кент Петерсон.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9cdf05bc5618468de5196c2db1e1e5ea__1700647740
URL1:https://arc.ask3.ru/arc/aa/9c/ea/9cdf05bc5618468de5196c2db1e1e5ea.html
Заголовок, (Title) документа по адресу, URL1:
ASIC programming language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)