Mudanças entre as edições de "Montador do Patinho Feio/Apêndices/Exemplo de Programa Absoluto"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 36: Linha 36:
 
6 * EM HEXADECIMAL PELA CONSOLE
 
6 * EM HEXADECIMAL PELA CONSOLE
 
7 *
 
7 *
8 *******************************************************************
+
8 ********************************************************************
 
9 *
 
9 *
 
10 * HEXAM - INSTRUCOES DE UTILIZACAO:
 
10 * HEXAM - INSTRUCOES DE UTILIZACAO:
Linha 53: Linha 53:
 
23 * ESPECIFICADO.
 
23 * ESPECIFICADO.
 
24 * 9. OS DADOS DEVERAO VIR SEPARADOS POR UM UNICO BRANCO.
 
24 * 9. OS DADOS DEVERAO VIR SEPARADOS POR UM UNICO BRANCO.
  +
25 *10. O ULTIMO DADO DA LINHA NAO DEVE SER SEGUIDO DE BRANCO,
25 *
 
  +
26 * SENDO QUE NESTE CASO UM LINEFEED, RETURN OU VICE
26 *
 
27 *
+
27 * VERSA O SUBSTITUIRA'.
  +
28 *11. UM BRANCO OU RETURN DEPOIS DO DADO E' UMA ORDEM P/
28 *
 
  +
29 * QUE O DADO SEJA ARMAZENADO.
29 *
 
  +
30 *12. DEPOIS DE CADA BRANCO OU RETURN O BUFFER E' ZERADO,
30 *
 
  +
31 * E PORTANTO SE FOREM DADOS 2 BRANCOS EM SEQUENCIA
31 *
 
   
   
   
   
  +
32 * SERA' GUARDADO UM ZERO NO LUGAR DO SEGUNDO BRANCO.
 
 
33 *13. EM CASO DE ERRO NOS DADOS, SE O CARACTER FORNECIDO
32 *
 
  +
34 * FOR HEXADECIMAL,BASTA BATER DE NOVO EM SEGUIDA, SEM
33 *13. EM CASO DE ERRO NOS DADOS
 
  +
35 * BRANCOS, O DADO CORRETO. SO' SAO GUARDADOS NA MEMORIA
34 *
 
  +
36 * OS DOIS ULTIMOS DIGITOS.
35 *
 
  +
37 *14. SE O CARATER NAO FOR HEXADECIMAL, O COMPUTADOR RESPONDE
36 *
 
  +
38 * COM UMA SETA (_) E PARA O PROESSAMENTO.
37 *14. SE
 
  +
39 *15. NESTE CASO, DANDO PARTIDA, O PROGRAMA VOLTA A SER
38 *
 
  +
40 * EXECUTADO COMO NO CASO 14.
39 *15.
 
  +
41 *16. ANTES DE DAR ENDERECAMENTO, E' PRECISO NAO ESQUECER
40 *
 
  +
42 * DE GUARDAR O DADO ANTERIOR. SE NAO FOR DADO UM BRANCO
41 *16.
 
  +
43 * OU RETURN, O DADO NAO SERA' ARMAZENADO.
42 *
 
43 *
 
 
44 *
 
44 *
45 **********************************************************************
+
45 ********************************************************************
 
46 *
 
46 *
47 E00 9A
+
47 E00 9A HEXAM INIB * INIBE INTERRUPCAO
 
48 *
 
48 *
 
49 * SECAO DE LEITURA DE ENDERECO
 
49 * SECAO DE LEITURA DE ENDERECO
 
50 *
 
50 *
51 E01 FE 7C
+
51 E01 FE 7C LEENDER PUG LECONV LE PRIMEIRO CAR. DO END.
  +
52 E03 AE 01 PLAN LEENDER SE BCO. OU RETURN, VOLTA
52
 
  +
53 E05 D2 20 XOR /20 NAO| MONTA "ARM"
53
 
  +
54 E07 2E 34 ARM ARM GUARDA P/EXECUTAR
54
 
  +
55 E09 FE 7C PUG LECONV LE SEG. CARATER
55
 
  +
56 E0B AE 01 PLAN LEENDER SE BCO, VOLTA A LER ENDERECO
56
 
  +
57 E0D D1 4F DE 4 AJEITA P/ COMPOR
57
 
  +
58 E0F 2E 35 ARM ARM-1 GUARDA
58
 
  +
59 E11 FE 7C PUG LECONV LE TERCEIRO CARATER
59
 
  +
60 E13 AE 01 PLAN LEENDER SE BCO, VOLTA A LER END.
60
 
  +
61 E15 6E 35 SOM ARM+1 SE NAO COMPOE COM SEGUNDO DIG.
61
 
  +
62 E17 2E 35 ARM ARM+1 GUARDA P/ EXECUTAR
62
 
  +
63 E19 DA 0D CARI /0D SAI RETURN
63
 
  +
64 E1B FE 72 PUG SAI NA TTY
64
 
  +
65 E1D DA 0A CARI /0A SAI LINEFEED
65
 
  +
66 E1F FE 72 PUG SAI NA TTY
66
 
67 E21 FE 72
+
67 E21 FE 72 PUG SAI IDEM
 
68 *
 
68 *
 
69 * LEITURA DE UMA PALAVRA
 
69 * LEITURA DE UMA PALAVRA

Edição das 10h31min de 25 de novembro de 2015

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  
  72  
  73  
  74  
  75  
  76  
  77  
  78  
  79  
  80  *
  81  *
  82  *
  83  
  84  
  85  
  86  
  87  
  88