Compilador
==========

Programadores: Milton Maldonado e Fernando Grossi.

Digitado por Cleber Jean Barranco em Agosto de 1995.


Descricao
=========

Este compilador e uma versao modificada do compilador ZX-GT, e  publicado no
livro Super Basic TK da editora Aleph, em 1989.

Para  esta copia do compilador (Compilador, Teste e  Monitor Hexadecimal) e'
necessario no minimo de 8 kBytes de memória RAM BASIC para poder carregar o
programa. Caso voce use apenas o compilador este necessitara' de 4 kBytes.

Segundo os autores do livro, nesta  versao  do  compilador, alguns  comandos
foram melhorados visando  uma  performance  maior  e  outros  eliminados (em
especial o comando INPUT) por julgarem pouco praticos.

Os enderecos  de  memoria  para  compilacao e execucao permanecem os mesmos,
sendo RAND USR 17389 para compilar o programa  em  BASIC  e LET P= USR 18823
para  executar  o  programa  compilado.  Tambem  ha  um  monitor hexadecimal
para criacao de uma linha 0 REM, entrada,  edicao  e verificacao de bytes em
hexadecimal com checksum  dos  bytes  de  cada  linha  e  delecao  de linhas
do BASIC, use RUN 9500 e ENTER duas vezes para executa-lo. A barra de espaco
encerra-o.

Antes  da  compilacao  e  necessario que nao haja nenhuma  linha de programa
BASIC entre a linha 0 e a 3, valendo inclusive para a linha 2 REM, ou seja o
programa compilado (linha 2 REM) deve vir logo apos a linha 0 REM.

A linha 0 REM e o compilador e nao deve ser deletada ou alterada.

Voce deve aguardar tres passadas  da  listagem  (codigo 0/0 embaixo na tela)
para a completa compilacao do programa.

Apos a compilacao do  programa  (linha 2 REM criada)  voce  pode  deletar  o
codigo fonte em BASIC, pois ele nao e mais necessario.

Caso um erro seje encontrado, durante  a  primeira  passada  da  listagem, a
compilacao  abortara e um "S" inverso sera colocado apos o comando invalido.
Para corrigir isto reedite a linha errada no programa em BASIC.

Se desejar recompilar um programa, como ja foi mencionado  acima, voce  deve
primeiro  deletar a linha 2 REM da  ultima  compilacao,  antes  de  compilar
novamente.

Em progamas muito extensos voce tera  que deletar o codigo fonte do programa
em  BASIC  apos  a  compilacao, antes de executa-lo por  meio  da  instrucao
LET P=USR 18823, do contrario o sistema travara.

Antes de deletar o codigo fonte e recomendavel  fazer  uma  copia de  backup
para uma porventura futura alteraca do codigo.

No teste incluso, em  maquinas  com 8k de memoria RAM BASIC, deve-se deletar
as linhas do monitor hexadecimal antes de tentar compilar o teste. Para isto
digite RUN 9500 + NEWLINE + NEWLINE e escolha a opcao '4' (Apagar Linhas) do
menu. Quando o programa perguntar qual a  primeira linha, digite 9000 e para
a ultima 9999, depois disto voce pode compilar e executar o teste.


Teclas de Funcao:
=================

Apos dar RAND USR 17389 use NEWLINE para rolar a listagem, enquanto compila.
"C"  efetua  um  CLS a cada  tela  cheia e "D" exibe os codigos gerados pela
compilacao a uma razao de 2 bytes por segundo.


Verificacao dos Dados do Compilador
===================================

Somente para a certificacao do conteudo  do  compilador, a soma sintatica de
todos os bytes do compilador (modulo 65536) e' '4410' (valor que e reportado
no final do teste).


Rotinas Interessantes
=====================

Os enderecos listados abaixo podem ser chamados tambem pelo BASIC Sinclair e
promovem  um  recurso  alternativo  as  sua versoes  equivalentes  em  BASIC
Sinclair (melhor performance).

  17516 (CLS)
  16675 (SCROLL)
