Nível I BÁSICO - Level I BASIC

Nível I BÁSICO
Projetado por Steve Leininger
Apareceu pela primeira vez 1977
Influenciado por
Tiny BASIC , Palo Alto Tiny BASIC
Influenciado
TRS-80 Nível II BASIC

Nível I BASIC é um dialeto da linguagem de programação BASIC fornecida com o primeiro TRS-80 , o TRS-80 Modelo I.

Fundo

O funcionário da Tandy, Steve Leininger, escreveu o primeiro rascunho do interpretador BASIC do NIBL (National Industrial Basic Language) para o SC / MP enquanto trabalhava na National Semiconductor . Incapaz de levar esse código-fonte com ele, ele inicialmente contratou um consultor para escrever um intérprete . Quando o empreiteiro falhou na entrega, ele adaptou a versão de domínio público do Tiny BASIC de Li-Chen Wang para o protótipo original do TRS-80 Modelo I. Isso exigiu apenas 2 KB de memória para o intérprete , deixando uma média de outros 2 KB grátis para programas do usuário em layouts de memória comuns de 4 KB das primeiras máquinas.

Durante uma demonstração para executivos, o então presidente da Tandy Corporation , Charles Tandy, tentou inserir seu salário, mas não conseguiu. Isso ocorria porque o Tiny BASIC usava inteiros com sinal de 2 bytes com valor máximo de 32.767. O resultado foi um pedido de matemática de ponto flutuante para a versão de produção.

Isso levou à substituição do código inteiro de 16 bits existente por uma versão que usava números de ponto flutuante de precisão única de 32 bits . Leininger estendeu ainda mais o idioma para suportar rotinas de entrada / saída (teclado, CRT e leitura e gravação de cassetes). O idioma cabe em 4 KB de ROM .

Em uma apresentação anunciando o TRS-80, Leininger disse: "O que fizemos, voltamos ao Wang Basic e arrancamos completamente cerca de 60% dele, o overhead do inteiro e todo esse tipo de coisa."

Desenvolvimento adicional

Quando o TRS-80 foi introduzido, três versões do BASIC foram anunciadas:

A linguagem Nível I não estava disponível para o TRS-80 Modelo II, mas ressurgiu brevemente como o pacote básico para o TRS-80 Modelo III em 1981, sendo vendido por $ 699 em comparação com o sistema de $ 999 com o Modelo III BASIC (outro produto da Microsoft) . A linguagem era idêntica à versão do Modelo I, mas com a adição de dois comandos, o LLIST e o LPRINT, para saída para uma impressora.

Características da linguagem

Nível I BASIC suportava as seguintes palavras-chave:

  • Comandos: NEW , RUN , LIST , CONT (para continuar ou reactivar um programa a partir de um ponto de interrupção )
  • Demonstrações: PRINT , INPUT , READ , DATA , RESTORE , LET
  • Estrutura: GOTO , GOSUB , ON-GOTO , ON-GOSUB , RETURN , IF-THEN (mas não ELSE ), FOR-TO-STEP/NEXT , STOP , END
  • Gráficos: CLS , SET , RESET , POINT()
  • Funções: ABS() , INT() , RND() , MEM
  • Matemática: + - * /
  • Operadores relacionais: <> = <= => <>
  • Operadores lógicos: * [AND] + [OR]

Como o Palo Alto Tiny BASIC no qual foi baseado, o Nível I BASIC não tokenizou palavras-chave como Microsoft BASIC, mas usou abreviações para reduzir a quantidade de memória usada pelas palavras-chave, como F. para FOR , G. para GOTO , P. para PRINT e T. para THEN .

A linguagem suportava 26 variáveis ​​de precisão simples de A a Z, duas strings A $ e B $ (limitadas a 16 caracteres cada) e uma matriz predefinida A (). A linguagem carecia de uma instrução DIM para dimensionar o array, cujo tamanho era determinado pela memória disponível não usada pela listagem do programa (4 bytes por item). Como a linguagem carecia de muitas funções matemáticas comuns, o manual fornecia listagens de sub-rotinas para funções de raiz quadrada , exponenciação , exponenciais , logaritmos , sinal aritmético e trigonometria .

O suporte gráfico foi o mínimo possível CLS :, para CLear Screen; SET(X,Y) , que iluminou um local no visor; RESET(X,Y) , que o desligou; e POINT(X,Y) , que retornou 1 se um local estava aceso, 0 se não estava. As coordenadas poderia ser qualquer expressão e variou de 0 a 127 para o eixo-X e de 0 a 47 para o eixo Y . Apenas a tela em preto e branco era compatível.

Referências

links externos