Exercício prático da linguagem de programação Assembly (Batch)

Nesta aula você terá conceitos da linguagem Assembly com execícios práticos.

Page 1 / 216
Zoom 100%

PGMTOPC1

PRINT NOGEN
PGMTOPC1 CSECT
*              LESSA
*
         SAVE (14,12)
* SAVE DEVE SER O PRIMEIRO COMANDO(SALVE OS REGISTRADORES 14 E 12)
*        GUARDA O ENDERECO ATUAL NA MEMORIA
*  AREA DE ANCORA COMUM (CAA) DO CHAMADOR HLL.
         BALR  R12,0
* POSICIONA OS PONTEIROS NO ENDERECO DE R12(BRANCH AND LINK)
         USING *,R12
* UTILIZE O ENDERECO DO REGISTRADOR 12 (4096 BYTES) PARA A EXECUCAO
* CASO NECESSITE DE MAIS MEMORIA USING *,R12,R11
         LA    15,SAVEAREA
* CARREGA O (ENDERECO) DO CHAMADOR NO CONTEUDO DO REGISTRADOR 15
         ST    13,4(,15)
* ENDERECO ORIGEM ST, DESLOCAMENTO (REGISTRO INDICE, REGISTRO BASE)
* COPIAR O ENDERECO DO REGISTRADOR 13
*  PARA  O ENDERECO DO REGISTRADOR NO ENDERECO DO REGISTRADOR 15
* DESLOCANDO 4 BYTES
         ST    15,8(,13)
* COPIE O ENDERECO DO REGISTRADOR 15 P O ENDERECO DO REGISTRADOR 13
* DESLOCANDO 8 BYTES
         LR    13,15
* MOVE O CONTEUDO DO REGISTRADOR 15 PARA O 13
* COPIA O ENDERECO SAVEAREA PARA DO REGISTRADOR 15 PARA O 13
*
R0       EQU   0
* GUARDA O ENDERECO DA PROXIMA INSTRUCAO
R1       EQU   1
* GUARDA O ENDERECO DA PILHA
R2       EQU   2
* GUARDA A FLAG DA ULTIMA OPERACAO
R3       EQU   3
* CG CONSTANT GENERATOR
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
* GUARDA O PONTEIRO DA PILA
R14      EQU   14
* LR REGISTRADOR DE LIGACAO
R15      EQU   15
* PROGRAM COUNTER
*
*-----------------------------------------------------*
*            INICIO                                   *
*-----------------------------------------------------*
*
INICIO   EQU   *
* ESTAOU CRIANDO UMA ROTINA E A AREA DA MEMORIA SERA
* DEFINIDA PELO PROPRIO PROGRA ($1000) INICIARIA NO 1000
         OPEN  (ENTCTR,,ALINHA,(OUTPUT))
*        OPEN  (ENTCTR,INPUT)     ABRIR ENTRADA
*        OPEN  (ALINHA,OUTPUT)    ABRIR SAIDA
*
*       MONTA LINHAS DE CABECALHO
*
*        MVC   SAIDA,SAIDA1
* MOVE O CONTEUDO DE SAIDA1 PARA SAIDA(LIMPA OS 132 CARACTERES)
         MVC   CABECA,CABEC1
* MOVE O CONTEUDO DE CABEC1 PARA CABECA
         BAL   10,GRAVAR
* EXECUTA A ROTINA GRAVAR GUARDE O ENDERECO ATUAL P RETORNAR
*
         MVC   SAIDA,SAIDA1
* MOVE O CONTEUDO DE SAIDA1 PARA SAIDA(LIMPA OS 132 CARACTERES)
         MVC   CABECA,CABEC2
* MOVE O CONTEUDO DE CABEC2 PARA CABECA
         BAL   10,GRAVAR
* EXECUTA A ROTINA GRAVAR GUARDE O ENDERECO ATUAL P RETORNAR
         MVC   SAIDA,SAIDA1
