Publicado el 22 de Mayo del 2021
952 visualizaciones desde el 22 de Mayo del 2021
1,3 MB
451 paginas
Creado hace 15a (26/03/2010)
Programación de Mainframes en Ensamblador
Bill Qualls
26 de marzo de 2010
Copyright © 2009 Bill Qualls – Derechos Reservados
Sobre el Autor Bill Qualls es actualmente profesor asistente de Matemáticas
y ex profesor asistente de Sistemas de Información, en Waubonsee Community
College, Sugar Grove, Illinois. Antes de unirse a Waubonsee trabajó en la indus-
tria durante nueve años como un programador de Ensamblador y cobol. Bill
obtuvo su B.A. en Contabilidad en Whittier College, su MBA de la Sistemas
de Información de Keller Graduate School of Management, y su maestría en
Matemáticas Aplicadas en De Paul University.
Dedicación Este libro está dedicado a mi madre Dorinda Qualls cuyo amor
es incondicional. Me enseñó la división larga entre su paciencia y la caridad por
su ejemplo.
1
Índice general
1. Primeros pasos con pc/370
1.1.
Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Nuestro primer programa pc/370 . . . . . . . . . . . . . . . . . .
1.3. Creación de conjuntos de datos de pc/370 . . . . . . . . . . . . .
1.4. Nuestro Primer Programa de Procesamiento de archivos . . . . .
1.5. Ejercicios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Definición y movimiento de Carácteres
2.1. Definir y movimiento de Datos de Carácter
. . . . . . . . . . . .
2.2. Definir y mover literales alfanuméricos . . . . . . . . . . . . . . .
2.2.1. La Instrucción MVI . . . . . . . . . . . . . . . . . . . . .
2.2.2. Valores equiparados
. . . . . . . . . . . . . . . . . . . . .
2.3. Longitud explícita y el Desplazamiento . . . . . . . . . . . . . . .
2.4. Agregar y encabezados de columna . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Ejercicios
3. IFS en BAL: Comparación de carácter FIELDS
3.1. Compara en BAL: el código de condición . . . . . . . . . . . . .
3.2. Compara en BAL: La Instrucción CLC . . . . . . . . . . . . . .
3.3. Compares in BAL: The CLI Instruction . . . . . . . . . . . . . .
3.4. Compares in BAL:The BC Instruction . . . . . . . . . . . . . . .
3.5. Compares in BAL: Sample IFs
. . . . . . . . . . . . . . . . . . .
3.6. Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Exercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
12
13
17
23
33
36
37
47
52
55
58
63
69
74
75
76
79
80
81
85
88
4. Cómo estructurar un Programa de BAL
4.1. CONFIGURACIÓN, PROCESO, y Wrapup Secciones . . . . . .
4.1.1. La Revisión de rutina PROCESO ...
4.1.2. La Revisión de rutina Leer más ...
96
97
. . . . . . . . . . . . 103
. . . . . . . . . . . . . 109
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.2. Ejercicios
5. Representación de datos
118
5.1. Una mirada más cercana a nuestro Sistema de numeración deci-
mal
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
2
ÍNDICE GENERAL
ÍNDICE GENERAL
5.2. El sistema binario Número . . . . . . . . . . . . . . . . . . . . . . 119
5.2.1. De binario a decimal de conversión . . . . . . . . . . . . . 120
5.3. El ebcdic y ascii para colación de secuencias . . . . . . . . . . . 120
5.3.1. Decimal a binario de conversión . . . . . . . . . . . . . . 122
5.3.2. Hexadecimal a decimal de conversión . . . . . . . . . . . 123
5.3.3. Decimales a hexadecimal de conversión . . . . . . . . . . 124
5.3.4. Hexadecimal a binario de conversión . . . . . . . . . . . . 124
5.3.5. De binario a hexadecimal de conversión . . . . . . . . . . 124
5.4. Aritmética binaria . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.5. Aritmética hexadecimal
. . . . . . . . . . . . . . . . . . . . . . . 126
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.6. Ejercicios
6. ¿Qué es esta cosa de la izquierda?
130
6.1. El formato de instrucción SI . . . . . . . . . . . . . . . . . . . . . 133
6.2. El formato de instrucción SS . . . . . . . . . . . . . . . . . . . . 134
6.3. El formato de instrucción RX . . . . . . . . . . . . . . . . . . . . 136
Instrucciones de Definición de Datos . . . . . . . . . . . . . . . . 137
6.4.
6.5. Ejercicios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
7. Bolsas de aritmética decimal
144
7.1. Presentación de Dindón Industrias . . . . . . . . . . . . . . . . . 145
7.2. Bolsas de Formato Decimal
. . . . . . . . . . . . . . . . . . . . . 146
7.3. La Instrucción AP . . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.4. La Instrucción ZAP . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.5. La detección de una condición de desbordamiento . . . . . . . . . 151
7.6. La Instrucción UNPK . . . . . . . . . . . . . . . . . . . . . . . . 152
7.7. La Instrucción MVZ . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.8. Ejemplo de programación: La producción de la Crónica de Ventas 154
7.9. Ejemplo de programación: La producción de las discrepancias
Informe de Inventario . . . . . . . . . . . . . . . . . . . . . . . . 161
7.10. La Instrucción SP . . . . . . . . . . . . . . . . . . . . . . . . . . 161
7.11. La Instrucción CP . . . . . . . . . . . . . . . . . . . . . . . . . . 162
7.12. Ejemplo de programación Revisited . . . . . . . . . . . . . . . . . 163
7.13. El SS formato de instrucción Revisited ...
. . . . . . . . . . . . . 170
. . . . . . . . . . . . . . . . . . . 171
7.14. Datos de errores de excepción
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
7.15. Ejercicios
8. Lógica de Salto de página
182
8.1. La rutina CHKLNS . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Incluyendo el número de página en las líneas de definición . . . . 184
8.2.
8.2.1. La rutina HDGS . . . . . . . . . . . . . . . . . . . . . . . 185
8.2.2. La Línea FORMFEED . . . . . . . . . . . . . . . . . . . . 185
8.2.3. Ejemplo de programa de solución
. . . . . . . . . . . . . 187
. . . . . . . . . . . . . . . . . . . . . . . . 191
8.2.4. Ahorrar papel
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
8.3. Ejercicios
3
ÍNDICE GENERAL
ÍNDICE GENERAL
9. La Instrucción Editar
194
9.0.1. Problemas con UNPK y MVZ Revistited . . . . . . . . . 195
9.0.2. Definición de la máscara de edición . . . . . . . . . . . . . 196
Indicando Importancia . . . . . . . . . . . . . . . . . . . . 198
9.0.3.
9.0.4.
Impresión Decimal Puntos . . . . . . . . . . . . . . . . . . 198
. . . . . . . . . . . . . . . . . . . . 199
Impresión de la Señal
9.0.5.
9.0.6.
Impresión CR (crédito) o DB (de débito)
. . . . . . . . . 200
9.0.7. Hora de Protección . . . . . . . . . . . . . . . . . . . . . . 201
9.0.8. La documentación de la máscara de edición . . . . . . . . 201
9.1. Muestra del Programa . . . . . . . . . . . . . . . . . . . . . . . . 202
Informes Dindón Revisited:
. . . . . . . . . . . . . . . . . . . . . 205
9.2.
9.2.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
9.3. Ejercicios
10.Quiebre de la lógica de control de
221
10.1. Single Level Control Break - Problema de programación . . . . . 227
10.2. Single Level Control Break - Lógica . . . . . . . . . . . . . . . . . 228
10.3. Single Level Control Break - Program Solution . . . . . . . . . . 232
10.4. Romper el control de nivel múltiple - Problema de programación 237
. . . . . . . 237
10.4.1. Romper el control de nivel múltiple - Lógica
10.4.2. La producción de OFFER10C.MLC - Ejemplo de nivel
múltiple romper el control de . . . . . . . . . . . . . . . . 237
10.4.3. Romper el control de nivel múltiple - Programa de Solu-
ción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
10.4.4. Totales Rolling . . . . . . . . . . . . . . . . . . . . . . . . 247
10.5. Informe resumido - Problema de programación . . . . . . . . . . 248
10.5.1. Informe resumido - Lógica
. . . . . . . . . . . . . . . . . 249
10.5.2. Informe resumido - Solución de programa . . . . . . . . . 249
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.6. Ejercicios
11.Más de una entrada de archivo
258
. . . . . . . . . . . . . . 259
11.1. Clasificación de los archivos de entrada
11.2. La estructura de la línea principal
. . . . . . . . . . . . . . . . . 260
11.3. La rutina de instalación . . . . . . . . . . . . . . . . . . . . . . . 261
11.4. Las rutinas de LEA . . . . . . . . . . . . . . . . . . . . . . . . . 261
11.5. El proceso de rutina PROCESO . . . . . . . . . . . . . . . . . . 262
11.5.1. El CHKLNS, HDGS, y rutinas de escritura . . . . . . . . 264
11.6. La rutina Wrapup . . . . . . . . . . . . . . . . . . . . . . . . . . 265
11.6.1. La salida del programa . . . . . . . . . . . . . . . . . . . . 266
11.7. Programa de Solución . . . . . . . . . . . . . . . . . . . . . . . . 266
11.8. Ejercicios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
4
ÍNDICE GENERAL
ÍNDICE GENERAL
12.cuencial del archivo de actualización
12.2.1.1. Válido Añadir
12.1. La estructura de la línea principal
276
. . . . . . . . . . . . . . . . . 280
12.1.1. La rutina de instalación . . . . . . . . . . . . . . . . . . . 281
12.2. Las rutinas LEA . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
12.2.0.1. La rutina PROCESO . . . . . . . . . . . . . . . 282
12.2.0.2. Master Low . . . . . . . . . . . . . . . . . . . . . 282
12.2.1. transacción bajos . . . . . . . . . . . . . . . . . . . . . . . 283
. . . . . . . . . . . . . . . . . . . 284
12.2.2. No válido el cambio, no se puede eliminar . . . . . . . . . 284
12.2.2.1. Bad Código de transacción . . . . . . . . . . . . 285
12.2.2.2. Master / transacción del partido . . . . . . . . . 285
12.2.3. Añadir malo . . . . . . . . . . . . . . . . . . . . . . . . . 286
12.2.4. Válido Eliminar . . . . . . . . . . . . . . . . . . . . . . . . 286
12.2.5. Válido Cambio . . . . . . . . . . . . . . . . . . . . . . . . 287
12.2.6. Escribir nuevo Master . . . . . . . . . . . . . . . . . . . . 288
12.2.7. La rutina Wrapup . . . . . . . . . . . . . . . . . . . . . . 288
12.2.8. Programa
Comentarios de: Programación de Mainframes en Ensamblador (0)
No hay comentarios