Langage de programmation ASIC

Page d’aide sur l’homonymie

Pour les articles homonymes, voir ASIC.

ASIC est un langage de programmation, en fait un dialecte du BASIC, et aussi un compilateur diffusé en shareware pour DOS. Écrit par Dave Visti de 80/20 Software, il a atteint une brève popularité dans les années 1990 comme l'un des rares compilateurs BASIC légalement disponibles pour téléchargement à partir de BBS. Cependant, ASIC comprend seulement un petit sous-ensemble du langage BASIC, n'ayant peu ou pas de support pour les opérateurs logiques, les structures de contrôle et l'arithmétique en virgule flottante. Ces lacunes sont la raison pour laquelle la devise du logiciel fut « ASIC est presque un BASIC ! » [1][2].

Cependant, ASIC dispose d'un rudimentaire environnement de développement intégré et une bibliothèque de com RS-232 pour l'écriture de terminal et serveurs BBS, et n'exiger pas les numéros de ligne. La dernière version de ASIC, version 5.00, améliora la compatibilité avec GW -BASIC et a offert un utilitaire pour convertir des programmes GW-BASIC à la syntaxe ASIC.

ASIC permet la compilation d'un programme au format .EXE (MZ) ou .COM. La faible taille du format de fichier COM permet à ASIC de faire l'un des plus petits exécutables compilés du marché mondial, le programme écrivant « Bonjour » fait 360 octets.

Caractéristiques

ASIC est fortement pauvre par rapport à ses contemporains BASICs.

Expressions

ASIC n’a pas l’opérateur d’exponentiation ^.

ASIC n’a pas d’opérateurs booléens (AND, OR, NOT, etc.).

Entrées et sorties

Des arguments de PRINT doivent être un littéral ou une variable. PRINT ne permet pas d'utiliser des valeurs d'expressions combinées comme ses arguments, et ne permet pas d'utiliser des chaînes concaténées avec ; ou +.

Si une commande PRINT se termine par ;, alors la prochaine commande PRINT reprendra dans la position où celui-ci était arrêtée, comme si son argument a été annexé à l’argument de la commande PRINT actuelle.

LOCATE ligne,colonne
Déplace le curseur de texte à la position (colonne, ligne), où 0 ≤ colonne et 0 ≤ ligne. La position (0, 0) est le coin supérieur gauche.

Graphique

PSET (ligne, colonne),couleur
Allume le pixel de la couleur color à la position (colonne, ligne), où 0 ≤ colonne et 0 ≤ ligne. La position (0, 0) est le coin supérieur gauche.

Structures de contrôle

Décisions

Une condition booléenne en IF peut être seulement une comparaison des nombres ou des chaînes de caractères, mais pas une comparaison des expressions combinées.

Boucles

En FOR, après TO il y a peut-être seulement un nombre - littéral ou variable - mais pas une expression combinée. La clause STEP n’existe pas en ASIC.

Utilitaire BAS2ASI

Cet utilitaire, qui sert à convertir les programmes GW-BASIC en syntaxe ASIC, dans la version 5.0 ne supporte pas certaines fonctionnalités de GW-BASIC. Exemples :

STEP de la boucle for n’est pas converti. Le programme

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

est converti en

	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

L’opérateur d’exponentiation (^) n’est pas converti. Le programme

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

est converti en

	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

Notes

  1. (en) Kent Peterson, Programmer's Corner: TIPI: A Small Programming Language for Small Computers
  2. (en) George Campbell, Area code magic with AC Hunter., COMPUTE!, issue 126 / february 1991, p. 86

Liens externes

  • ASIC 5.00 + Librairies + Linker
v · m
Langages de programmation
Concurrents
  • Ada
  • Erlang
  • Go
  • Modula-2
Déclaratifs
  • Clips
  • Prolog
  • Mercury
Fonctionnels
Impératifs
Orientés objet
v · m
Dialectes BASIC
Classique
  • Altair BASIC
  • Applesoft BASIC
  • Atari BASIC
  • Atari Microsoft BASIC
  • Atari ST BASIC
  • BasicA
  • BASIC A+
  • BASIC Programming
  • BASIC XE
  • BASIC XL
  • Casio BASIC
  • Chipmunk Basic
  • Color BASIC
  • Commodore BASIC
  • Extended Color BASIC
  • Dartmouth BASIC
  • Disk Extended Color BASIC
  • Family BASIC
  • GFA BASIC
  • GW-BASIC
  • HP BASIC for OpenVMS
  • HP Time-Shared BASIC
  • IBM BASIC
  • Integer BASIC
  • Locomotive BASIC
  • Mallard BASIC
  • Microsoft BASIC
  • MSX BASIC
  • Pure Basic
  • Rocky Mountain BASIC
  • S'-BASIC (Tandy, Casio, Sharp Pocket Computers)
  • ScriptBasic
  • Sinclair BASIC
  • Southampton BASIC System
  • STOS BASIC
  • TI BASIC (TI 99/4A)
  • TI-BASIC (calculators)
  • TI Extended BASIC (aka XBasic)
  • Tiny BASIC
  • Turbo-Basic XL
  • UBASIC
  • Vilnius BASIC
  • XBasic
Orienté Pascal
Avec extensions objets
Pour téléphones portables et tablettes
  • Basic4ppc
  • GLBasic
  • NS Basic
Microsoft
Clones Visual BASIC non Microsoft
  • Corel PerfectScript
  • CorelScript
  • Hummingbird Basic
  • LotusScript
  • Sax Basic
  • WinWrapBasic
  • icône décorative Portail de la programmation informatique