-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathASMP0609.ASM
More file actions
122 lines (122 loc) · 4.17 KB
/
ASMP0609.ASM
File metadata and controls
122 lines (122 loc) · 4.17 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
***********************************************************************
* OBJETIVOS: REALIZA UM LACO, LENDO TODOS OS REGISTROS DE UM KSAN,
* CALCULA A MEDIA E IMPRIME: NOME, MEDIA E SITUACAO DO ALUNO
* OBS.: SEPARADO O CALCULO DA MEDIA (BAS)
***********************************************************************
* PROCEDIMENTOS DE INICIALIZACAO DO PROGRAMA (LINKAGE CONVENTION)
***********************************************************************
ASMP0609 AMODE 31
ASMP0609 RMODE 24
ASMP0609 CSECT
INICIO ASMP0609,R12
***********************************************************************
* CORPO DO PROGRAMA
***********************************************************************
OPEN (SAIDA,OUTPUT)
OPEN (ALUNOS,INPUT)
LTR R15,R15
BNZ ROT_ABND
LER_REG EQU *
GET ALUNOS,REGISTRO
MVC MSG+1(40),NOME
PACK N1P,N1
PACK N2P,N2
PACK N3P,N3
PACK N4P,N4
PACK N5P,N5
BAS R7,CALC_MED
ZAP RESULT,TRAB
MVC RESULTO,=X'402021206B2020'
ED RESULTO,RESULT
MVC MSG+41(7),RESULTO
CP MEDIA,=P'0700' MEDIA SETE
BL SITREPR
MVC MSG+49(9),=C'APROVADO '
PUT SAIDA,MSG
B LER_REG
SITREPR EQU *
MVC MSG+49(9),=C'REPROVADO'
PUT SAIDA,MSG
B LER_REG
***********************************************************************
* CALCULO DA MEDIA
***********************************************************************
CALC_MED EQU *
ZAP TRAB,N1P
AP TRAB,N2P
AP TRAB,N3P
AP TRAB,N4P
AP TRAB,N5P
CVB R4,TRAB
SRDA R4,32 OU SRDA R4,B'100000'
ZAP TRAB,=P'5' CINCO PARCELAS
CVB R6,TRAB
ST R6,NOTAS
D R4,NOTAS
CVD R5,TRAB
ZAP MEDIA,TRAB
SRP TRAB,2,0
BR R7
***********************************************************************
* ROTINA DE ABEND
***********************************************************************
ROT_ABND EQU *
MVC MSG(12),=C'OPEN FALHOU.'
PUT SAIDA,MSG
***********************************************************************
* FINALIZA (FECHA) OS DATASETS
***********************************************************************
FIMARQ EQU *
CLOSE SAIDA
CLOSE ALUNOS
***********************************************************************
* PROCEDIMENTOS DE FINALIZACAO DO PROGRAMA (LINKAGE CONVENTION)
***********************************************************************
FIM
***********************************************************************
* DEFINICAO DE AREAS DE DADOS
***********************************************************************
REGISTRO DS 0CL80
MATRIC DS CL6
NOME DS CL40
SEXO DS CL1
N1 DS CL4
N2 DS CL4
N3 DS CL4
N4 DS CL4
N5 DS CL4
DC 13CL1' '
*
N1P DS PL4
N2P DS PL4
N3P DS PL4
N4P DS PL4
N5P DS PL4
RESULT DS PL4
TRAB DS PL8
MEDIA DS PL4
NOTAS DS F
*
RESULTO DS CL7
*
MSG DS CL80
DC 1CL1' '
*
SAIDA DCB DDNAME=SAIDA, *
DSORG=PS, *
MACRF=PM, *
RECFM=FBA, *
LRECL=80, *
BLKSIZE=4000
*
ALUNOS DCB DDNAME=ALUNOS, *
DSORG=PS, *
MACRF=GM, *
RECFM=FB, *
LRECL=80, *
BLKSIZE=27920, *
EODAD=FIMARQ
*
LTORG
*
END