Montador do Patinho Feio/Apêndices/Exemplo de Programa Absoluto

De Garoa Hacker Clube
< Montador do Patinho Feio
Revisão de 10h49min de 25 de novembro de 2015 por Juca (discussão | contribs)
Ir para navegação Ir para pesquisar

Apêndice G: Exemplo de Progama Absoluto:

MEM  E00
LER  E01
LEY  E7C
ARM  E34
SAI  E72
LIR  E23
LEX  E25
GUA  E31
PRE  E4F
VRC  E49
CAI  E4D
ENA  E5F
WAT  E65
WFF  E76
IGR  E7E
ACC  E84
LOP  E86
DIS  EC5
ACH  EB5
BRO  EB5
ARA  EB8


/00 SI

█PASSO2

   1  @BLTC
   2  E00                ORG     /E00
   3  *
   4  * HEXAM - PROGRAMA QUE CARREGA A MEMORIA
   5  *         A PARTIR DE DADOS FORNECIDOS
   6  *         EM HEXADECIMAL PELA CONSOLE
   7  *
   8  ********************************************************************
   9  *
  10  *   HEXAM - INSTRUCOES DE UTILIZACAO:
  11  *
  12  * 1. ENDERECAR HEXAR
  13  * 2. DAR PARTIDA
  14  * 3. O CANAL B VAI FICAR ESPERANDO ENDERECAMENTO.
  15  * 4. PARA ENDERECAR A QUALQUER MOMENTO, BATER ARROBA (@).
  16  * 5. O COMPUTADOR RESPONDE C/ RETURN, 2 LINEFEEDS.
  17  * 6. ENTRAR C/ ENDERECO EM HEXA, COM 3 DIGITOS
  18  * 7. SE ERRAR, BASTA VOLTAR P/ 4 OU BATER UM BRANCO.
  19  *    NESTE CASO, O PROGRAMA IGNORA A ENTRADA ANTERIOR
  20  *    E AGUARDA NOVO ENDERECO.
  21  * 8. UMA VEZ ENDERECADO, OS DADOS QUE FOREM FORNECIDOS
  22  *    SERAO GUARDADOS EM SEQUENCIA A PARTIR DO ENDERECO
  23  *    ESPECIFICADO.
  24  * 9. OS DADOS DEVERAO VIR SEPARADOS POR UM UNICO BRANCO.
  25  *10. O ULTIMO DADO DA LINHA NAO DEVE SER SEGUIDO DE BRANCO,
  26  *    SENDO QUE NESTE CASO UM LINEFEED, RETURN OU VICE
  27  *    VERSA O SUBSTITUIRA'.
  28  *11. UM BRANCO OU RETURN DEPOIS DO DADO E' UMA ORDEM P/
  29  *    QUE O DADO SEJA ARMAZENADO.
  30  *12. DEPOIS DE CADA BRANCO OU RETURN O BUFFER E' ZERADO,
  31  *    E PORTANTO SE FOREM DADOS 2 BRANCOS EM SEQUENCIA
  32  *    SERA' GUARDADO UM ZERO NO LUGAR DO SEGUNDO BRANCO.
  33  *13. EM CASO DE ERRO NOS DADOS, SE O CARACTER FORNECIDO
  34  *    FOR HEXADECIMAL,BASTA BATER DE NOVO EM SEGUIDA, SEM
  35  *    BRANCOS, O DADO CORRETO. SO' SAO GUARDADOS NA MEMORIA
  36  *    OS DOIS ULTIMOS DIGITOS.
  37  *14. SE O CARATER NAO FOR HEXADECIMAL, O COMPUTADOR RESPONDE
  38  *    COM UMA SETA (_) E PARA O PROESSAMENTO.
  39  *15. NESTE CASO, DANDO PARTIDA, O PROGRAMA VOLTA A SER
  40  *    EXECUTADO COMO NO CASO 14.
  41  *16. ANTES DE DAR ENDERECAMENTO, E' PRECISO NAO ESQUECER
  42  *    DE GUARDAR O DADO ANTERIOR. SE NAO FOR DADO UM BRANCO
  43  *    OU RETURN, O DADO NAO SERA' ARMAZENADO.
  44  *
  45  ********************************************************************
  46  *
  47  E00 9A     HEXAM   INIB    *       INIBE INTERRUPCAO
  48  *
  49  * SECAO DE LEITURA DE ENDERECO
  50  *
  51  E01 FE 7C  LEENDER PUG     LECONV  LE PRIMEIRO CAR. DO END.
  52  E03 AE 01          PLAN    LEENDER SE BCO. OU RETURN, VOLTA
  53  E05 D2 20          XOR     /20     NAO| MONTA "ARM"
  54  E07 2E 34          ARM     ARM     GUARDA P/EXECUTAR
  55  E09 FE 7C          PUG     LECONV  LE SEG. CARATER
  56  E0B AE 01          PLAN    LEENDER SE BCO, VOLTA A LER ENDERECO
  57  E0D D1 4F          DE      4       AJEITA P/ COMPOR
  58  E0F 2E 35          ARM     ARM-1   GUARDA
  59  E11 FE 7C          PUG     LECONV  LE TERCEIRO CARATER
  60  E13 AE 01          PLAN    LEENDER SE BCO, VOLTA A LER END.
  61  E15 6E 35          SOM     ARM+1   SE NAO COMPOE COM SEGUNDO DIG.
  62  E17 2E 35          ARM     ARM+1   GUARDA P/ EXECUTAR
  63  E19 DA 0D          CARI    /0D     SAI RETURN
  64  E1B FE 72          PUG     SAI     NA TTY
  65  E1D DA 0A          CARI    /0A     SAI LINEFEED
  66  E1F FE 72          PUG     SAI     NA TTY
  67  E21 FE 72          PUG     SAI     IDEM
  68  *
  69  * LEITURA DE UMA PALAVRA
  70  *
  71  E23 80     LIMPA   LIMPO   *       ZERA
  72  E24 99             TRE     *       EXTENSAO
  73  E25 FE 7C  LEPROX  PUG     LECONV  LE UM CARATER
  74  E27 AE 31          PLAN    GUARDA  SE BCO OU LINEFEED, STORE.
  75  E29 99             TRE     *       SE NAO, TRAZ EXTENSAO
  76  E2A 01 4F          DE      *       AJEITA PARA COMPOR
  77  E2C 60 01          SOM     /001    COMPOE
  78  E2E 99             TRE     *       C/ DIGITO LIDO
  79  E2F 0E 25          PLA     LEPROX  CONTINUA LENDO ATE' ACHAR BCO/RET
  80  *
  81  * ARMAZENAMENTO NA MEMORIA
  82  *
  83  
  84  
  85  
  86  
  87  
  88