* MOVE O CONTEUDO DE SAIDA1 PARA SAIDA(LIMPA OS 132 CARACTERES)
*
*       FAZ LEITURA
*
PROXIM   EQU   *
         BAL   10,LER
* GUARDA ESSE ENDERECO NO REGISTRADOR 10 E EXECUTA O MODULO LER
         MVC   WTOA+28(8),MASCARA
* MOVE PARA WTOA POSICAO 29 A MASCARA DE EDICAO MASCARA COM 8
         MVC   WTOA+28(8),CAP
* MOVE PARA WTOA POSICAO 29 O CAMPO CAP COM 8 POSICOES
WTOA     WTO   '* VALOR CAPITAL   =          *'
* DE O DISPLAY DESTE CONTEUDO NA CONSOLE E NO SPOOL
*
         MVC   WTOB+28(8),MASCARA
* MOVE PARA WTOA POSICAO 29 A MASCARA DE EDICAO MASCARA COM 8
         MVC   WTOB+28(8),TAXA
* MOVE PARA WTOA POSICAO 29 O CAMPO TAXA COM 8 POSICOES
WTOB     WTO   '* VALOR    TAXA   =          *'
* DE O DISPLAY DESTE CONTEUDO NA CONSOLE E NO SPOOL
*
         MVC   WTOC+28(8),MASCARA
* MOVE PARA WTOA POSICAO 29 A MASCARA DE EDICAO MASCARA COM 8
         MVC   WTOC+28(8),PAGO
* MOVE PARA WTOA POSICAO 29 O CAMPO PAGO COM 8 POSICOES
WTOC     WTO   '* VALOR    PAGO   =          *'
* DE O DISPLAY DESTE CONTEUDO NA CONSOLE E NO SPOOL
*
         PACK  PCAP,CAP
* MOVE CONTEUDO DE CAP    PARA PCAP  COMPACTANDO
         PACK  PTAXA,TAXA
* MOVE CONTEUDO DE TAXA   PARA PTAXA COMPACTANDO
         PACK  PPAGO,PAGO
* MOVE CONTEUDO DE PAGO   PARA PPAGO COMPACTANDO
         CVB   3,PCAP
* CONVERTE O VALOR PARA BINARIO
         CVB   7,PTAXA
* CONVERTE O VALOR PARA BINARIO
*
* ************************************
         ST    7,BTAXA
* GUARDA O CAMPO BTAXA NO REGISTRADOR 7
         M     2,BTAXA
* TAXA X PCAO (REG = 3)
         D     2,=F'12'
* NOVO CAPITAL / 12
         A     3,ARRED
* SOMA ARREDONDAMENTO
         L     2,ZEROS
* COLOCA ZEROS NO REGISTRADOR 2
         D     2,VIRGDC
* PARA POSICIONAR VIGULA
         CVD   3,PJURO
* CONVERTE O VALOR PARA DECIMAL
         CVB   2,PPAGO
* CONVERTE O VALOR PARA BINARIO
         SR    2,3
* SUBTRAI VALORES
* ************************************
         CVD   2,PVAL
* CONVERTE O VALOR PARA DECIMAL
         CVB   3,PCAP
* CONVERTE O VALOR PARA BINARIO
         SR    3,2
* SUBTRAI VALORES
         CVD   3,PNOVCP
* CONVERTE O VALOR PARA DECIMAL
         MVC   NUCON,NUMCON
* MOVE NUMCON PARA NUCON
         MVC   CAPANT,CAP
* MOVE CAP   PARA CAPANT
         UNPK  NOVCAP,PNOVCP
* MOVE PNOVCP PARA NOVCAP DESCOMPACTANDO
         MVC   PAGMEN,PAGO
* MOVE PAGO  PARA PAGMEN
         UNPK  JURMEN,PJURO
* MOVE PJURO PARA JURMEN DESCOMPACTANDO
         UNPK  VALMEN,PVAL
