ASIC (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.

ASIC é um ambiente de programação (IDE) para linguagem derivada do BASIC, para a qual existem poucas informações. Foi desenvolvida, antes de 1990, para ambientes MS-DOS, por David Visti.

Implementava menos recursos de programação do que outros ambientes para Basic, como o GW Basic da Microsoft.

Seu desenvolvimento foi suspenso na versão 5.0. Seus arquivos podem ser legalmente baixados, por exemplo dos servidores da loja Programmers Heaven e de servidores Simtel Net.

Características[editar | editar código-fonte]

ASIC é muito pobre em comparação com seus BASICs contemporâneos.

Expressões[editar | editar código-fonte]

ASIC não tem o operador de exponenciação ^.

ASIC não tem operadores booleanos (AND, OR, NOT, etc.).

Entrada e saída[editar | editar código-fonte]

Argumentos de PRINT devem ser um literal ou uma variável. PRINT não permite usar expressões combinadas como seus argumentos e não permite usar cadeias concatenadas com ; ou +.

Se um comando PRINT termina com ;, o próximo comando PRINT será retomada na posição onde ele foi detido, como se o seu argumento foi acrescentado para o argumento do comando PRINT atual.

LOCATE linha, coluna
Move o cursor de texto na posição (coluna, linha), onde 0 ≤ coluna e 0 ≤ linha. A posição (0, 0) é o canto superior esquerdo.

Gráficos[editar | editar código-fonte]

PSET (linha, coluna), cor
Ligue o pixel da cor cor para a posição (coluna, linha), onde 0 ≤ coluna e 0 ≤ linha. A posição (0, 0) é o canto superior esquerdo.

Estruturas de controle[editar | editar código-fonte]

Decisões[editar | editar código-fonte]

Uma condição booleana em IF pode ser apenas uma comparação de cadeias de caracteres ou os números, mas não uma comparação das expressões combinadas.

Loops[editar | editar código-fonte]

Em FOR, após TO só pode haver um número - literal ou variável - mas não uma expressão combinada. A cláusula STEP não existe em ASIC.

Utilitário BAS2ASI[editar | editar código-fonte]

Este utilitário, que é usado para converter programas GW-BASIC sintaxe ASIC, na versão 5.0 não suporta alguns recursos do GW-BASIC. Exemplos:

STEP para a estrutura de repetição FOR não é convertido. O programa

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

é convertido em

	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

O operador de exponenciação (^) não é convertido. O programa

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

é convertido em

	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

Ligações externas[editar | editar código-fonte]