-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathASMP0626.ASM
More file actions
156 lines (156 loc) · 4.92 KB
/
ASMP0626.ASM
File metadata and controls
156 lines (156 loc) · 4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
***********************************************************************
* OBJETIVOS: LER ARQUIVO DE ALUNOS (VSAM) E GERAR RELATORIO
* CPF E NOTAS COM MASCARA
***********************************************************************
* PROCEDIMENTOS DE INICIALIZACAO DO PROGRAMA (LINKAGE CONVENTION)
***********************************************************************
ASMP0626 AMODE 31
ASMP0626 RMODE 24
ASMP0626 CSECT
INICIO ASMP0626,R12
***********************************************************************
* CORPO DO PROGRAMA
***********************************************************************
OPEN (SAIDA,OUTPUT)
OPEN ALUNOS
LTR R15,R15
BNZ ERROVSAM ERRO O (OPEN)
BAS R7,GET_DTHR
LER_ARQ EQU *
GET RPL=RPLVSAM
LTR R15,R15
BNZ FIMPROG
PACK N1P,N1
PACK N2P,N2
PACK N3P,N3
PACK N4P,N4
PACK N5P,N5
CALC_MED EQU *
ZAP TRAB,N1P
AP TRAB,N2P
AP TRAB,N3P
AP TRAB,N4P
AP TRAB,N5P
CVB R4,TRAB
SRDA R4,32
ZAP TRAB,=P'5'
CVB R6,TRAB
ST R6,NOTAS
D R4,NOTAS
CVD R5,TRAB
ZAP MEDIAP,TRAB
SRP TRAB,B'000011',0 OU DRP TRAB,3,0
ZAP RESULT,TRAB
MVC MED_DET,=X'4021206B2020'
ED MED_DET,RESULT
CP MEDIAP,=P'0700'
BL ALU_REP
MVC STAT_DET,=C'APROVADO '
B CONT_ALU
ALU_REP EQU *
MVC STAT_DET,=C'REPROVADO'
CONT_ALU EQU *
PACK CPFP,CPF
SRP CPFP,B'000100',0
MVC CPFO,=X'F02020204B2020204B202020602020'
ED CPFO,CPFP
MVC CPF_DET,CPFO+1
MVC NOME_DET,NOME
CP CONTLIN,=P'60'
BNH IMP_DET
STCM R7,15,SAVE_R7 OU STCM R7,B'1111',SAVE_R7
BAS R7,IMP_CAB
ICM R7,15,SAVE_R7
IMP_DET EQU *
PUT SAIDA,DETALHE
AP CONTLIN,=P'1'
B LER_ARQ
IMP_CAB EQU *
AP PAGP,=P'1'
UNPK PAGINA,PAGP
OI PAGINA+3,X'F0'
MVC DIA(2),CURRDATE+6
MVC MES(2),CURRDATE+4
MVC ANO(4),CURRDATE
MVC HORA(2),CURRTIME
MVC MINUTO(2),CURRTIME+2
MVC SEGUNDO(2),CURRTIME+4
PUT SAIDA,CAB01
PUT SAIDA,CAB02
PUT SAIDA,CAB03
PUT SAIDA,CAB04
ZAP CONTLIN,=P'5'
BR R7
GET_DTHR EQU *
TIME DEC,TIMEDAT,ZONE=LT,LINKAGE=SYSTEM,DATETYPE=YYYYMMDD
UNPK CURRDATE(9),TIMEDAT+8(5)
UNPK CURRTIME(13),TIMEDAT(7)
BR R7
ERROVSAM EQU *
MVC MSG(23),=C'ERRO NO OPEN DO VSAM01.'
PUT SAIDA,MSG
***********************************************************************
* PROCEDIMENTOS DE FINALIZACAO DO PROGRAMA (LINKAGE CONVENTION)
***********************************************************************
FIMPROG EQU *
FIM
***********************************************************************
* DEFINICAO DE AREAS DE DADOS
***********************************************************************
TIMEDAT DS CL16
CURRDATE DS CL8 DATA: C'YYYYMMDD'
CURRTIME DS CL12 HORA: C'HHMMSSTHMIJU'
*
MSG DS CL132
SAVE_R7 DS F
*
CONTLIN DC PL4'61'
PAGP DC PL4'0'
N1P DS PL4
N2P DS PL4
N3P DS PL4
N4P DS PL4
N5P DS PL4
TRAB DS PL8
RESULT DS PL4
NOTAS DS F
CPFP DS PL8
MEDIAP DS PL4
CPFO DS CL15
*
REG_VSAM DS 0CL80
CPF DS CL11
NOME DS CL40
SEXO DS CL1
N1 DS CL4
N2 DS CL4
N3 DS CL4
N4 DS CL4
N5 DS CL4
MEDIA DS CL4
DC 4CL1' '
TAM_REG EQU *-REG_VSAM
*
ALUNOS ACB DDNAME=ALUNOS, *
AM=VSAM, *
MACRF=(KEY,SEQ,OUT)
*
RPLVSAM RPL ACB=ALUNOS, *
ARG=CPF, *
AREA=REG_VSAM, *
AREALEN=TAM_REG, *
RECLEN=TAM_REG, *
KEYLEN=11
*
SAIDA DCB DDNAME=SAIDA, *
DSORG=PS, *
MACRF=PM, *
RECFM=FBA, *
LRECL=80, *
BLKSIZE=4000
*
COPY RELALU06
*
LTORG
*
END ASMP0626