* MOVE PVAL  PARA VALMEN DESCOMPACTANDO
*
         MVZ   NOVCAP+6(1),NOVCAP+5
* MOVE ZONADO NOVCAP TAMANHO DE 7
         MVZ   JURMEN+3(1),JURMEN+2
* MOVE ZONADO JURMEN TAMANHO DE 4
         MVZ   VALMEN+3(1),VALMEN+2
* MOVE ZONADO VALMEN TAMANHO DE 4
*
         BAL   10,GRAVAR
* GUARDA ESSE ENDERECO NO REGISTRADOR 10 E EXECUTA O MODULO GRAVAR
*
         B     PROXIM
* VA PARA O INICIO DO MODULO PROXIMO(BRANCH)
LER      GET   ENTCTR,ENTRADA
         BR    10
* VOLTE PARA O ENDERECO DO REGISTRADOR 10(BRANCK REGISTER)
*
GRAVAR   PUT   ALINHA,SAIDA
         BR    10
*
FIM      EQU   *
         CLOSE (ENTCTR,,ALINHA)
* FECHA OS ARQUIVOS ENTCTR ALINHA
         WTO '*** APOS CLOSE   ***'
* MOSTRA MENSGEM NO SPOOL E NA CONSOLE DO OPERDOR
         L      13,4(,13)
* COPIA O CONTEUDO DO REGISTRADOR 13 PARA ENDERECO DO REG 13
* DESLOCANDO 4 BYTES
         WTO '*** FIM-FIM ***'
* MOSTRA MENSAGEM NO SPOOL E NA CONSOLE DO OPERDOR
         RETURN (14,12),RC=0
*
         EJECT
MASKSHN  DC    X'202020202020'
* DEFINE UM CAMPO EM HEXADECIMAL COM 6 BYTES
MASKSH1  DC    X'2020202020202020'
* DEFINE UM CAMPO EM HEXADECIMAL COM 8 BYTES
MASCARA  DC    X'2020202020202020'
MASKSH2  DC    X'20202020202020202020202020202020'
************************************************************
*      AREAS  UTILIZADAS                                   *
************************************************************
*
ENTRADA  DS    0CL080
* DEFINE UM SEGMENTO COM TAMANHO DE 80 BYTES (ITEM DE GRUPO)
NUMCON   DS    CL6
* DEFINE UM CAMPO COM TAMENHO DE 6 BYTES
CAP      DS    CL7
* DEFINE UM CAMPO COM TAMENHO DE 7 BYTES
TAXA     DS    CL4
* DEFINE UM CAMPO COM TAMENHO DE 4 BYTES
PAGO     DS    CL4
* DEFINE UM CAMPO COM TAMENHO DE 4 BYTES
         DS    CL59
*
SAIDA1   DC    CL132' '
*
         DC    CL1' '
SAIDA    DS    0CL132
* DEFINE UM ITEM DE GRUPO COM 132 CARACTERES
         DS    CL33
* DEFINE 33 ESPACOS EM BRANCO NA LINHA
CABECA   DS    0CL65
NUCON    DS    CL6
* DEFINE NUCON COM O TAMANHO DE 6
         DS    CL4
* DEFINE 4 ESPACOS EM BRANCO
CAPANT   DS    CL7
* DEFINE CAPANT COM O TAMANHO DE 7
         DS    CL4
* DEFINE 4 ESPACOS EM BRANCO
NOVCAP   DS    CL7
* DEFINE CAPANT COM O TAMANHO DE 7
         DS    CL5
* DEFINE 5 ESPACOS EM BRANCO
PAGMEN   DS    CL4
* DEFINE PAGAMEN COM O TAMANHO DE 4
         DS    CL5
* DEFINE 5 ESPACOS EM BRANCO
JURMEN   DS    CL4
* DEFINE JURMEN  COM O TAMANHO DE 4
         DS    CL6
* DEFINE 6 ESPACOS EM BRANCO
VALMEN   DS    CL4
* DEFINE VALMEN  COM O TAMANHO DE 4
         DS    CL43
