Nível I BÁSICO - Level I BASIC
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:
- Nível I BÁSICO
- Nível II BASIC - desenvolvido pela Microsoft e usando 12KB de ROM para adicionar manipulação de strings , manipulação de erros , trigonométricas e outras funções dedicadas
- Nível III BASIC - também desenvolvido pela Microsoft, oferecendo comandos de disco
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ãoELSE
),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
- Simulador BÁSICO TRS-80 Nível I
- Sistemas Conklin - Ele Mudou Nosso Mundo - tributo à personificação do computador no manual do usuário do Nível I BASIC