You are on page 1of 2

ARMANAS5 CSECT

INICIO ARMANAS5,R3 MACRO INICIO


**************** ABRIR ARQUIVOS ***********
OPEN (ENTRADA,INPUT) ABRIR ENTRADA
OPEN (SAIDA,OUTPUT) ABRIR SAIDA
GET ENTRADA,DADOS LER PRIMEIRO NUMERO
PACK N1,DADOIN COMPACTAR EM N1
MVC N1OUT,=X'4020204B2021206B202060' MASCARA PARA N1OUT
ED N1OUT,N1 EDITAR N1
GET ENTRADA,DADOS LER SEGUNDO NUMERO
PACK N2,DADOIN COMPACTAR EM N2
MVC N2OUT,=X'402020204B2021206B2060' MASCARA PARA N2OUT
ED N2OUT,N2 EDITAR N2
FIMARQ EQU *
* SOMA
ZAP TRABALHO,N1 MONTAR N1 EM 64 BITS
CVB R4,TRABALHO CONVERTER P BINARIO EM R4
ZAP TRABALHO,N2 MONTAR N2 EM 64 BITS
SRP TRABALHO,1,0 AUMENTAR 1 ALGARISMO EM N2
CVB R5,TRABALHO CONVERTER P BINARIO EM R5
AR R4,R5 SOMAR N2 (R5) EM N1(R4)
CVD R4,TRABALHO CONVERTER RESULTADO PARA PACK
ZAP RESULT,TRABALHO CARREGAR RESULTADO
MVC RESULTO,=X'4020204B2021206B202060' MASCARA DO RESULTADO
ED RESULTO,RESULT EDITAR RESULTADO
MVI SINAL,C'+' SINAL DA MENSAGEM
PUT SAIDA,MSG EXIBIR RESULTADO
* SUBTRACAO
ZAP TRABALHO,N1 MONTAR N1 EM 64 BITS
CVB R4,TRABALHO CONVERTER P BINARIO EM R4
ZAP TRABALHO,N2 MONTAR N2 EM 64 BITS
SRP TRABALHO,1,0 AUMENTAR 1 ALGARISMO EM N2
CVB R5,TRABALHO CONVERTER P BINARIO EM R5
SR R4,R5 SUBTRAIR N2 (R5) EM N1(R4)
CVD R4,TRABALHO CONVERTER RESULTADO PARA PACK
ZAP RESULT,TRABALHO CARREGAR RESULTADO
MVC RESULTO,=X'4020204B2021206B202060' MASCARA DO RESULTADO
ED RESULTO,RESULT EDITAR RESULTADO
MVI SINAL,C'-' SINAL DA MENSAGEM
PUT SAIDA,MSG EXIBIR RESULTADO
* MULTIPLICACAO
ZAP TRABALHO,N1 MONTAR N1 EM 64 BITS
CVB R5,TRABALHO CONVERTER P BINARIO EM R5
ZAP TRABALHO,N2 MONTAR N2 EM 64 BITS
CVB R6,TRABALHO CONVERTER P BINARIO EM R5
ST R6,N2B SALVA R6 (N2) EM N2B (FULL)
M R4,N2B MULTIPLICAR N2B PELOS REGS R4/R5
CVD R5,TRABALHO CONVERTER RESULTADO (R5) PARA PACK
SRP TRABALHO,64-1,5 DIMINUIR 1 ALGARISMO COM ARREDONDAMEN
ZAP RESULT,TRABALHO CARREGAR RESULTADO
MVC RESULTO,=X'4020204B2021206B202060' MASCARA DO RESULTADO
ED RESULTO,RESULT EDITAR RESULTADO
MVI SINAL,C'*' SINAL DA MENSAGEM
PUT SAIDA,MSG EXIBIR RESULTADO
* DIVISAO
ZAP TRABALHO,N1 MONTAR N1 EM 64 BITS
SRP TRABALHO,2,0 AUMANTA 2 ALGARISMOS EM N1
CVB R4,TRABALHO CONVERTER P BINARIO EM R4
SRDA R4,32 DESLOCA R4 32 BITS P DIREITA
ZAP TRABALHO,N2 MONTAR N2 EM 64 BITS
CVB R6,TRABALHO CONVERTER P BINARIO EM R5
ST R6,N2B SALVA R6 (N2) EM N2B (FULL)
D R4,N2B DIVIDIR N2B PELOS REGS R4/R5
CVD R5,TRABALHO CONVERTER RESULTADO (R5) PARA PACK
SRP TRABALHO,64-1,5 DIMINUIR 1 ALGARISMO COM ARREDONDAMEN
ZAP RESULT,TRABALHO CARREGAR RESULTADO
MVC RESULTO,=X'4020204B2021206B202060' MASCARA DO RESULTADO
ED RESULTO,RESULT EDITAR RESULTADO
MVI SINAL,C'/' SINAL DA MENSAGEM
PUT SAIDA,MSG EXIBIR RESULTADO
* FECHAR ARQUIVOS
CLOSE ENTRADA FECHAR ENTRADA
CLOSE SAIDA FECHAR SAIDA
**************** VOLTA PARA CHAMADOR ****************
TERMINO MACRO TERMINO
********* VARIAVEIS **************
N2B DS F
N1 DS PL4
N2 DS PL4
TRABALHO DS PL8
RESULT DS PL4
*
DADOS DS 0CL80
DADOIN DS CL6
DC 74CL1' '
*
MSG DS 0CL133
DC CL1' '
N1OUT DS CL11
SINAL DS CL1
N2OUT DS CL11
DC CL1'='
RESULTO DS CL11
DC 97CL1' '
*
MSGRESTO DS 0CL133
DC CL1' '
DC CL8'RESTO = '
RESTOO DS CL11
DC 113CL1' '
*
SAIDA DCB DDNAME=SAIDA, NOME DO ARQUIVO *
DSORG=PS, *
MACRF=PM, *
LRECL=133, *
RECFM=FBA, *
BLKSIZE=6650
*
ENTRADA DCB DDNAME=ENTRADA, NOME DO ARQUIVO *
DSORG=PS, *
MACRF=GM, *
LRECL=80, *
RECFM=FB, *
BLKSIZE=4000, *
EODAD=FIMARQ
LTORG
END

You might also like