* DEFINE 43 ESPACOS EM BRANCO
*
*
CABEC1   DC    C'NUM.DE    CAPITAL    NOVO        PAGTO.   JURO      AMC
               ORTIZACAO   '
* DEFINE CONSTANTE
CABEC2   DC    C'CONTA     ANTERIOR   CAPITAL     MENSAL   MENSAL    MEC
               NSAL        '
*
PCAP     DS    D
*SEGMENTO DE DADOS
PTAXA    DS    D
PPAGO    DS    D
PNOVCP   DS    D
PJURO    DS    D
PVAL     DS    D
BTAXA    DS    D
*
SAVEAREA DC    18F'0'
*
ARRED    DC    F'5000'
VIRGDC   DC    F'10000'
ZEROS    DC    F'0'
*
ENTCTR   DCB   DDNAME=ENTCTR,MACRF=GM,EODAD=FIM,DSORG=PS
* DDNAME MESMO DO JOB EODAD=FIM DESVIA PARA ROTINA FIM NO TERMINO
ALINHA   DCB   DDNAME=ALINHA,MACRF=PM,DSORG=PS
*
*
*       ARQUIVO DE ENTRADA
*  ARQUIVO.CADASTRO.PGMNOVO
*
* NUM.DE  CAPITAL   TAXA   PAGTO
* CONTA   ANTERIOR  JURO   MENSA
*
* 111111  2067891   9876   6049
* 222222  0010985   9876   0001
* 333333  0010000   9876   0168
* 444444  0034567   9876   0002
*
*      RELATORIO DE SAIDA
*
*NUM.DE    CAPITAL    NOVO        PAGTO.   JURO      AMORTIZACAO
*CONTA     ANTERIOR   CAPITAL     MENSAL   MENSAL    MENSAL
*111111    2067891    2232029     6049     0187      4138
*222222    0010985    0011888     0001     0904      0903
*333333    0010000    0010655     0168     0823      0655
*444444    0034567    0037410     0002     2845      2843
*
         END   PGMTOPC1

PGMTOPC1

ACHEI ESSE FONTE, COM DESCRIÇOES DE CADA COMNDO

PGMASM   CSECT
         USING *,3,4                    ESTABELECE REGISTRADORES 3 E 4
*                                       COMO BASE
         STM   14,12,12(13)             SALVA REGISTRADORES NA SAVEAREA
*                                       DO CHAMADOR (SIST OPERACIONAL)
         LR    3,15                     SALVA ENDERECO PONTO DE CARGA
         LA    3,0(3)                   ZERA PRIM BYTE A ESQUERDA
         LA    4,1                      CARREGA NRO 1
         LA    4,4095(3,4)              DEIXA O 4 COM 4096 A + QUE O 3
         ST    13,MYSAVE+4              SALVA O 13 (ENDER SAVEAREA DO
*                                       CHAMADOR) NA SAVEAREA+4
         LA    15,MYSAVE                CARREGA ENDER SAVEAREA DO PROG
         ST    15,8(13)                 SALVA END SAVEAREA DO PROG
*                                       NA SAVEAREA+8 DO CHAMADOR
         LR    13,15                    ENDER SAVEAREA DO PROG NO 13
ABRIR    EQU   *
         OPEN  (ENTRA,INPUT)            ABRE ARQUIVO ENTRADA
         OPEN  (RELAT,OUTPUT)           ABRE ARQUIVO RELATORIO
LEDENOVO BAL   14,LERENTRA              EXECUTA ROTINA LEITURA
         CLI   FIMENTRA,C'S'            VERIFICA SE EOF
         BE    FECHAR                   SE EOF DESVIA PARA FECHAR
NAOCABOU EQU   *                        SE NAO EOF
         BAL   14,IMPRIME               EXECUTA ROTINA DE IMPRESSAO
         B     LEDENOVO                 DESVIA PARA LER OUTRO REGISTRO
FECHAR   CLOSE (ENTRA,,RELAT)           FECHA ARQUIVOS
         LA    2,0                      ZERA REGISTRADOR 2
         L     13,MYSAVE+4              RESTAURA END.SAVEAREA CHAMADOR
         ST    2,16(13)                 RETURN CODE ZERO ONDE VAI
*                                       RESTAURAR REGISTRADOR 15
         LM    14,12,12(13)             RESTAURA REGISTRADORES
         BR    14                       TERMINA PROGRAMA
*---------------------------------------------------------------------
* ROTINA DE LEITURA        -------------------------------------------
*---------------------------------------------------------------------
         DC    A(0)                     PARA GUARDAR ENDERECO RETORNO
LERENTRA EQU   *                        PROCEDIMENTO DE LEITURA
         ST    14,LERENTRA-4            SALVA ENDERECO RETORNO
*                                       (INSTRUCAO SEGUINTE AO BAL)
         GET   ENTRA,AE                 LE REGISTRO LOGICO
         AP    WLIDOS,=P'1'             SOMA 1 EM CONTADOR LIDOS
         B     SAILER                   DESVIA PARA SAIDA ROTINA
EOFENTRA EQU   *                        SE EOF NO GET VEM PRA CA
         MVI   FIMENTRA,C'S'            CONSTANTE 'S' PARA FLAG EOF
SAILER   EQU   *                        SAIDA
         L     14,LERENTRA-4            PEGA ENDERECO DE RETORNO
         BR    14                       VOLTA PARA APOS O BAL
*---------------------------------------------------------------------
* IMPRIME                  -------------------------------------------
*---------------------------------------------------------------------
         DC    A(0)                     PARA GUARDAR ENDERECO RETORNO
IMPRIME  EQU   *                        PROCEDIMENTO DE IMPRESSAO
         ST    14,IMPRIME-4             SALVA ENDERECO DE RETORNO
         CP    WLINS,=P'24'             COMPARA SE FIM DE FOLHA
         BNH   IMPMESMO                 SE MENOR OU IGUAL DESVIA
         BAL   14,CABEC                 SE MAIOR EXECUTA ROTINA CABEC
IMPMESMO EQU   *
         MVI   AS,C' '                  ESPACEJAMENTO SIMPLES
         UNPK  LDETNRO,WLIDOS           DESCOMPACTA NRO REG LIDO
         OI    LDETNRO+4,X'F0'          FORCA ZONA 'F'
         MVC   LDETTXT,AE               REG LIDO PARA LINHA DETALHE
         MVC   AS,LDET                  LINHA DETALHE PARA LINHA GERAL
         PUT   RELAT,AS                 IMPRIME
         AP    WLINS,=P'1'              SOMA 1 NO CONTADOR DE LINHAS
SAIIMPRI EQU   *                        SAIDA DA ROTINA
         L     14,IMPRIME-4             RESTAURA ENDERECO PARA VOLTAR
         BR    14                       VOLTA PARA INSTRUCAO APOS BAL
*---------------------------------------------------------------------
* CABECALHO                -------------------------------------------
*---------------------------------------------------------------------
         DC    A(0)                     PARA GUARDAR ENDERECO RETORNO
CABEC    EQU   *                        PROCEDIMENTO DE CABECALHO
         ST    14,CABEC-4               SALVA ENDERECO PARA RETORNO
         ZAP   WLINS,=P'0'              ZERA CONTADOR DE LINHAS
         AP    WPAGS,=P'1'              SOMA 1 NO CONTADOR DE PAGINAS
         MVI   AS,C'1'                  ESPACEJAMENTO : SALTAR FOLHA
         MVC   LCABZPAG,=X'4020204B202120' MASCARA DE EDICAO
         ED    LCABZPAG,WPAGS           EDITA NRO DA PAGINA
         MVC   AS,LCABZ                 LINHA LCABZ  PARA LINHA GERAL
         PUT   RELAT,AS                 IMPRIME LINHA LCABZ
         MVC   AS,LCAB1                 LINHA CABEC1 PARA LINHA GERAL
         PUT   RELAT,AS                 IMPRIME LINHA CABEC1
         MVI   AS,C' '                  ESPACEJAMENTO SIMPLES
         MVC   AS,LCAB2                 LINHA CABEC2 PARA LINHA GERAL
         PUT   RELAT,AS                 IMPRIME LINHA CABEC2
         MVC   AS,LCAB3                 LINHA CABEC3 PARA LINHA GERAL
         PUT   RELAT,AS                 IMPRIME LINHA EM BRANCO
         AP    WLINS,=P'3'              SOMA 3 NO CONTADOR DE LINHAS
SAICABEC EQU   *                        SAIDA DA ROTINA
         L     14,CABEC-4               RESTAURA ENDER VOLTA NO REG14
         BR    14                       VOLTA PARA APOS O BAL
*---------------------------------------------------------------------
* DECLARACAO DAS VARIAVEIS -------------------------------------------
*---------------------------------------------------------------------
MYSAVE   DC    18F'0'                   SAVE AREA
FIMENTRA DC    C'N'                     FLAG INDICATIVO DE FIM DE ARQ
WLIDOS   DC    PL3'0'                   CONTADOR REGS LIDOS
WPAGS    DC    PL3'0'                   CONTADOR PAGINAS
WLINS    DC    PL3'99'                  CONTADOR LINHAS
AE       DS    CL80                     AREA PARA LEITURA ARQ ENTRADA
AS       DS    CL133                    AREA PARA SAIDA ARQ IMPRESSAO
*
* LINHAS DO RELATORIO      -------------------------------------------
*
LCABZ    DS    0CL133                   PROXIMOS 133 BYTES = LCABZ
         DC    CL1'1'
         DC    C'PAG. '
LCABZPAG DC    CL7' '
         DC    CL120' '
*
LCAB1    DS    0CL133                   PROXIMOS 133 BYTES = LCAB1
         DC    CL1' '
         DC    CL5'REG.#'
         DC    CL1' '
         DC    20C'-'
         DC    CL40'*         CONTEUDO DO REG LIDO         *'
         DC    20C'-'
         DC    CL47' '
*
LCAB2    DS    0CL133                   PROXIMOS 133 BYTES = LCAB2
         DC    CL1' '
         DC    CL5'-----'
         DC    CL1' '
         DC    20C'-'
         DC    CL40'----------------------------------------'
         DC    20C'-'
         DC    CL46' '
*
LCAB3    DC    CL133' '                 LINHA EM BRANCO
*
LDET     DS    0CL133                   LINHA DE DETALHE
         DC    CL1' '
LDETNRO  DC    CL5' '
         DC    CL1' '
LDETTXT  DC    CL80' '
         DC    CL46' '
*
*---------------------------------------------------------------------
* DECLARACAO DOS ARQUIVOS  -------------------------------------------
*---------------------------------------------------------------------
ENTRA    DCB   DDNAME=ENTRA,LRECL=80,EODAD=EOFENTRA,DSORG=PS,MACRF=GM
RELAT    DCB   DDNAME=RELAT,LRECL=133,DSORG=PS,MACRF=PM,RECFM=FBA
*---------------------------------------------------------------------
* LITERAIS                 -------------------------------------------
*---------------------------------------------------------------------
        LTORG
*---------------------------------------------------------------------
        END

Então o relatório terá o seguinte formato :

PAG.       1
REG.# --------------------*         CONTEUDO DO REG LIDO         *--------------------
----- --------------------------------------------------------------------------------

00001 REGISTRO 1 ....................................................................*
00002 REGISTRO 2 ...+....2....+....3....+....4....+....5....+....6....+....7....+....0
00003 REGISTRO 3                                                                     !
00004 ESTOU VOLTANDO PARA CASA, TERMINEI MEU TEMPO
00005 AGORA EU PRECISO SABER O QUE É E O QUE NÃO É MEU
00006 SE RECEBERSSE MINHA CARTA AVISANDO QUE LOGO ESTARIA LIVRE
00007 ENTÃO VOCÊ VAI SABER O QUE FAZER
00008 SE AINDA ME QUER
00009 SE AINDA ME QUER
00010 UAU, AMARRE UMA FITA AMARELA EM VOLTA DO CARVALHO VELHO
00011 JÁ FAZEM TRÊS LONGOS ANOS
00012 VOCÊ AINDA ME QUER?
00013 SE EU NÃO VÊ UMA FITA EM VOLTA DO VELHO CARVALHO
00014 VOU FICAR NO ÔNIBUS
00015 ESQUEÇA-NOS
00016 COLOQUE A CULPA EM MIM
00017 SE EU NÃO VIU UMA FITA AMARELA EM VOLTA DO CARVALHO VELHO
00018 MOTORISTA DE ÔNIBUS, POR FAVOR ME PROCURE
00019 PORQUE EU NÃO AGUENTARIA VER O QUE EU POSSO VER
00020 ESTOU REALMENTE NA PRISÃO
00021 E MEU AMOR, ELA ESTÁ COM A CHAVE


PAG.       2
REG.# --------------------*         CONTEUDO DO REG LIDO         *--------------------
----- --------------------------------------------------------------------------------

00022 UMA SIMPLES FITA AMARELA É O QUE EU PRECISO PARA ME LIBERTAR
00023 ESCREVI E DISSE POR FAVOR
00024 HOA, AMARRE UMA FITA AMARELA EM VOLTA DO CARVALHO VELHO
00025 JÁ FAZEM TRÊS LONGOS ANOS
00026 VOCÊ AINDA ME QUER?
00027 SE EU NÃO VÊ UMA FITA EM VOLTA DO CARVALHO VELHO
00028 VOU FICAR NO ÔNIBUS
00029 ESQUEÇA-NOS
00030 COLOQUE A CULPA EM MIM
00031 SE EU NÃO VIU UMA FITA AMARELA EM VOLTA DO CARVALHO VELHO
00032 AGORA TODO O ÔNIBUS ESTÁ TORCENDO
00033 E NÃO ACREDITO QUE VI
00034 CEM FITAS AMARELAS AO REDOR DO VELHO CARVALHO
00035 *** ULTIMO REGISTRO !!! ***

Ainda tem dúvidas?

Entre em contato conosco para mais informações via whatsapp abaixo.

Formulário para WhatsApp

Envie suas dúvidas sobre o Exercício prático da linguagem de programação Assembly (Batch) , via whatsapp aqui…

Participe!

 Doar para a “Future School EAD” é essencial para manter e expandir o acesso à educação gratuita em informática. Esta escola oferece cursos de alta qualidade sem custo, capacitando jovens e adultos com habilidades essenciais para o mercado de trabalho atual.

Sua contribuição permite que mais pessoas transformem suas vidas por meio do aprendizado digital, reduzindo desigualdades sociais e promovendo a inclusão digital. Apoiar a Future School EAD é investir em um futuro mais justo e tecnológico para todos.

 

Participe do grupo do WhatsAapp (11-98342.2503) no plantão de dúvidas (Sábados).

Você quer ajudar a manter este site?

PIX é celular (11-98342.2503) Favorecido: Jorge Gilberto.

Descubra uma ampla variedade de cursos online para expandir seus conhecimentos e impulsionar sua carreira.

Inscrever

Tire suas dúvidas acerca desse curso além  de receber nossas novidades e atualizações por e-mail.

Ao se inscrever, você concorda com nossa
Política de Privacidade e autoriza o recebimento de atualizações da nossa empresa. 

© 2017/2024 Future School EAD. Todos os direitos reservados | Desenvolvido por Poeta Alberto Lima Soluções Digitais.