Home

Descargar - Bill Qualls

image

Contents

1. et kkk K READTCH Read teacher record GOI IG IG IOI ICI II I kkk kk kkk kkk kkk k READTCH EQU ST R10 SVREADT GET TEACHERS TREC Read a single teacher record B READTX ATENDTCH EQU MVI EOFTEACH C Y READTX EQU L R10 SVREADT BR R10 GOI IG I IOI ICI IIR I I Ak a kkk kk kkk k k READOFF Read a course offerings record GAO IG I IOI ICI IIR I aI AI I A kkk OK K kkk k K READOFF EQU ST R10 SVREADO READOFF2 EQU GET OFFER OREC Read a single offerings record CLC OSEM CL3 F92 Process F92 records only BNE READOFF2 B READOX ATENDOFF EQU MVI EOFOFFER C Y READOX EQU L R10 SVREADO BR R10 BEA AAA ARR 9k 9k A A A A I AC ORO CHKLNS Check lines printed Full page gt K gt K gt lt gt lt KK K ok K K K FK K KK FK FK K KK FK FK KK FK FK K FKK FK FK K FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK K FK K FK FK FK K K 269 11 7 PROGRAMA P T SODUCIOWAS DE UNA ENTRADA DE ARCHIVO search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 Ad oe K ke ok K WRITE Write a single detail line ok sk kk ok 5k ok ke ok ke 2k 5k joke ok ok ak ok ak k 2k 3k k 3k 2k 2k k ak ak k 3K k 3k 2k 2k 2k 2k ak k 2K 3K k 3K 2k 2k KOR KOR KOR 3K 2K 2k k
2. eft OK K START 0 WTO IPHONE MVC IPFX MVI OHYPHEN HYPHEN MVC OLINE ILINE WTO OPHONE RETURN Literals if any will go here LTORG Other field definitions HYPHEN EQU C IPHONE DS OCL7 IPFX DC CL3 555 ILINE DC CL4 1212 OPHONE DS OCL8 OPFX DS CL3 OHYPHEN DS CL1 OLINE DS CL4 END BEGIN 57 2 3 LON amp P UDLEOXPL SHITINACRUNDESIPDXYZMNITENTOE CARACTERES A MIN gt move2d 5551212 555 1212 Si examinamos el PRN archivo compararlo con el PRN archivos producidos por MOVE2C MLC podemos ver que La instrucci n MVI nuevo utilizando el valor equiparado creado exactamente el c digo mismo objeto que la a principios de instrucci n MVI es decir 9260D0A2 El equivalente en hexadecimal de un gui n 760 se muestra a la izquierda de la declaraci n EQU Esto es el mismo 60 que aparece en la instrucci n Tomado de MOVE2D PRN 00007C D202D09FD098 OOAF 00A8 29 000082 9260D0A2 00B2 30 000086 D203D0A3D09B 00B3 OOAB 31 0000A8 42 0000A8 43 0000A8 44 0000A8 45 0000A8 46 0000A8 47 0000A8 48 0000A8 00000060 49 HYPHEN 0000A8 50 0000A8 51 IPHONE 0000A8 F5F5F5 52 IPFX 0000 F1F2F1F2 53 ILINE 0000 0000 55 0000 56 0000 2 57 0000 3 58 OLINE 000000 59 X k OK OK OK CK CK C
3. AA AAA PC 370 System Release 4 2 01 07 88 Copyright C 1988 Donald S Higgins You encouraged to copy and share this package with other users on the condition the package is not distributed in modified form and that no fee is charged If you find PC 370 useful send 45 dollars to the address below to become registered user and support continued shareware development Registered users will receive notices of future PC 370 releases Don Higgins 6365 32 Avenue North St Petersburg Florida 33710 JOR IR eere oe IORI OR IO ATO AOR AOR IO OR ITOK PC 370 LINKAGE EDITOR OPTIONS ON LXEFIP STATS SYM 00002 MAXSTD 00001 BIMEM 57756 NO ERRORS FOUND A MIN gt hello Hello world X XK XK XX X XK XK XX XX MIN 1 Tecleas M370 HELLO A M370 hello alc 15 1 2 NUESTRO PRIMER RUGRAOIA HOMBROS PASOS CON PC 370 HELLO MLC es su c digo fuente Use MLC como la extensi n Las librerias de macros se suministra con PC 370 en archivo con la exten sion MAC M370 es el prepocesador de macros un programa que genera el archivo ALC El archivo ALC contiene su codigo fuente con macros expandidas puede ser eliminado despu s de el archivo OBJ ha sido ha sido creado 2 Tecleas A370 HELLO LX Nota no hay espacios permitidos entre el nombre del programa barra d
4. rere et kkk K Output line definition k kk kk kkk k kkk k kk kkk K OREC DS OCL42 1 42 DC 1 3 OSEM DS CL3 4 6 Semester 225 CAPITULO 10 QUIEBRE DE LA LOGICA DE CONTROL DE OCID OSECT OTID OCRLF DC CL4 DS CL5 DC CL6 DS CL1 DC CL8 DS CL3 DC CLT DS CL2 7 10 11 15 Course ID 16 21 22 22 Section number 23 30 31 33 Teacher ID 34 40 41 42 PC 370 only CR LF Add KOR KOR Headings definitions K KK KK K K K FKK FK K FK FK FK PageBZZ9 Section Teachers XXX XXX XXX PC 370 only EBCDIC formfeed For testing EBCDIC CR LF COURSE OFFERINGS Page Course Section Teacher 2 1 2 3 4 COURSE OFFERINGS Sem Course REM Ls Ls XXX XXXXX X XXX XXXXX X XXX XXXXX X FORMFEED DS OCL42 DC X 0C DC CL39 DC 40C _ DC gt 0025 gt HD1 DS OCL42 DC CL36 HDPGS DC CL4 BZZ9 DC XL2 0D25 HD2 DS OCL42 DC CL40 gt DC XL2 0D25 HD3 DS OCL42 DC CL40 Sem DC XL2 0D25 HD4 DS OCL42 DC CL40 DC XL2 0D25 END BEGIN 226 10 1 SINGLE LEVEL CONTROL BREAK PROBLEMA DE
5. TEACHERS DCB LRECL 29 RECFM F MACRF G EODAD ATENDTCH 270 11 7 PROGRAMA P T SODUCIOWAS DE UNA ENTRADA DE ARCHIVO DDNAME TEACHER SRT OFFER DCB LRECL 18 RECFM F MACRF G EODAD ATENDOFF DDNAME OFFER SRT REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT K X ok ok ok ok ok ale K de KK X ok K K ok ok ok K ok ale 9 ok X X K ok ok oko ok ale K K ale X K K K 2K ok ale ale K ale RETURN ADDRESSES FE AC CI ok ok A ok ok PK kkk kkk k k kkk k kk kkk k k k kk k K KOR k R R kk k k k kK k k SVSETUP DC SETUP SVHDGS DC F 0 HDGS SVPROC DC PROCESS SVREADT DC F 0 READTCH SVREADO DC READOFF SVWRITE DC SVWRAP DC F 0 WRAPUP SVCHKLNS DC CHKLNS SVMATCH DC SVOFFLOW DC F 0 OFFERLOW SVTCHLOW DC F 0 TEACHLOW SVTHIS1 DC DOTHIS1 gt K 5k sk 3k ok 5k 5k 5k Pk kkk k ok ok kkk k k kkk kkk k kk kk k k kkk k k k kk k ak kkk ak 2k kk k kk kK k k Miscellaneous field definitions BE AC k kkk ok ok kk kk k kkk kkk k kk kk k k kkk k k k kk k R KOR R K R kk K kk kK k k WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFTEACH DC CLI N End of teacher file Y N EOFOFFER DC CL1 N End of offerings file Y N PGS DC PL2 0 Nbr of pages printed LNS DC PL2 6 Lines printed on this page MAXLNS DC PL2 6 Max nbr
6. Literals if any will go here BEA k ok 9k Pk ok ok PK k ok ok kkk k k kk k k kk I k k I A k k 298 12 2 CMPREUNGAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N LTORG SEA AA OR R KOR 9k AR A A A File definitions SAA AAA AAR A A MASTERIN DCB LRECL 62 RECFM F MACRF G EODAD ATENDMST DDNAME BQSFUMST DAT TRANSIN DCB LRECL 62 RECFM F MACRF G EODAD ATENDTRN DDNAME BQSFUTRN DAT MASTEROT DCB LRECL 62 RECFM F MACRF P DDNAME BQSFUNEW DAT REPORT DCB LRECL 80 RECFM F MACRF P DDNAME REPORT TXT SAO AAA R KOR 9k 9k 9k A A A k k 2k 2k 2k 2k 2k 2k OR OR R RETURN ADDRESSES BEA CA 9k Pk ok ok PK k ok ok kkk k k kk k k kk k kk a A k k R akk k ak KOR R K SVSETUP DC SETUP SVHDGS DC HDGS SVPROC DC PROCESS SVREADM DC F 0 READMST SVREADT DC READTRN SVWRITE DC F 0 WRITE SVWRITEN DC F 0 WRITENEW SVWRAP DC F 0 WRAPUP SVCHKLNS DC F 0 CHKLNS SVMATCH DC F 0 MATCH SVMSTLOW DC F 0 MASTLOW SVTRNLOW DC F 0 TRANSLOW SVCOUNTS DC Fo DOCOUNTS SVBADCOD DC F 0 BADCODE SVBADADD DC F 0 BADADD SVBADCHG DC F 0 BADCHANG SVBADDEL DC F 0 BADDELET SVADDIT DC F 0 ADDIT SVCHGIT DC F 0 CHANGEIT SVDELIT DC F 0 DEELTEIT BEA COR ok ok kkk k k kk k k kk k kk kk I k kkk k k KK k R KOR R R R kk k k k kK K K Miscellaneous field de
7. RR dd OK K K OK CHKLNS Check lines printed Full page Yk 3k sk ok ok ok ok AARC CIA kk I ok ok a R ok 21 SKOR 9k 4 a 184 search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 187 223 232 241 249 266 289 CHKLNS EQU ST R10 SVCHKLNS LNS MAXLNS BL CHKLNSX BAL R10 HDGS CHKLNSX EQU L R10 SVCHKLNS BR R10 Agregar CHKLNS requiere la definici n de un fullword para guardar la di recci n de retorno SVCHKLNS DC F 0 CHKLNS 8 2 Incluyendo el n mero de p gina en las l neas de definici n A continuaci n cambiar la definici n de la linea de partida en primer lugar HD1 para incluir el n mero de p gina DS OCL62 DC CL40 LIST OF TEACHERS Page HDPGS DC CL3 DC CL17 gt DC XL2 0D25 No hay cambios necesarios para las l neas de partida 184 185 8 2 INCLUYENDO EL NUMERO DE PAGINA EN LAS LINEAS DE DEFINICION CAPITULO 8 LOGICA DE SALTO DE PAGINA 8 2 1 La rutina HDGS Por ltimo los pasos 2 a 5 se llevan a cabo dentro de la rutina HDGS HDGS EQU ST R10 SVHDGS PGS P 1 Add 1 to page count UNPK HDPGS PGS Move page count to headings MVZ HDPGS L HDPGS 1 1 X FO Remove sign PUT REPORT FORMFEED PC 370 ONLY PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 ZAP LNS P 0 Reset line count to zero L R10 SVHDGS BR R10 8 2 2 La Linea FORMFEED Tenga en cuenta la adici n de una declaraci n
8. search write REPORT from OREC no line counting SVWRITE return 106 K 3k 5k 3k 3k sk IK WRAPUP Those things which happen time only after all records have been processed YK k ok ok ok sk ok sk kk AIRC I ICICI R I I Ik 3K 3K 3K 3K K K K A AAC K K 3K 3K 3K K KK a WRAPUP EQU ST R10 SVWRAP 213 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR MVC OREC BLANKS MVC OCRLF WCRLF PC 370 only BAL R10 WRITE Skip a line MVC OREC 23 CL23 BZZ9 records processed MVC OREC 4 WMASK ED OREC 4 amp IN Count all BAL R10 WRITE MVC OREC 23 CL23 BZZ9 indicate shortage MVC OREC 4 WMASK ED OREC 4 SHORT Count shortages BAL R10 WRITE MVC OREC 23 CL23 BZZ9 indicate overage MVC OREC 4 WMASK ED OREC 4 tOVER Count overages BAL R10 WRITE CLOSE INVENTRY CLOSE REPORT WTO gt 0659 Discrepancies report on REPORT TXT L R10 SVWRAP BR R10 BEA CA 9k 5k OR 9k I IOI CK I a A ICI kkk kkk kkk k kkk k kk kk k k kk k K Literals if any will go here FE AC IC I k ok ok IOI k a A ACI k k kk k k Ok RO k k A k R KOR R K R kk KOR k KK K k LTORG BOO AA OR R RO 9k 9k 9k A A A A I I I I kk File definitions SAO AAA RRR A A A A I I I I 1 21 21 24 24 2k oo k k k 2k 2k 2k 2k 2k kkk R I
9. RRR k kk kk kk kk 229 search CHKSEM HOLDSEM vs ISEM to ENDSEM SVCHKSEM 229 232 CHKSEM FQ ST R10 SVCHKSEM CLC HOLDSEM ISEM Compare w current BE CHKSEMX Same semester get out BAL R10 ENDSEM Process semester break MVC HOLDSEM ISEM Update control break field CHKSEMX EQU L R10 SVCHKSEM BR R10 De nuevo esto se podria haber hecho dentro de la siguiente manera ST R10 SVPROC CLC HOLDSEM ISEM BE PROCESS2 BAL R10 ENDSEM MVC HOLDSEM ISEM PROCESS2 EQU continued Tenga en cuenta que ha finalizado un semestre y comenz otro movemos el semestre en curso ISEM al campo de romper el control HOLDSEM 2 Si el semestre ha cambiado extremo que el semestre y empezar otro Vemos de CHKSEM que si el semestre ha cambiado es decir si no es igual a HOLDSEM ISEM entonces invocamos romper la rutina de control ENDSEM Esta rutina de nuevo a imprimir el n mero de secciones de para este semestre b restablecer las secciones contador a cero y c la fuerza para el pr ximo semestre una nueva p gina ENDSEM EQU ST R10 SVENDSEM MVC OREC 40 BLANKS This area used several ways BAL R10 WRITE Skip a line MVC 6 25 Sem XXX BZZ9 sections 229 10 2 SINGLAH WVED CONQROUIBRRHNKLALDOGIGA DE CONTROL DE MVC OREC 14 3 HOLDSEM MVC OREC 18 4 X 40202120 ED OREC 18 4 SEM BAL R10 WRITE MVC OREC 40 BLANKS ZAP SE
10. KOR K KOR KOR KA KK search CHKSEM HOLDSEM vs ISEM to ENDSEM IDEPT SVCHKSEM 239a CHKDEPT Check for change in department minor control break search CHKDEPT HOLDDEPT vs IDEPT ENDDEPT SVCHKDEP 239b AR ok FKK K KOR KOR ok K FK KOK KOR FK FK K K FK KOR FK R ok OR ENDSEM End semester Process major control break Show count of sections for this semester Force next semester to another page sk sk sk ok 5k ok ke ok ke PK 5k joke sk ok ak ak 5k 9k OR FOR R PR OR OK R K ENDSEM EQU ST R10 SVENDSEM BAL R10 ENDDEPT Change in semester implies change in department as well MVC OREC 40 BLANKS This area used several ways MVC 6 25 Sem BZZ9 sections MVC OREC 14 3 HOLDSEM MVC OREC 18 4 X 40202120 ED OREC 18 4 SEM BAL R10 WRITE MVC OREC 40 BLANKS ZAP SEM P 0 Reset counter ZAP LNS MAXLNS Force next sem to new page 243 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE L R10 SVENDSEM BR R10 YK k ok ok 5k sk ok sk kk I 3k 3k 3K ak ak K ak ak 3k 3k I I I 3K ak ak I I IK 3K 3K 3K KOR K K KOR ACA AC AK kk K KK K K ENDDEPT End department Process minor
11. KOR KOR KOR kkk k kkk kkk kkk K INVENTRY DCB LRECL 41 RECFM F MACRF G EODAD ATEND DDNAME COGS DAT REPORT DCB LRECL 67 RECFM F MACRF P DDNAME REPORT TXT et et oy RETURN ADDRESSES SECT kkk K search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 gt K gt K gt lt gt x gt x K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K OR R R R OR Miscellaneous field definitions BE ACC kkk kkk kkk kkk kk k k kkk k kk kkk k kkk k kkk k kk kk k k WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N BLANKS DC CL67 gt WCALIF DC PL2 0 Units sold in Calif WILL DC PL2 0 Units sold in Illinois WUTAH DC PL2 0 Units sold in Utah WWISC DC PL2 0 Units sold in Wisconsin WTOTAL DC PL2 0 Units sold in all states WBEGIN DC PL2 0 Beginning inventory WPURCH DC PL2 0 Purchases WENDING DC PL2 0 Ending inventory expected WQOH DC PL2 0 Ending inventory actual WDIFF DC PL2 0 Difference DC PL2 0 Input record count ROVER DC PL2 0 Records showing overage SHORT DC PL2 0 Records showing shortage gt K ok sk ok ok 5k 5k o
12. Output line definition YK sk k sk sk sk ok sk kok KKR KOR K OREC DS OCL62 OTID DS CL3 Teacher ID nbr DC CL3 OTNAME DS CL15 Teacher name DC OTDEG DS CL4 Highest degree DC CL3 OTTEN DS CL1 Tenured 189 8 2 INCLUYENDO EL NUMERO DE PAGINA EN LAS LINEAS DE CAPITULO 8 LOGICA DE SALTO DE PAGINA DEFINICION HD3 DS HD4 OTPHONE DS OCRLF FORMFEED HD1 HDPGS HD2 OCL6 DC DC DC DS DC DC DC END DC CL3 CLA DC CL21 DS CL2 Headings definitions DS OCL62 DC X 0C DC CL59 gt DC X 0D25 DS OCL62 DC CL40 DC CL3 DC CL17 DC XL2 0D25 DS OCL62 DC CL60 gt DC XL2 0D25 2 CL40 IDH CL20 gt XL2 0D25 OCL62 CL40 CL20 gt XL2 0D25 BEGIN Name 190 Phone nbr PC 370 only CR LF PC 370 only EBCDIC formfeed EBCDIC CR LF LIST OF TEACHERS Page Degr Ten Phone 8 3 EJERCICIOS CAPITULO 8 LOGICA DE SALTO DE PAGINA La ejecuci n y salida se muestran tambi n Mensajes de la OMC son uti lizadas como antes para indicar la progreso del programa y para recordar a los usuarios d nde encontrar la salida De comandos de DOS TIPO utiliza para ver la salida Tenga en cuenta que un car cter de avance de p gina cuando se muestra con el comando TYPE aparece como una hembra s mbolo El co
13. 2k ak 2k k 2K 3K 2k 3k 2k ak eS 2K 2K R K Output line definition aE R KOK KOR KOR KOR oo OCL62 CL10 CL4 CL4 CL5 CL4 CL5 CL4 CL5 CL4 CL5 CL4 CL6 CL2 1 62 1 10 11 14 15 18 19 23 24 27 28 32 33 36 37 41 42 45 46 50 51 54 55 60 61 62 Headings definitions BECO OOO CAG I OKI A kk kk 4 1 1 kk kkk kk kk kkk k K kk k R R K DS DC DC DC DS DC DC DC DS DC DC DS DC DC DC DS DC DC DC END OCL62 CL40 CL20 XL2 0D25 OCL62 CL40 CL20 XL2 0D25 OCL62 CL60 gt XL2 0D25 OCL62 CL40 Product CL20 Wisc XL2 0D25 OCL62 XL2 0D25 BEGIN 210 Product description Units Units Units Units Units sold in Calif Sold in Illinois Sold in Utah Sold in Wisconsin Sold in all states PC 370 only CR LF oook k COGSWORTH INDUSTRIES gt Calif TOTAL Sales Recap 111 Utah 211 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR A MIN gt cogs9a C0GS94 Begin execution COGS9A Sales recap on REPORT TXT C0GS94 Normal end of program A MIN gt type report txt COGSWORTH INDUSTRIES Sales Recap Product Calif Ill Utah Wisc TOTAL GIZMOS 20 30 20 20 90 WIDGETS 15 10 10 2 37 JUNQUE 25 15 15 18 73 3 records processed Informes Dind n Revisited las discrepancias Informe de Inventario El nuevo informe de discrepancias de
14. 228 10 3 Single Level Control Break Program Solution 232 10 4 Romper el control de nivel m ltiple Problema de programaci n 237 10 4 1 Romper el control de nivel m ltiple L gica 237 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 es A A A 241 10 4 4 Totales Rolling oo oa coca rearea o 0 000 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 10 6 EJOLCICIOS nous te S RR RES Da a a es 255 11 M s de una entrada de archivo 258 11 1 Clasificaci n de los archivos de entrada 259 11 2 La estructura de la l nea principal 260 11 3 La rutina de instalaci n 261 11 4 Las r tinas del BA uote Na 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 2 9 o e aa 265 11 6 1 La salida del 266 11 7 Programa de Soluci n 266 112 BJetCiClO8 x a Gea Da ede gode dta 273 INDICE GENERAL INDICE GENERAL 12 cuencial del archivo de actualizaci n 276 12 1 La estructura de la l nea prin
15. K K K FK K KK FK FK K K K FK FK K K FK FK K FKK FK FK K FKK FK FK FK FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K START 0 REGS BEGIN BEGIN WTO OFFER10D Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO OFFER10D Normal end of program RETURN FAA I 3k 3k 3K ak aK ak ak ak I 3K 3K 3K aK I OR I Ik 3K R 21 3K K KOR A ACA ACH 3K 3K 2k 24 KK K K SETUP Those things which happen one time only before any records are processed FKK KK gt lt RR KOR FK R R R OR R OR SETUP EQU ST R10 SVSETUP OI OFFER 10 X 08 PC 370 ONLY Convert all 249 REMARKS Produce list of course offerings for all semesters Includes page break logic X X X x 10 5 INFODPAH TIRHSUMIDQUIPBRBIIIWIADIOPHOGIDKMIGNG ONOL DE 0I REPORT 10 X 08 OPEN OFFER OPEN REPORT BAL R10 READ MVC HOLDSEM ISEM MVC HOLDDEPT IDEPT L R10 SVSETUP BR R10 input from ASCII to EBCDIC PC 370 ONLY Convert all output from EBCDIC to ASCII Major control break Minor control break FKK KK gt lt ok ok FKK K KOR KOR K ok ok ook KOR KOR FK K OK KOR FK ok K HDGS Print headings OK
16. CH R4 MAXROWS BNL LOADTBL4 MVC 0 5 R3 CCID MVC 5 15 R3 CCDESC PACK 20 1 R3 CCHRS 396 PC 370 ONLY Convert all input from ASCII to EBCDIC Point to start of table Initialize row count to zero Read single course record At end Yes Load complete Sequence check Fatal error Save course ID for seq check Table full already Yes Fatal error Move course ID nbr course description and course hours to row 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO LA R3 L TABLE R3 Point to next row LA R4 1 R4 Increment row count B LOADTBL2 Repeat LOADTBL3 EQU WTO TRANSCR2 Course file not sequenced by CID B RETURN LOADTBL4 EQU WTO gt TRANSCR2 Nbr of courses exceeds table size B RETURN LOADTBLX EQU STH R4 ROWS CLOSE COURSE L R10 SVLOAD BR R10 BEA ok 5k 5k ok k kkk ok ok PK k ok I kk k a k kk k a I k k kkk k k k akk k ak akk k ak HDGS Print headings BEA ACA k ok kkk ok ok kkk k k kk k k kk k k k kk k k kkk k k k akk k ak KOR k K K kk K R k kK K k HDGS EQU ST R10 SVHDGS MVC HDSID SSID Move student ID to first hdg MVC HDSNAME SSNAME Move student name to first hdg PUT REPORT FORMFEED PC 370 ONLY PUT J REPORT HD1 PUT J REPORT HD2 PUT J REPORT HD3 PUT REPORT HD4 L R10 SVHDGS BR R10 BEA AAA OR Rok 9k 9k 9k A A A A I I I I kk 21 24 24 2k OR k k 2k 2k 2k 2k 2k 2k OR kk PROCESS Those things which happen onc
17. 443 1729 ECL CICIOS AS A So ral al bd 445 18 Indices 448 Introduccion En el verano de 1992 mi escuela hizo lo que tantas escuelas estaban hacien do quitaron sus computadoras centrales Puedo entender totalmente sus razones para hacerlo todos los tr mites administrativos hab an sido trasladado a otra plataforma y esta m quina se manten a exclusivamente para nuestras clases de programaci n en ENSAMBLADOR y en COBOL avanzado Simplemente no era costo efectivo el mantener la m quina No obstante me comprometi a seguir en se ando programaci n de ENSAMBLADOR para MAINFRAMES Pero ahora parece como si estuviera sin un medio para hacerlo Varios a os antes hab a o do hablar de PC 370 un programa shareware que permite al usuario escribir y ejecutar c digo en ensamblador de MAINFRAME en la PC Esc ptico lo intent Y me encant Las diferencias entre el ENSAM BLADOR de MAINFRAME y PC 370 son triviales PC 370 tiene la apariencia de la computadora central Ni siquiera necesita una PC especial para ejecutar 370 cada programa en este libro fue escrito en un Compaq 286LTE utilizando DOS 3 4 He utilizado PC 370 en mis clases de ensamblador en la escuela y en la industria desde entonces y nunca me ha decepcionado El nico problema que ten a era la falta de un libro de texto para apoyar la ense anza usando PC 370 Ese fue el impulso original para escribir este libro Pero yo quer a que este libro fuese algo m
18. 9 99 9 99 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR A MIN gt edits9 SEE PAGE 9 3 123456 123456 SEE PAGE 9 4 0 SEE PAGE 9 5 1234 56 00 0 00 SEE PAGE 9 6 1 234 56 1 23 1 23 SEE PAGE 9 7 1 23 1 23 SEE PAGE 9 8 1 23 1 23CR 1 23 1 23DB 1 234 56 0 00 ALL DONE 9 2 Informes Dind n Revisited La Cr nica de Ventas Volvemos ahora a los problemas de programaci n que motivaron esta discusi n Ventas de Dind n Recapitulaci n y discrepancias de inventario informes El dise o de impresi n siguientes para la Cr nica de ventas ha sido modi ficado para utilizar la salida de editado Recuerde que de un campo de dise o de BZZ9 corresponde a una m scara de X 40202120 Estos campos importe anteriormente define como tres bytes de longitud Ahora son cuatro bytes de longitud por lo que la definici n de registro de salida deber ser modificado en consecuencia 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 COGSWORTH INDUSTRIES Sales Recap Product Calif 111 Utah Wisc TOTAL 205 206 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR XXXXXXXXXX BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 XXXXXXXXXX BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 XXXXXXXXXX BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 records processed Anteriormente hemos utilizado MVC s lo para mover las ventas por el Estado a sus respectivos campos de salida Nosotros Bolsas de
19. 5 DISCOUNT equals ED SALE PK3 SALE PRICE intenta Teniendo en cuenta X DC PL3 456 Y DC PL4 2345 1 8 Demostrar que SRP X 2 0 da X 45600C 2 9 Demostrar que SRP Y 3 0 da X 2345000C 10 Mostrar X despu s de SRP X 63 0 11 Mostrar Y despu s de SRP Y 64 2 0 12 Mostrar X despu s de SRP X 62 0 13 Mostrar X despu s de SRP X 62 5 14 Mostrar Y despu s de SRP Y 64 3 0 90 mb UB 5 15 Mostrar despu s de SRP Y 64 3 5 319 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL 13 4 Muestra del Programa Contribuci n de Cal ifornia a las ventas de Haremos uso de la instrucci n de SRP en nuestro pr ximo programa que es producir un informe que muestra el porcentaje de las ventas por producto para California es decir la contribuci n de California a un total de ventas El informe aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 COGSWORTH INDUSTRIES California s Contribution to Sales Nationwide California Percent of Product Sales Sales National XXXXXXXXXX BZZ9 BZZ9 779 XXXXXXXXXX BZZ9 BZZ9 BZZ9 XXXXXXXXXX BZZ9 BZZ9 BZZ9 TOTALS BZZ9 BZZ9 BZZ9 7 Con el fin de determinar el porcentaje de las ventas por producto para California dividimos las ventas de California total nacional de ventas Ahora analizaremos la brecha Bolsas de instrucci n en gen
20. WRITE EQU ST R10 SVWRITE PUT REPORT RREC Write report line AP LNS P 1 L R10 SVWRITE BR R10 a kkk kk k k ak kk akk kk k k 3k akk k k ak k 2K 3K 2k 3k 2k ak k R OR KOR ROROROROROROR OR OR 2K R K WRAPUP Those things which happen one time only after all records have been processed FKK KK KK K FK K K K FK K KK FK FK K FK R ok ok K K FK FK K FKK FK FK K K FKK K FK FK OK FK oe K FK FK ok FK ok FK FK FK KOR KOR FK R ok OR WRAPUP EQU ST R10 SVWRAP At this point we know that at least one of the input files is at EOF Process other file as unmatched until at EOF also WRAPUP2 EQU CLI EOFOFFER C Y BE WRAPUP3 BAL R10 OFFERLOW B WRAPUP2 WRAPUP3 EQU CLI EOFTEACH C Y BE WRAPUP4 BAL R10 TEACHLOW B WRAPUP3 WRAPUP4 EQU CLOSE TEACHERS CLOSE OFFER CLOSE REPORT WTO gt 11 Teacher list on REPORT TXT L R10 SVWRAP BR R10 BEC 5k R oR ok 9k Pk ok ok 5k R ok 9k 5k oR 9k 9k OAR I I CK AK a I ICI OK I A kkk KOR R k K kk k R kkk k kkk k K Literals if any will go here gt K 5k sk 5k sk ok ok k kkk ok ok PK k ok ok kk k k A AI k k k k oA k K KOR R LTORG gt lt gt K gt lt x gt gt lt gt ok KK FK FK K K K FK FK K K FK FK K FKK FK FK K File definitions
21. ser n los siguientes MVI B 2 Y B ser n 3 Mostrar c mo se compara podr a ser utilizado para hacer las siguientes declaraciones m s significativas a MVI SEXO B CM MVI DAYOFWK Domingo C 1 MVI SEXO MVI C F DAYOFWK de lunes C 2 MVI DAYOFWK s bado C 7 4 Utilizando los ejemplos dados en este cap tulo MOVE2A MLC MOVE2B MLC MOVE2C MLC y MOVE2D MLC escribir y ejecutar cuatro programas de BAL para demostrar los diferentes m todos de por el que se podr a completar los movimientos descritos en el Ejemplo 2 Una seguridad social n mero almacenado como XXXXXXXXX se va a imprimir como XXX XX XXXX Mire el resultado PRN archivos Discutir las diferen cias y similitudes en t rminos de facilidad de codificaci n el tiempo de ejecuci n uso de memoria y el mantenimiento 5 En el marketing directo tambi n conocido como correo no deseado una tarea com n es la fusi n purga En el combinar purgar varias listas como las listas de correo de las casas de diferente orden y la lista de 70 2 5 2 DEFINICI N Y MOVIMIENTO DE CAR CTERES correo los corredores se combinan y los duplicados se quitan con el fin de reducir al m nimo la impresi n y gastos de env o costes Con el fin de identificar los duplicados un c digo de partido suele ser generado Hay muchos formas de generar un c digo de partido Por ejemplo el c digo de partido puede consistir en la cr
22. WPPGR PK7 is V99 MP WFICA 7 Now PK7 is V999999 SRP 64 4 5 Now PK7 is back to V99 rounded ZAP WPPFICA PK7 This is pay period FICA amount unless it puts us over the cap Vamos a llamar a la segunda cantidad la diferencia entre el limite monetario FICA y el A o a fecha de las retenciones FICA WMAXFICA definido como WMAXFICA DS PL4 Cubierta para el actual per odo de pago FICA W H V99 Este campo se defini como PL4 por lo que podr a celebrar WFICA que es necesaria para el c lculo La tapa del FICA y las cantidades YTD son V99 por lo que s lo resta ZAP WMAXFICA WFICA Max this period is yearly max SP WMAXFICA WYTDFICA less what has already been withheld Ahora determinar la menor de estas dos cantidades WPPFICA y WMAXFICA como sigue WPPFICA WMAXFICA Over the cap BL SKIP No use percent of gross ZAP WPPFICA WMAXFICA Yes use what remains of the cap SKIP EQU UNPK OPPFICA WPPFICA Move pay period FICA to output MVZ OPPFICA L OPPFICA 1 1 X FO Remove sign Por ltimo la actualizaci n de a o hasta la fecha de las retenciones FICA AP WYTDFICA WPPFICA Add pay period FICA to YTD FICA UNPK OYTDFICA WYTDFICA Move new YTD FICA amount to output MVZ OYTDFICA L OYTDFICA 1 1 X FO Remove sign Y hemos terminado 335 13 7 EJERCUAB TULO 13 M S BOLSAS DE ARITM TICA DECIMAL 13 7 Ejercicios 1 1 Verdadero o falso Dado A PL5 2000 DC DC PL2
23. 05 PIC X 5 VALUE ABCDE 05 3 VALUE FGH 05 PIC X 4 VALUE IJKL En COBOL si el campo de recepci n es m s corto que el campo de origen se trunca la mudanza Para ejemplo de MOVE FLDA a los resultados de FLDB en un valor de en FLDB con de truncarse En el Por otra parte si el campo de recepci n es m s largo que el campo de origen el campo de recepci n se rellena con espacios en blanco Por ejemplo mueva FLDB a los resultados de FLDA en un valor de FGHbb en FLDA b se utilizan todo para indicar un blanco La huelga a trav s de se usa para distinguir un espacio en blanco de un b min scula Ahora vamos a intentar el equivalente BAL de los movimientos de COBOL anterior Para mover FLDA a FLDB nos C digo MVC FLDB FLDA En BAL la instrucci n o la operaci n debe comenzar en alg n lugar despu s de la columna uno Recordemos que la columna uno es para comentarios y etiquetas La operaci n por lo general comienza en la columna de diez en la convenci n En menos un espacio en blanco debe separar la instrucci n de sus par metros o operandos Los operandos por lo general comienzan en diecis is columna por convenci n Operandos de m ltiples se separan por comas sin espacios en blanco Opcionalmente los comentarios pueden ser puestos en el resto de la l nea por lo menos un espacio en blanco debe separar el operando ultima de los comentarios 38 2 1
24. RETURN ADDRESSES lt 2K 2K lt 2K 2K gt ok ok ok K K K K ok oko ok ok ok ok ok ale ok K K ok K K ok ok ale K ok K K X X FK K ok ok oko ok ale K K ale ode K K K K X K K K K ale SVSETUP DC F 0 SETUP SVPROC DC PO PROCESS SVREAD DC PO READ SVWRAP 0 PO WRAPUP ett et ett et EE E eT eT Te Tee Te kk kk kk kk kk K kkk kk Kk KK Miscellaneous field definitions SOR RRR add OR R EOFSW DC CL1 N End of file Y N WCALIF DC PL2 0 Units sold in Calif WILL DC PL2 0 Units sold in Illinois WUTAH DC PL2 0 Units sold in Utah WWISC DC PL2 0 Units sold in Wisconsin WTOTAL DC PL2 0 Units sold in all states Sell for each 999V99 Nationwide dollar sales WSELL DC PL3 0 WDOLLARS DC PL4 0 PK5 DC PL5 0 316 13 3 REDONTARDICON SBP M S BOLSAS DE ARITM TICA DECIMAL gt lt gt K gt lt x KK K ok gt K K gt K FK K KK Rda R R R OR Input record definition ok sk sk ok ok kkk kkk kk k kk kk k k KOR R K kkk k k k kK k k IREC DS OCL41 1 41 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS CL3 11 13 Units sold in Calif IILL DS CL3 14 16 Units sold in Illinois IUTAH DS CL3 17 19 Units sold in Utah IWISC DS CL3 20 22 Units sold in Wisconsin IBEGIN DS CL3 23 25 Beginning inventory IPURCH ODS CL3 26 28 Purchases throughout year IQOH DS CL3 29 31 Actual quantity on hand ICOST DS CL4 32 35 Cost each 99V99 ISELL DS CL4 36 39 Se
25. X 4E5E B 0100111001011110 result B 1101011111011001 X D7D9 C PR Vemos el resultado RP es el valor original Ejemplo 10 Si tiene un valor FLDA DS CL1 710110110 y tiene un valor FLDB DS CL1 X 11010010 gives FLDA X 01100100 XC FLDA FLDB using the new FLDA XC FLDB FLDA gives FLDB X 10110110 using the new FLDB XC FLDA FLDB gives FLDA X 11010010 Pero tenga en cuenta FLDA ahora es igual a la original FLDB y FLDB ahora es igual a la original FLDA As Ejemplo 10 ilustra c mo se puede utilizar la instrucci n de XC de swap de la los valores en dos campos Los dos campos deben ser del mismo tama o intenta 1 12 Teniendo en cuenta WK2 DC CL2 HS XC el WK2 campo con los caracteres Z dos veces Mostrar el resultado despu s de cada uno de XC 2 13 Dado CL2 PJ DC y B DC CL2 B4 Utilice la instrucci n XC para intercambiar A y B Mostrar todos los resultados intermedios 3 14 Dada X DC CL2 R2 Determinar los resultados de XC X X Qu puede concluir 17 4 Manipulaci n de los registros El SLL y SRL Instrucciones de El SLL Shift l gico de izquierda y SRL Shift l gico a la derecha las instrucciones son similares a la SRP Shift Bolsas y Ronda la instrucci n salvo que mientras que la instrucci n cambi los d gitos de un pic nic n mero a la izquierda oa la derecha estas instrucciones de desplazamiento los bits en un registro a la
26. Adici n de romper la l gica de control para un programa requerir un cambio en el informe de F T DCB Los cambios en los campos de la ruptura de control son revisados antes de formato del informe l nea de detalle para el registro actual Romper la l gica de control puede ser utilizado en los informes re sumidos as como en los informes de los detalles F T Un contador de l nea separada es necesaria para cada nivel de proce samiento de control de descanso F T 2 Consulte la base de datos Small Town Hardware Store en m s conjuntos de datos Elaborar una lista de las herramientas encontradas en cada kit Permita que 10 l neas por p gina Su resultado deber a aparecer como siguiente 1 2 3 4 1234567890123456789012345678901234567890 255 10 6 EJERCIC OSLO 10 QUIEBRE DE LA L GICA DE CONTROL DE SMALL TOWN HARDWARE Page BZZ9 Kit ID Tool ID XXX XXX XXX XXX XXX XXX XXX El kit de identificaci n deben imprimirse la primera l nea para que el kit y en la primera l nea de una p gina si esa lista debe kit de un periodo de duraci n de p gina Doble espacio entre los equipos 3 Consulte la base de datos Small Town Banco de Sangre en m s conjuntos de datos Uso de la donaci n de archivo presentar un resumen de la historia del grupo de la siguiente manera 1 2 3 123456789012345678901234567890 SMALL TOWN BLOOD BANK Number of Group ID Donations XXX BZZ9 XXX BZZ9 XXX BZZ9 Total
27. HDGS EQU ST AP MVC ED PUT MVC PUT PUT PUT PUT PUT ZAP L BR R10 SVHDGS PGS P 1 Add 1 to page count HDPGS X 40202120 Edit pattern for page count HDPGS PGS REPORT FORMFEED HDSEM HOLDSEM REPORT HD1 REPORT HD2 REPORT HD3 REPORT HD4 REPORT HD5 LNS P 0 R10 SVHDGS R10 Move page count to heading PC 370 ONLY Reset line count to zero FKK KK gt lt gt lt K ok K K gt K FK K KK FK FK K K R FK FK K K KR X K FKK K K R K KR FK K R K FK XR KOR FK KOR KOK KOR KOR FK KOR KOR FK R R K R KK PROCESS Those things which happen once per record I CICA A oR ok CA kkk k ok ok kkk k k kk k k k kk k k k akk k K KOR R KOR KOR K K k kK R K PROCESS EQU ST BAL BAL AP AP BAL L BR R10 SVPROC R10 CHKSEM R10 CHKDEPT SEM P 1 DEPT P 1 R10 READ R10 SVPROC R10 See if new semester See if new department Count be semester Count by semester dept No detail level reporting Removed BAL to FORMAT and WRITE gt lt gt K gt gt lt gt K gt K k K KK FK FK K K R K FK K K R FK K FKK FK KOR K READ Read a record I KOK kk Kk k R EQU 250 10 5 INFODPAH IRHSUMIDQUIPBRBIIDIWIAADIOPHOGIDKMIGNG NOL DE ST R10 SVREAD GET OFFER IREC Read a single offer record READX
28. XL2 0D25 BEGIN Dept 254 Sections COURSE OFFERINGS PageBZZ9 PC 370 only EBCDIC formfeed For testing EBCDIC CR LF Page Semester Sections 10 6 EJERCIC OSLO 10 QUIEBRE DE LA L GICA DE CONTROL DE 10 6 Ejercicios 1 1 Verdadero o falso a En el procesamiento de romper el control el campo de romper el control s se inicializan en el SETUP F T antes de la imprimaci n leer Cuando se rompe el control de m ltiples niveles se utilizan la ruptura de control de los campos se F T evaluados menores antes de los principales Cuando se rompe el control de m ltiples niveles se utilizan una im portante ruptura implica un menor de edad F T romper d En lugar de los contadores de incremento en todos los niveles dentro del proceso los totales de los principales F T se puede rodar en los totales de menor importancia Cuando un periodo de control se detecta contadores o los totales se deshacen antes de que se F T cero M ltiples control de procesamiento a nivel de ruptura requiere dos campos implican para cada nivel F T Una t cnica simple para forzar un salto de p gina en el procesamiento de control de descanso es F T establecer la p gina contra el m ximo permitido Adici n de romper la l gica de control para un programa requerir un cambio en la F T la l nea principal Adici n de romper la l gica de control para un programa requerir un cambio en la F T Rutina Wrapup
29. 00008a D201D095D08E 00A5 009 23 MVC A 000090 92F9D097 00 7 24 MVI E C 9 000094 00000094 25 F EQU El segundo byte es el valor de inmediato En el caso de la MVI y las instrucciones de la CLI el valor que ser movido o comparaci n es en realidad una parte de la instrucci n Por ejemplo en la l nea 18 que queremos mover un 1 campo E El EBCDIC equaivalent a un 71 es el decimal 241 o F1 hexadecimal y se puede ver de que la F1 es parte de la instrucci n inmediatamente despu s del c digo de operaci n de 92 a os Del mismo modo en la l nea 21 queremos comprobar si el primer byte del campo es la letra D El equivalente EBCDIC a una D es 196 decimal hexadecimal o C4 y se puede ver que el C4 es parte de la instrucci n inmediatamente despu s de la el c digo de operaci n de 95 La siguiente parte la base y el desplazamiento es un poco m s confuso pero es algo que debe entender si va a tener xito con el lenguaje ensamblador La media palabra siguiente de la la instrucci n indica la direcci n del primer operando el campo de destino o en comparaci n con el Dentro de estos dos bytes el primer byte que es s lo cuatro bits o un d gito hexadecimal indica 133 6 2 EL FORMMIR THLINBTRQUEIDSNISSTA COSA DE LA IZQUIERDA que la base de registro Recuerde que en nuestro an lisis de los n meros binarios de cuatro bits que podria oscilar en el valor de 0 0000 todos los bits apagados a 15
30. 06514 Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO gt 06514 Normal end of program RETURN YK k ok ok sk sk sk sk ok 9k I 9k 9k IORI 9k 9k 9k A 3K 3K ICI ICICI Ik 3K 3K 21 3K K K K KOR K K K AI OR K OR KR K K SETUP Those things which happen one time only before any records are processed gt K k ok ok sk sk AGO k ak ak ak 3k 3k 3k 3k 3K k aK aK ak ak 3K 3K 3K 3K I I 3K 3K ak I I I Ik 3K 2k 3K 3K K K K KOR OR OROROROR OR 21 K 24 2 K K EQU ST R10 SVSETUP 01 INVENTRY 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OPEN INVENTRY OPEN BINARY NOTE Output in EBCDIC BAL R10 READ L R10 SVSETUP BR R10 gt lt gt K ok K K ok ok K KK FK FK K FK K FK K K K FK FK K FKK FK FK K ok ok ok oe K KOR KOR FK ok FK KOK ok ok OK FK OK OK KOR FK RO R KOK OR PROCESS Those things which happen once per record Ad K K ke ok ok PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 SER RRR I kk kk OR kk K K READ Read a record 353 14 6 MUESTRA DEL PROGRAMA DATOS DINDON CONVERTIR A CAPITULO 14 BINARY ARITHMETIC BINARIO gt K gt K KK KK gt K K gt K FK K KK FK search read INVENTRY into IREC EOFSW SVREAD
31. 121 5 3 EL EBCDIC Y ASCOAMRAICOLARHIR PSESHACHONIAB DATOS A 65 G 71 M 77 S 83 Y 89 4 52 B 66 H Estos c digos de determinar la secuencia de clasificaci n o la secuencia de clasi ficaci n de los personajes Tenga en cuenta que cuando se utiliza EBCDIC cartas vienen antes de los n meros mientras que en ASCII n meros vienen antes de las letras Del mismo modo cuando se utiliza EBCDIC min sculas antes de venir letras may sculas mientras que en ASCII letras may sculas vienen antes de mintsculas 5 3 1 Decimal a binario de conversi n Para convertir un n mero decimal a su equivalente binario restar la mayor potencia de dos que se inferior o igual al n mero Contin e hasta que la diferencia es igual a cero Los poderes de dos que se restaron ser de 1 en el n mero binario Todos los d gitos de otros ser 0 Para ejemplo 55 32 2 5 gt el quinto d gito es 1 Otro ejemplo 200 128 2 7 gt el s ptimo d gito es 1 Tenga en cuenta que las referencias a la colocaci n de dos d gitos son relativos a cero que es quinto d gito es en realidad el sexto d gito de la derecha Usted probarlo 4 2010 2 2 bo 8610 2 6 14610 2 El sistema num rico hexadecimal Trabajar con n meros binarios puede ser muy tedioso los n meros son largas y son propensos a errores El hexadecimal o base 16 sistema de numeraci n se utiliza com nmente en lugar de n meros binarios As co
32. 157 COGS7A MLC 157 PRINT NOGEN K k ok k ok ok sk ok ok OO k k k kk k k kk k k k kk k k k Ok I I I ICICI I IK 3k 3k 2k KK K R K KOR K K AC K 3K OR K KK K K FILENAME COGS7A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce report for COGSWORTH INDUSTRIES showing sales by state YK ok ok ok ok ok k k kk k k k k ak ak ak ak ak 3k 3K 3k 3K ak ak ak ak ak 3k 3K 3k I I 3K 3K ak I I Ik 3K 3K 3K KOR K K K KOR A A K K 3K OR K KK K K START 0 REGS BEGIN BEGIN WTO gt 0657 Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO gt 0657 Normal end of program RETURN ok 3k sk ok 5k ok ok ke ak ke ee R K SETUP Those things which happen one time only before any records are processed gt K gt K gt lt gt lt KK gt x ok dd K FK K KOR K ok ok FK K ok K FK FK FK ok ok KOK FK ok R FK FK K OK R K 3K OR OR search setup ascii INVENTRY and REPORT HDGS prime READ SVSETUP return 206 gt lt gt K gt lt gt lt KK FK FK K KK ok ok OE FK FK R KOR FK ok ok HDGS Print headings BEE ok sk PK oR oo ok 9k 5k oR 9k IORI kkk kkk k R kk k kk kk kk kk k K HDGS EQU 157 7 8 EJEMPLO DE PROGRAMACION LA PRODUCCION DE LA CR NICA DE VEN ASITULO 7 BOLSAS DE ARITM TICA DECIMAL
33. 39 Mostrar la representaci n hexadecimal de D Mostrar por qu D no es v lido n mero decimal en zonas Una vez m s los bits de la zona de determinar el signo m s a la derecha el F son redundantes Cuando un n mero es envasado estos bits de extrazona son eliminados y los bits de la zona de la derecha s lo se mantienen Para ejemplo puede empacar X FOF2F5 en X 025F Desde que se eliminan los bits de extrazona cuando un el n mero est lleno el n mero de pic nic ocupa menos espacio excepto en el caso de un decimal por zonas n mero de longitud 1 y 2 que a n ocupan la misma cantidad de espacio 1 y 2 bytes respectivamente Considere los siguientes ejemplos Nos puede embalar el n mero 1 sin firmar que ocupa un byte y se representa como X F1 en un byte con un valor de Nos puede embalar el n mero 12 que ocupa dos bytes y se representa como X F1C2 en de dos bytes con un valor de X 012C Nos puede embalar el n mero 123 que ocupa tres bytes y se representa como X F1F2D3 en dos bytes con un valor de X 123D Nos puede embalar el n mero 1234 sin firma que ocupa cuatro bytes y se representa como X F1F2F3F4 en tres bytes con un valor de X 01234F Nos puede embalar el n mero 12 345 que ocupa cinco bytes y se representa como X F1F2F3F4C5 en tres bytes con un valor de X 12345C Podemos resumir la cantidad de espacio ocupado de la siguiente manera requiere de
34. Con la MVI el cambio es siempre para un per odo de uno independiente mente de la duraci n de la recepci n de campo Recuerde que con MVC el movimiento es siempre determinada por la longitud de la recepci n de de campo Con la MVI puede mover 52 DC DS DC DC DS DS DS DS END MVC MVC MVC CL1 OCL7 555 CL4 121 OCL8 CL3 CL1 CL4 BEGIN OPFX IF OHYPHE OLINE 1 Literals if any will g LTORG CL1 Other field definitior DS DC DC DS DS DS DS END OCL7 CL3 555 CL4 121 OCL8 CL3 CL1 CL4 BEGIN 2 2 DEEINIETWINMIOV HBREEINIXBIAINSS CAR CTERES un literal solamente Por ejemplo yo no pod a utilizar la MVI para mover la r gimen de tenencia maestro para el rea de salida a pesar de que el campo se define como un byte en el de longitud La instrucci n es equivalente MVI MVI OHYPHEN C gt gt Tenga en cuenta que un signo de igual no se utiliza con MVI Considerando que con la instrucci n de MVC el signo igual era necesario con la instrucci n MVI el signo de igual no est permitido El uso de la instrucci n de la MVI se ilustra en el siguiente programa MOVE2C MLC ff 40 448b 56b PRINT NOGEN lt ok ok 2K K ok ok K ok ok ok 2K ok ok ok 2K 2K ok ok 2K 2K 2K 2K 2K 2K K x x 2K 2K K x X X K K X X K K X X K K K K K K K K K K K K ak K K K K K ale K FILENAME MOVE2C MLC AUTHOR Bill Qualls SYS
35. D 210 Binario despu s de que se convierte en LH R4 D 1111 1111 1111 1111 1111 1111 1110 DO 346 1111 14 2 MOVER UN REGISTRO A UNBIFULDV R BINARY AWORIMETIC 0000 0000 0000 1111 1111 1111 1110 0000 R4 binario 32766 10 Tenga mucho cuidado que se utiliza para cargar una L fullword y LH para cargar una media palabra Si no lo hace se no causa una excepci n decimal 50 7 pero sin duda dar resultados err neos Por ejemplo si y D se ha definido que el anterior y en ese orden y si hubiera uso L en lugar de LH para poner en C registro 3 que registr en ese momento deber a contener 0000 0000 0000 0010 1111 1111 1111 1110 Binary R3 196606 10 Cabe se alar que cualquier combinaci n de bits es un n mero binario v lido Por lo tanto a diferencia de Bolsas de aritm tica decimal la aritm tica binaria nunca se produce un abend excepci n de datos 50 7 Esto no significa que la matem tica binaria deben tener prioridad sobre las matem ticas decimal empaquetado Como acabamos de muestra todav a puede cometer un error al tratar campos binarios de forma incorrecta El resultado es errores sin previo aviso Al menos las operaciones decimal empaquetado advertir por desagradable que la alerta puede ser que se han utilizado los datos no num ricos Para completar podemos mencionar aqu que el registro de instrucciones de carga LR copia el valor de una registro el segundo operando a otro re
36. ENDSEM End semester Process control break Show count of sections for this semester Force next semester to another page Yc 3k 3k kkk kk PK k 5k akk sk ok k k R kk 3K 2k 9k 2k ke k k KOR KOR eS gt K K OR K ENDSEM EQU ST R10 SVENDSEM 233 10 3 SINGTAH EVED CONQEDIBREHAKT APR GICAMDEOTONTROL DE MVC OREC 40 BLANKS This area used several ways BAL R10 WRITE Skip a line MVC 6 25 Sem XXX BZZ9 sections MVC 14 3 HOLDSEM MVC OREC 18 4 X 40202120 ED OREC 18 4 SEM BAL R10 WRITE MVC OREC 40 BLANKS ZAP SEM P 0 Reset counter ZAP LNS MAXLNS Force next sem to new page L R10 SVENDSEM BR R10 CHKLNS Check lines printed Full page I kk 21 1 21 24 24 24 R 24 kkk 2k 2k 2k 2k 2k OK OR R search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 BAA AAA R RO 9k 9k 9k A A A A I I I I 2k 1 FORMAT Format a single detail line SEA AAA R Rok 9k ARR A A A A FORMAT EQU ST R10 SVFORM Removed MVC OSEM ISEM MVC OREC 40 BLANKS MVC OCID ICID Course ID MVC OSECT ISECT Section number MVC OTID ITID Teacher ID MVC OCRLF WCRLF PC 370 Only L R10 SVFORM BR R10 SOR OO CO joke koe kk eek A KOR kk kk k kkk kk kk 2k R
37. El CHKLNS HDGS y las rutinas de escribir son las mismas que hemos visto antes CHKLNS EQU ST R10 SVCHKLNS CP LNS MAXLNS BL CHKLNSX BAL R10 HDGS CHKLNSX EQU L R10 SVCHKLNS BR R10 HDGS EQU ST R10 SVHDGS PGS P 1 MVC HDPGS X 40202120 ED HDPGS PGS PUT REPORT FORMFEED PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 ZAP LNS P 0 264 11 6 LA RUTINGAWHAROP11 M S DE UNA ENTRADA DE ARCHIVO L R10 SVHDGS BR R10 WRITE EQU ST R10 SVWRITE PUT REPORT RREC AP LNS P 1 L R10 SVWRITE BR R10 11 6 La rutina Wrapup Recuerde que en nuestro an lisis de la l gica de la l nea principal que seguir el proceso hasta que los registros o bien el archivo est en EOF y que es prob able que ambos archivos no llegar EOF al mismo tiempo Nosotros debe por tanto tener en cuenta que cuando llegamos a Wrapup es probable que uno de los archivos no se encuentra en final del archivo Vamos a ejecutar uno de los siguientes ciclos Si el archivo de oferta no es en EOF el proceso de todos los registros restantes del curso ofrendas como inigualable es decir OFFERLOW De lo contrario si el archivo maestro no est a EOF el proceso de todos los registros restantes como maestro sin precedentes es decir TEACHLOW WRAPUP EQU ST R10 SVWRAP WRAPUP2 EQU CLI EOFOFFER C Y BE WRAPUP3 BAL R10 0FFERLOW B WRAPUP2 WRAPUP3 EQU CLI EOFTEACH C Y BE WRAPUP4 BAL R10 TE
38. INVENTRY DCB LRECL 28 RECFM F MACRF G EODAD ATEND DDNAME COGS BIN REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT SAA AAA ARR RA A A A A RETURN ADDRESSES SEA AAA AGRA A A A A I kk 1 21 21 24 search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 359 14 7 MUESTRA DEL PROGRAMA DISCREPANCIAS INFORME DE INVENTARIO DEL ARCHIVO BINAR DULO 14 BINARY ARITHMETIC Add OK KOR R R OR KOR R OK Miscellaneous field definitions 5k 5k ok ok E ok ok 9 k ok ok IOI k k k kkk k KOR R K R kk K kk kK k K WCRLF DC gt 0025 gt PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N BLANKS DC CL62 gt WMASK DC X 40202120 BZZ9 WMASK2 DC X 4020202060 BZZZ DBL DC D O For packed binary conversions gt K 5k sk sok 5k 5k sk ok k ok ok OK k ok ok kkk k k kk k k kk k kk kk k k kkk k k R kk k R KOR R K R KOR K kk kK K R Input record definition gt K 5k sk sok k k kk k ok ok PK k ok ok kk k k I ACI ak I I I IKK kk k k k kk k kK Kf k R KOR R K K Kk K KOR KK K K DS OH Force halfword alignment IREC DS OCL28 1 28 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS H 11 12 Units sold in Calif IILL DS H 13 14 Units sold in Illinois IUTAH DS H 15 16 Units sold in Utah IWISC DS H 17 18 Units sold in Wisconsin IBEGIN DS H 19 20 Beginning inventory IPURCH DS H 21 22 Purchases throughout year IQOH DS H 23 24 Actual quantity on
39. K FK FK K K FK FK K FKK FK FK FK K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK oe K OK R OR Miscellaneous field definitions EEEE EEEE E EEE EE E E E Ek kk kk kk kkk k kkk kkk kkk K WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N BLANKS DC CL62 gt TCALIF DC F gt 0 Grand total for Calif TTOTAL DC F gt 0 Grand total nationwide DBLWORD DC D O PK2 DC PL2 0 PERCENT EQU cp K KK K K K K K K ok oko ok ok ok ok ok ale K ok ok ode ok oko K ok ok oko ok K K oko ok K K 2K ok K K K ale ale Input record definition AC kkk IORI I kk k a I ACI ak aK I I IKK kk k k k kk k k A k R KOR R K DS OH Force halfword alignment IREC DS OCL28 1 28 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS H 11 12 Units sold in Calif IILL DS H 13 14 Units sold in Illinois IUTAH DS H 15 16 Units sold in Utah IWISC DS H 17 18 Units sold in Wisconsin IBEGIN DS H 19 20 Beginning inventory IPURCH DS H 21 22 Purchases throughout year IQOH DS H 23 24 Actual quantity on hand ICOST DS H 25 26 Cost each 99V99 ISELL DS H 27 28 Sell for each 99V99 FEA AC k kkk kkk kkk k k kk k kkk k kk kk k k kkk k k k akk k ak KOR k K Output line definition FE k ok kkk ok kkk kk kk k 9k k kk ak k kk k k kk k k kkk k k R A k K KOR R A R kk K K k k OK K OREC DS OCL62 1 62 ODESC DS CL10 1 10
40. Los resultados probablemente no son lo que usted hubiera esperado Este con cepto de la longitud de un operaci n que se est determinado por la longitud de un operando solamente independientemente de la longitud de la otros es uno de los conceptos m s dif cil acostumbrarse a la hora de aprender BAL por primera vez KKK KK OK KOK KK KOK KOK KOK KOK intenta Mostrar el resultado de cada uno de los siguientes MVC s Comen zar con nuevos datos cada vez Antes de ABCDEFGHIJKL MVC FLDC FLDA 1 MVC FLDC FLDB 2 MVC FLDB FLDC 3 39 40 2 1 DEEANIRT VIOOVIMEENNIO ION IYAYIOS DHEN R DEHRA R CTERES KOK k RK k k K OK Ok KOK K k k KOK K K K Volvamos ahora al problema en la mano para producir un r pido y sucio de la lista de los registros de la MAESTRO archivo de acuerdo a las especificaciones En primer lugar debemos definir el registro de entrada Recordemos la dise o de registro para el maestro de archivo Campo 9 Campo Nombre Descripci n Inicio T rmino Long Formato 1 TID ID Maestro 1 3 3 ZD 2 TNAME Nombre Maestro 4 18 15 CH 3 TDEG Grado Superior 19 22 4 CH 4 TTEN Tenured 23 23 1 S N 5 TPHONE Telefono 24 27 4 ZD 6 TCRLF S lo Pc 370 28 29 2 CR LF Tenga en cuenta que he optado por limitar los nombres de campo en todos mis dise os de registro a siete personajes BAL permite ocho nombres de los campos de caracteres Los nombres de campos pueden co
41. OTNAME DS CL15 Teacher name DC CL4 gt OPHD DS CL1 PhD Y N DC CL5 gt OPHONE DS OCL8 Phone nbr 0517 DS CL4 OTPHONE ODS CL4 Phone nbr DC CL21 OCRLF DS CL2 PC 370 only CR LF Headings definitions HD1 DS OCL62 DC CL40 LIST OF TENURED INSTRUCTORS DC CL20 DC XL2 0D25 HD2 DS OCL62 87 3 7CAR ERCTIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS DC CL60 gt DC XL2 0D25 HD3 DS OCL62 DC CLA40 IDs Name PhD DC CL20 DC XL2 0D25 HD4 DS OCL62 DC CL40 DC CL20 DC XL2 0D25 END BEGIN A MIN gt teach3a TEACH3A Begin execution TEACH3A Teacher list on REPORT TXT TEACH3A Normal end of program A MIN gt type report txt LIST OF TENURED INSTRUCTORS ID Name PhD Phone 854 KIMBALL S W 517 5594 626 YOUNG B N 517 5664 574 SMITH J N 517 5320 3 7 Exercicios 1 VERDADERO 0 FALSO El c digo de estado es un rea especial de la CPU que consta de ocho bits b El equivalente de BAL de si el g nero es masculino THEN GO TO domale requiere dos instrucciones TF c BC 15 PASE es un salto incondicional F T d El 8 en BC 8 PASE es tambi n conocida como la m scara F T e Hasta 256 bytes se puede comparar con una instrucci n CLI nico FT f Valores equiparados se utilizan com nmente con CLI F T g CLI INICIAL y CLC inicial 1 cada uno comparar el primer byte de la TF inicial a un blanco h ELSE EQU se puede utilizar va
42. QU ES ESTA COSA DE LA IZQUIERDA gt Dado DC CL2 B la materia de la izquierda se X C2C2 F T j X 4708 es el c digo objeto de BC con una m scara de 8 F T k Dado CL3 DS en LOC 0000AE entonces 2 es LOC 0000 0 FT 1 Dado R DS CL1 las cosas de la izquierda se X D9 F T m El designador de registro base B1 o B2 ocupa un byte de c digo objeto F T 2 Teniendo en cuenta generados en 92C2D08A LOC 0000BC y D se define como MVI D CB gt a Cu l es la LOC para la siguiente instrucci n b Mostrar el c digo objeto si esta l nea se han cambiado a la MVI D CC c Mostrar el c digo objeto si esta l nea se han cambiado a la MVI D 1 CD d Mostrar el c digo objeto si esta l nea se han cambiado a la MVI D 2 x DD e Mostrar el c digo objeto si esta l nea se ha cambiado a la CLI D CE f Mostrar el c digo objeto si esta l nea se ha cambiado a la CLI D 1 B 11100010 3 Teniendo en cuenta D20AD090D080 generados en LOC 000006 e Y se define como el CL14 MVC X Y a Cu nto tiempo es X b Cu l es la LOC para la siguiente instrucci n c Mostrar el c digo objeto si esta l nea se ha cambiado a MVC X 4 Y d Mostrar el c digo objeto si esta l nea se ha cambiado a MVC X 2 5 Y Mostrar el c digo objeto si esta l nea se ha cambiado a MVC 3 1 Y 4 139 6 5 EJERCICIOSP TULO 6 QU ES ESTA C
43. ST R10 SVHDGS PUT J REPORT HD1 PUT J REPORT HD2 PUT J REPORT HD3 PUT REPORT HD4 PUT REPORT HD5 L R10 SVHDGS BR R10 FEA AAA AARC 9k 9k A A ACA I I OR ROF 21 24 24 24 R 2 2 PROCESS Those things which happen once per record SAA AAA R KOR 9k 9k 9k 9k A A A A I Ik 1 1 21 24 24 2 OR R k 2k k 2k 2k 2k kkk kk PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 SEA AAA ARR A A A A I A OR ORO 21 21 24 READ Read a record oook kk search read INVENTRY into IREC EOFSW IN SVREAD return 156 oook k FORMAT Format a single detail line III ARK FORMAT EQU ST R10 SVFORM MVC BLANKS MVC ODESC IDESC MVC OCALIF ICALIF MVC OILL TILL MVC OUTAH IUTAH MVC OWISC IWISC PACK WCALIF ICALIF Each product s sales must PACK WILL IILL be packed so they can be PACK WUTAH IUTAH added to total for this PACK WWISC IWISC product ZAP WTOTAL P 0 Initialize the total to zero AP WTOTAL WCALIF and start adding AP WTOTAL WILL AP WTOTAL WUTAH AP WTOTAL WWISC UNPK OTOTAL WTOTAL Move total to output MVZ OTOTAL 2 1 X FO and remove the sign MVC OCRLF WCRLF PC 370 only L R10 SVFORM 158 7 8 EJEMPLO DE PROG
44. ST R10 SVWRAP WRAPUP2 EQU CLI EOFMAST C gt Y BE WRAPUP3 BAL R10 MASTLOW B WRAPUP2 WRAPUP3 EQU CLI EOFTRANS C gt Y BE WRAPUP4 BAL R10 TRANSLOW B WRAPUP3 WRAPUP4 EQU CLOSE MASTERIN CLOSE TRANSIN CLOSE MASTEROT BAL R10 DOCOUNTS CLOSE REPORT WTO gt BQSFU Audit list on REPORT TXT L R10 SVWRAP BR R10 12 2 8 Programa de Soluci n El programa completa y comentada BQSFU MLC sigue 289 ff 40 4 4249 385p PRINT NOGEN FILENAME BQSFU MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Sequential File Update Sample Program BE ok 5k 5k ok ok 5k Pk ok ok 9k Pk ok ok 9k k ok ok kkk k kkk kkk kkk kk kkk k k k kk k k KOR R K K KOR K kk kK OR K START O REGS 289 12 2 CMPREUINAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N BEGIN BEGIN WTO BQSFU Begin execution search main loop SETUP EOFMAST EOFTRANS to EOJ PROCESS WRAPUP 280 WTO BQSFU Normal end of program RETURN FRAG k k k k k ak 3k 3k 3k 3k Kk k k ak k k 3k A I 3K 3K ak ICI I Ik 2k 2k 21 21 K K K A ACA K K 3K OR 2k 2k KK K K SETUP Those things which happen one time only before any records are processed gt lt gt lt KK KK K FKK K gt K ok K KK FK FK K K K ok ok K K ok FK K FKK FK FK K K R FK ok FKK K FK K OK FK K K ok KOK FK ok KOR FK K FK KOR F
45. X Rd dll od K K gt lt gt K gt lt x K K K x FK K KK FK FK K K K FK K K K FK FK K FKK FK FK K K FK ok ok FKK FK KOR KOR FK KOR KOK KOR FK FK K KOR KOR oe od R OR Student record Student ID nbr Student name Table to determine value of a letter grade VALUE DC PL1 0 GRADETBL DS OCL2 DC CL1 A PL1 4 DC CL1 B PL1 3 DC CL1 C PL1 2 DC CL1 D PL1 1 DC CL1 F PL1 0 DC X FF Input record definition Student SREC DS 0CL22 1 22 SSID DS CL3 1 3 SSNAME DS CL15 4 18 SSSEX DS CL1 19 19 SSMAR DS CL1 20 20 SSCRLF DS CL2 21 22 Gender Marital status PC 370 only CR LF FKK KK K K K FK X K K R K K R K R FK K FKK K FK K K KR FK K R R K XR FK FK K KOR KOR KOR KOR FK OR KOR FK R R R R R K Input record definition Course gt lt gt lt gt lt x gt lt gt lt K KK FK FK K K K FK K K K FK FK K FKK FK FK K K OR 402 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO CREC DS OCL23 1 23 Course record CCID DS CL5 1 5 Course ID nbr CCDESC DS CL15 5 20 Course description CCHRS DS CL1 21 21 Hours CCCRLF DS CL2 22 23 PC 370 only CR LF DO gt lt gt lt gt lt KK FK FK K K K FK FK K K FK FK K FKK FK FK K K FK ok ok Input record definition Grade FKK KK KK K FKK K gt K FK K KK FK FK K K R ok ok K K R F
46. gt K gt K gt lt gt lt KK KK FK FK K KK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K K FK K FK K FK search setup ascii INVENTRY and REPORT HDGS prime READ SVSETUP return 206 FKK KK KK K FKK K gt K FK K KK FK FK K KK FK ok K K R FK K FKK FK FK R FK HDGS Print headings FEA k ok kkk kkk kkk kk k 9k k kk ak k kk k k k kk k AA 2A K KOR R K R OROR K R k K 2K K K HDGS EQU ST R10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT J REPORT HD3 PUT REPORT HD4 PUT J REPORT HD5 L R10 SVHDGS BR R10 BEA AAA ARR 9k A A A A I kk 2k 21 21 PROCESS Those things which happen once per record BEA AAA ARR A A A A PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 BAA AAA AA 9k 9k 9k 9k A A A A I A I ORO READ Read a record BEC A kkk kkk A A k k kk k kk kk k k kk k k search read INVENTRY into IREC EOFSW IN SVREAD return 156 gt K 5k sk 3k AC A kkk kkk kkk I kk k I I k FORMAT Format a single detail line BEA AC A I I kkk a A ACI k k kk k kk kk k k k kk k k k akk k R KOR R A R KOR K R k kK K K FORMAT EQU ST R10 SVFORM MVC DREC BLANKS MVC ODESC IDESC Description PACK WBEGIN IBEGIN Beginning inventory MV
47. splazamiento de la etiqueta para que la instrucci n debe rama La nica difer encia entre este y el SI y SS formatos de instrucci n que hemos discutido es que una vez m s hay un registro de ndice que permite para un segundo nivel de desplazamiento Usted probarlo 7 Mostrar el c digo del objeto en la l nea 16 si esa l nea se cambi a BH D 8 Mostrar el c digo objeto para la l nea 19 si esa l nea se cambi a BD 9 Mostrar el c digo objeto para la l nea 22 si esa l nea se ha cambiado a BNE F 6 4 Instrucciones de Definici n de Datos Por ltimo dirigimos nuestra atenci n a las instrucciones de definici n de datos DS y DC 00009E C1C240 30 A CL3 AB DC 0000A1 C3C4C5C6 31 B DC CL4 CDEF gt 0000A5 32 C DS CL2 0000 7 5C 33 E DC CL1 Como se puede ver cuando una instrucci n de DS se utiliza no se genera c digo objeto el lado izquierdo de la lista est en blanco Sin embargo la ubicaci n 137 6 5 EJERCICIOMITULO 6 QU ES ESTA COSA DE LA IZQUIERDA del contador se incrementa Por ejemplo el campo comienza en la C ubicaci n 0000A5 sobre una longitud de dos Por lo tanto el siguiente campo E se iniciar en la localidad 0000A5 0002 0000A7 Cuando se utiliza una instrucci n de CC se muestra la representaci n hex adecimal de los datos Si el campo es m s de ocho bytes de longitud el primero de ocho bytes s lo se muestran Al igual que con la instrucci n de DS la con
48. 000000 000000 000004 000005 000010 000058 00005C 000060 000062 000066 00006 00006 00006 000070 000076 00007C 00007C 000080 000084 000086 000089 00008 00008F 000091 000095 000098 CROSS ASSEMBLER ADR1 47 0 058 OB C4D7404040404040 0000000000000000 90 00 0 014 18 41D0F010 0 008 FD20D076D079 FDA41DO7ADOTF FD31D081D085 0086 008A 0091 58DD0004 98ECDOOC OTFE 00047C 9C 000001276C 100C 0000010C 025C 0058 000C 0014 0010 0008 0089 008F 0095 0004 000C OPTIONS LXACE ADR2 LINE LABEL 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 O O N x iw 70 001 2 0 001 Hj E D gt PAGE OP BEGIN CSECT USING B DC DC DC STM ST LR LA ST DROP USING DP DP DP RETURN L LM BR DC DC DC DC DC DC END 1 OPERANDS 15 KZHQX001 AL1 11 CL11 DP gt 18F 0 14 12 12 13 13 HZQKX001 4 14 13 13 HZQKX001 13 8 0 14 15 HZQKX001 13 A B C D E F 13 4 13 14 12 12 13 14 PL3 47 PL1 9 PL5 1276 PL2 100 PL4 10 PL2 25 Vamos a utilizar la facilidad de texto para detener el programa antes y despu s de la AD y ver el contenido de la A B C D E y F Los resultados son los siguientes A MIN gt dp TRACE EP A 07AB ID 370 Copyright message appears here TYPE H FOR HELP a ADDR STOP ON A 26a
49. 000066 00006 00006 00006 ADR1 00000000 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000009 00000004A 0000000B 0000000C 0000000D 0000000 0000000F 47 0 058 OB C2C9D5C1D9E84040 0000000000000000 90 00 50DOF014 18ED 41D0F010 0 008 48700090 362 ADR2 LINE 0058 000C 0014 0010 0008 OOAO O 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 LABEL RO R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 BINARY HZQKX002 KZHQX002 START REGS EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU BEGIN CSECT USING DC DC DC STM ST LR LA ST DROP USING LH PAGE OPERANDS 0 O O O 12 13 14 15 15 KZHQX002 AL1 11 CL11 BINAR 18F 0 14 12 12 1 13 HZQKXOC 14 13 13 70 13 8 0 14 15 HZQKX002 1 R7 FIVE 14 8 VIEWING A REGISTER WHAFITEBOING BINARY ARITHMETIC 00006 4B70D092 OOA2 34 SH R7 THREE 000072 4E70D088 0098 35 CVD R7 DBL 000076 DEO3DO94DO8E OOA4 009 36 RESULT DBL 00007C 37 WTO RESULT 00007C 4300D098 00 8 38 O RESULT I 000080 925BD098 00 8 39 RESULT L R 000084 4120D094 0044 40 LA 2 RESULT 000088 OAD1 41 SVC 209 00008 00008E 43 RETURN 00008E 58DD0004 0004 44 L 13 4
50. 23 24 29 30 31 33 Len 3 3 10 10 N P Oe Escriba un programa que se aplicar a las operaciones siguientes en el archivo EMPL 2 3 1234567890123456789012345678901 270 32000 C 310DECARLO RICHARD 30000HA 610 D 688SMITH GERRY A00525HA 791 00475 C 828GOYAK DEBBIE A340008A 857 D 305 Format ZD CH CH CH 999V99 or S A C D CR LF 12 3 2 CUENCIAL DEL ARCHIVO DE ACTUALIZACI N Dise o de un informe de auditor a significativa con la cuenta adecuada Antes de actualizar el archivo compruebe los siguientes l mites Rate type Minimum Rate Maximum Rate H 4 00 10 00 5 200 00 500 00 7 Consulte la base de datos Small Town Hardware Store en mas conjun tos de datos Los siguientes tabla describe las transacciones utilizadas para actualizar el costo y el precio de venta s lo para la herramienta de archivo Field Field Nbr Name Description Begins Ends Len Format 1 TID Tool ID 1 3 3 CH 2 TCOST Tool cost each 4 8 5 999V99 3 TSELL Tool sells for 9 13 5 999V99 4 CRLF PC 370 Only 14 15 2 CR LF Escriba un programa que se a las operaciones siguientes a la Herramienta de archivo Tenga en cuenta que hay c digos de operaci n los registros se puede cambiar nicamente Por supuesto un registro debe existir antes de que se puede cambiar 1 1234567890123 H8 01099 PLM00375 PLX 00599 SPM0025000419 55 0041900250 55500399 WSP00025 Dise o de u
51. 60 gt X 0D25 0CL62 CL24 CL3 CL15 CL16 gt XL2 0D25 0CL62 CL60 XL2 0D25 0CL62 CL40 Semester Course Description CL20 Hours Points XL2 0D25 0CL62 PC 370 only EBCDIC formfeed For testing EBCDIC CR LF TRANSCRIPT FOR C DC CL2 gt Grade XL2 0D25 BEGIN 404 15 8 UN RESUMEN DE LAS MAS COMUNES CUADRO INSTRUCCIONES DE PRO amp P NMABNTOTABLA DE PROCESAMIENTO 15 7 1 La automatizaci n del proceso con un archivo por lotes Esto no pretende ser un libro en el PC MS DOS Sin embargo el lector que es competente en PC reconocer que un archivo por lotes puede y debe ser usado para simplificar la ejecuci n de este programa Mi soluci n siguiente A MIN gt type transcr bat echo off rem TRANSCR BAT by BQ Produce transcripts rem Append sort key to grade record transcri echo Sorting the reformatted grade file sort 14 lt grade gt grade srt rem Temporary file is no longer needed del grade echo Sorting the student file sort 1 lt student dat gt student srt echo Sorting the course file sort 1 lt course dat gt course srt rem Produce transcripts transcr2 echo Cleaning up del grade srt del student srt del course srt echo Done A MIN gt transcr TRANSCR1 Begin execution TRANSCR1 22 grade records reformatted TRANSCR1 Normal end of program Sorting the reformatted grade file Sorting the student
52. ATEND EQU MVI EOFSW C Y READX EQU L R10 SVREAD BR R10 FEA AAA ARR 9k 9k A A ACA I 24 24 2 OR 2 k k k 2k 2k 2k kkk kk CHKSEM Check for change in semester major control break KK FK FK K KK FK search CHKSEM HOLDSEM vs ISEM to ENDSEM IDEPT SVCHKSEM 239a CHKDEPT Check for change in department minor control break KK FK FK K KK FK FK K K FK FK K KK FK FK K FK FK FK search CHKDEPT HOLDDEPT vs IDEPT to ENDDEPT SVCHKDEP 239b gt lt gt K KK KK K lt K K ok ok K KK FK FK K K R ok ok K K ok FK K FKK FK FK K K FK FK ENDSEM End semester Process major control break Show count of sections for this semester Force next semester to another page FKK KK K K K K K K gt K FK K FK FK K R R FK FK ok KOR FK K ok KOK FK ok FK FK FK KOR KOR R K oe R OR R OK ENDSEM EQU ST R10 SVENDSEM BAL R10 ENDDEPT PUT REPORT HD5 AP LNS P 1 MVC 40 BLANKS MVC ODEPT 5 CL5 Total MVC O
53. BEA AAA R KOR 9 9k 9k 9k A A A A I Ik kk HDGS Print headings BEA A R R OR ARR A A A A I Ik kk 2k 2k 2k 2k OR K k k k kkk kkk OR R HDGS EQU ST R10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 113 4 1 COOKPETIIAT ION PRO GEIR DE BAL L BR R10 SVHDGS R10 Add K K FK KOK KOR R FK FK KOR K K 3K OR R R R R OR PROCESS Those things which happen once per record k 5k sk sk skok sk 5k Pk CA Pk ok OA IOI A I I k R kk k kk kk k k kk k K PROCESS EQU ST R10 SVPROC CLI ITTEN C Y Is teacher tenured BNE PROC2 No then skip this record BAL R10 FORMAT Otherwise format a line BAL R10 WRITE and write it PROC2 EQU BAL R10 READ Read next PROCESSX EQU L R10 SVPROC BR R10 sk sk ok sk kok Pk sk ok PK R k R EE EE E ke kk kk kkk k Kk kk kk kkk K READ Read a record IE RI KOR R KOR II I Ia I I a KOR kk kk kk search read TEACHERS into IREC EOFSW SVREAD return 112 II I Ia I I I KK a a kk ak FORMAT Format a single detail line gt K 5k sk sk skok sk 5k Pk ok CA 9k Pk ok ok 9k R ok 9k 5k oR 9k 9k IO I I ICI OK I A kkk kkk k R kk K kk kk k k kk k K FORMAT EQU ST R10 SVFORM MVC OTID ITID Move te
54. CL16 ADD SUCCESSFUL R10 WRITE ADDED P 1 R10 SVADDIT R10 12 2 2 No v lido el cambio no se puede eliminar AGREGADOS Una transacci n de cambio DELETE con Trans de bajo es el rendimiento de un error BADCHANG EQU ST R10 SVBADCHG BAL R10 CHKLNS MVC BLANKS BAL R10 WRITE MVC RDATA TREC MVC RMSG CL16 CHNG NOT ON FILE BAL R10 WRITE AP REJECTS P 1 BADCHGX EQU R10 SVBADCHG BR R10 BADDELET EQU ST R10 SVBADDEL BAL R10 CHKLNS 284 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N MVC RREC BLANKS BAL R10 WRITE MVC TREC MVC RMSG CL16 DLTE NOT ON FILE BAL R10 WRITE REJECTS P 1 BADDELX EQU L R10 SVBADDEL BR R10 12 2 2 1 Bad C digo de transacci n BAD CODE En el cap tulo anterior utiliza dos archivos de entrada sino que se mueven TRANS Campos para all no estaban interesados en la transacci n AUDITOR A c digos En este programa el c digo de transacci n debe ser A C o D Todo lo dem s es una condici n de error BADCODE EQU ST R10 SVBADCOD BAL R10 CHKLNS MVC RREC BLANKS BAL R10 WRITE MVC RDATA TREC MVC RMSG CL16 CODE NOT A C D BAL R10 WRITE REJECTS P 1 BADCODEX EQU L R10 SVBADCOD BR R10 12 2 2 2 Master transacci n del partido El Match condici n indica que tenemos una operaci n con un registro maestro de juego Una vez m s si es o no es un error depende del tipo de transacc
55. DELETEIT EQU ST R10 SVDELIT BAL R10 CHKLNS MVC RREC BLANKS BAL R10 WRITE MVC RDATA IREC MVC RMSG CL16 RECORD DELETED BAL R10 WRITE AP DELETED P 1 DELETEX EQU L R10 SVDELIT BR R10 12 2 5 V lido Cambio Una transacci n de cambio con un registro maestro juego es v lido Copia del registro maestro de edad a la nuevo registro maestro Mueva todos los campos no transacci n en blanco en los campos correspondientes en el nuevo Registro maestro Escriba el nuevo registro maestro Mostrar antes y despu s de las im genes en la auditor a informe CHANGEIT EQU ST R10 SVCHGIT COPY EXISTING RECORD TO OUTPUT RECORD THEN MAKE THE REQUESTED CHANGES MVC OREC IREC CLC TLNAME BLANKS BE CHGIT2 MVC OLNAME TLNAME CHGIT2 FQ CLC TFNAME BLANKS BE CHGIT3 MVC OFNAME TFNAME CHGIT3 FQ CLC TADDR BLANKS CHGIT4 MVC OADDR TADDR CHGIT4 EQU CLC TCITY BLANKS BE CHGIT5 MVC CHGIT5 EQU CLC TSTATE BLANKS BE CHGITG 287 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N MVC CHGIT6 CLC BE MVC CHGIT7 EQU MVC BAL OSTATE TSTATE TZIP BLANKS CHGIT7 OZIP TZIP DACD TACD R10 WRITENEW SHOW RECORD BEFORE AND AFTER CHANGES BAL MVC BAL MVC MVC BAL MVC MVC BAL AP CHGITX EQU L BR R10 CHKLNS RREC BLANKS R10 WRITE RDATA IREC RMSG CL16 BEFORE CHANGE R10 WRITE RDATA OREC RMSG CL16 AF
56. Etiquetas en su caso debe comenzar en la columna 1 F T Operaciones previas a su operandos en BAL F T Por convenio la operaci n se codifica a partir de la columna 10 F T La extensi n de archivo para el c digo fuente del programador es MLC F T Errores en el c digo fuente se muestran en el archivo LST F T PC 370 s L370 produce un m dulo independiente ejecutable F T El CR LF es una secuencia de caracteres especiales que ocupa cuatro bytes F T Algunos editores de PC trim espacios en blanco F T En Pc 370 como ocurre con la mayor a de lenguajes de progra maci n el modo de archivo se incluye en el F T la instrucci n OPEN PC utiliza la secuencia de ordenaci n Ascu F T El par metro LRECL de la DCB debe incluir el CR LF en su caso F T 2 Modificar HELLO MLC para mostrar su nombre y direcci n completa en tres l neas 3 Cree el archivo de los estudiantes a la base de datos Small Town Communi ty College Llame a su archivo STUDENT DAT ver Tabla 1 1 STUDENT 33 1 5 EJERCICIOS CAPITULO 1 PRIMEROS PASOS CON PC 370 1 SID ID Alumno 1 3 3 ZD 2 SNAME Nombre 4 18 15 CH 3 SSEX Sexo 19 19 1 CH 4 SMAR Estado Civil 20 20 1 CH 5 SCRLF S lo pc 370 21 po D CR LF 4 Crear las categor as de archivo de la base de datos Small Town Community College Llame a su archivo GRADE DAT ver Tabla 1 5 GRADE 1 SID ID Alumno 1 3 3 ZD 2 SEM Semestre 4 6 3 CH 3 CID ID Curso 11 5 CH 4 SECT
57. Los campos num ricos en ese archivo se almacenados en formato decimal en zonas Vamos a escribir dos Convertir datos programas El primer programa va a crear un nuevo archivo COGS14A MLC a formato binario con todos los campos num ricos almacenados en medias palabras El segundo programa leer este nuevo archivo y producen las discrepancias informe de inventario Esto Inventario de datos se muestra en el diagrama de flujo del sistema hacia la derecha W EBCDIC n meros COGS BIN en formato binario Veamos primero en el programa de conversi n COGS14A MLC Producir Inventario Discrepancias COGS14B MLC Informe Todos los cam pos num ricos se almacenan como medias palabras a partir de datos bina rios Recordemos por tanto de nuestra discusi n anterior que es esencial que nosotros le garantizamos media palabra Las discrepancias de inventario alin eaci n El dise o de registro de salida se muestra informe txt Informe ASCII Imprimir la imagen por debajo de Tenga en cuenta que las medias palabras se puede definir despu s de la descripci n ya que la longitud de la descripci n 10 es un m ltiplo de la longitud de una media palabra 2 DS 0H Force halfword alignment OREC DS 0CL28 1 28 Inventory record ODESC DS CL10 1 10 Product description OCALIF DS H 11 12 Units sold in Calif OILL DSH 13 14 Units sold in Illinois OUTAH DS H 15 16 Units sold in Utah OWISC DS H 17 18 Units sold in Wisconsin OBEGIN DS H 19 20 Beginning inventor
58. Master Out kkk kkk kkk K OREC DS OCL62 1 62 Master record ONBR DS CL5 1 5 Customer nbr OLNAME DS CL10 6 15 Last name OFNAME DS CL10 16 25 First name OADDR DS CL15 26 40 Address OCITY DS CL10 41 50 City OSTATE DS CL2 51 52 State OZIP DS CL5 53 57 Zip DS CL2 58 59 Unused OACD DS CL1 60 60 Transaction code A C D OCRLF DS CL2 61 62 PC 370 only CR LF gt K gt K gt K K KK KK K K K FKK FK K FK FK FK K K FKK FK K FK FK FK FK K FK K Rd OK R R OR Output line definition o kkk kk kk RREC DS OCL80 1 80 Report record RDATA DC CL60 gt 1 60 Transaction Data DC CL2 gt 61 62 RMSG DC 16 gt 63 78 Audit message RCRLF DS CL2 79 80 PC 370 only CR LF DO lt K KK KK FK K K FKK FK K FK FK FK KOR KOR K K R FK FK KOR K K K K R K K KOR K K K KOR K K FK K K FK K K FK FK FK FK K R FK OK R R OR Output record definition Audit NOTE HOW SPACE FOR RREC IS REDEFINED BEA A SK R R R OR KOR 9k 9k 9k 9k ACA A IC OR OR ROF 21 21 1 2k 2k 2k 2k OR OR ok ORG AREC DS OCL80 1 87 Audit Line ADESC DC CL25 gt 1 25 Description on count ACOUNT DC CL10 gt 26 35 Count DC CL43 gt 36 78 ACRLF DS CL2 79 80 PC 370 only CR LF ORG DO gt lt K x gt lt gt gt K ok ok gt K FKK FK K FK Rd ld od R KK Headings defi
59. STUDENT MASTER LIST ID Student Name Sex Mar XXX XXXXXXXXXXXXXXX X X XXX XXXXXXXXXXXXXXX X X XXX XXXXXXXXXXXXXXX X X T Producir una lista formateada de los registros en el archivo de grado Mostrar el semestre el ID del curso identificaci n de estudiante y la calificaci n obtenida solamente en ese orden Cada l nea debe ser de 50 71 2 5 EJEBXB IIUSO 2 DEFINICI N Y MOVIMIENTO DE CAR CTERES 72 bytes de longitud exclusiva de la CR LF El informe deber incluir el informe y los encabezados de columna La deseada formato es el siguiente 1 2 3 4 5 12345678901234567890123456789012345678901234567890 GRADE MASTER LIST Confidential Course Student Sem Number ID Grade XXX XXXXX XXX X XXX XXXXX XXX X XXX XXXXX XXX X 8 Producir una lista formateada de los registros en el archivo del curso Mostrar el ID del curso y curso nica descripci n Mostrar el n mero de curso que el departamento las dos primeras posiciones de la ID del curso y el n mero del curso tercera cuarta y quinta posici n de la ID del curso se separados por un espacio nico Cada l nea debe ser de 30 bytes de longitud exclusiva de la CR LF El el informe deber incluir el informe y los encabezados de columna El formato deseado es el siguiente 1 2 3 123456789012345678901234567890 COURSE MASTER LIST Course Description XX XXX XXXXXXXXXXXXXXX XX XXX XXXXXXXXXXXXXXX XX XXX XXXXXXXXXXXXXXX El siguiente programa hace excesiva el u
60. SYSTEM PC 370 R4 2 REMARKS Determine nationwide dollar sales for COGSWORTH INDUSTRIES This is a modification of COGS13A MLC and illustrates binary multiplication SO CO OO OO IA KOR ok START 0 REGS BEGIN BEGIN WTO gt COGS16A Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO 516 Normal end of program RETURN kokck 5k 5k ok 5k ok ke ok k k kkk kk kk R k PK 5k 3k ak k kk k 2k akk 3k 3k k k k k 2k 2k 3k 2k 3k 2k ak k KOR KOR ROROROROROR OR OR OR OK OR K SETUP Those things which happen one time only before any records are processed ok 3k sk ke k kk k k 5k kk kk kk R OR kk ok 2 9k ok ke kk k OR KOR kk 2k k k k k R SETUP EQU ST R10 SVSETUP OPEN INVENTRY Input is EBCDIC no CR LF BAL R10 READ L R10 SVSETUP BR R10 kk kkk kak kak ak k 3k 3k ak ak ak ak k ak k 2K 3k 2k 3k 2k ak k ak 2k K 3k 3K 3k 3k 2k 2k k ak gt k 2K 3K 2K 3K 2k 2k K ak 2K K 3K 3K 3K 3K K 2k kk READ Read a record KKK KKK K K K K K ok ok K K R FK K KK OR FK K K K search read INVENTRY into IREC EOFSW SVREAD return 314 EAA AAA ARR A A A A I I I I 2k 2k PROCESS Those things which happen once per record BEA AAA ARR A A A 2k 24 24 2k R R k k kk 2k R 2k 2k OR OR R PROCESS EQU ST R10 SVPROC LH R3 ICALIF
61. a sustituir PACK C C 0 con ZAP C P 0 150 7 5 LA DETECCI MB TUNA COBOLGASNDBFARES RGR TAAMIDENTIOA L Usted probarlo 11 Dada X DC CL2 muestra la representaci n hex adecimal de X despu s de PACK X CL1 1 12 Sustituya el paquete de 11 con un ZAP 13 Dado W DC PL2 10 DC PL X 6 Y DC CL2 15 y Z DC PL2 8 Escriba el c digo de BAL de determinar Z WrtxX y Mostrar la representaci n hexadecimal de Z despu s de cada instrucci n Su final respuesta de Z debe X 019C Recordatorio Y deben acondicionarse antes de que se puede a adir Definir un campo de trabajo si es necesario 7 5 La detecci n de una condici n de desbor damiento Al agregar con AP o en movimiento con ZAP si la suma no caben en el campo de recepci n el alto d gitos de orden se truncan El ensamblador dar ning n mensaje de advertencia de que ello ocurra como que la mayor a de los compiladores de COBOL ni el programa de abend en tiempo de ejecuci n La detecci n de tal desbordamiento en tiempo de ejecuci n es sin embargo un proceso muy simple Recuerde que en nuestro estudio de IFS en BAL de que el c digo de condici n tiene cuatro bits El bit cuarto se usa generalmente para indicar un desbordamiento condici n IGUALDAD DE BAJA ALTA OVERFLOW 8421 Puede buscar una condici n de desbordamiento mediante el uso de una sucursal a condici n de BC con una m scara de 1 o el BO mnem
62. desempaquetar ese n mero y mostrar la rep resentaci n hexadecimal de que n mero sin envasar tilice la instrucci n MVZ para eliminar el signo de un n mero sin envasar tilice la instrucci n de AP para a adir un n mero de envasados a otro tilice la instrucci n de ZAP para avanzar un n mero de pic nic a otro U U Utilice la instrucci n de SP para restar un n mero de nic de otro U U tilice la instrucci n CP para comparar dos n meros empaquetados Mostrar c mo la instrucci n antes de Cristo se puede utilizar para detectar una condici n de desbordamiento a ra z de una a adir o operaci n de restar y Escribir un programa que requiere el uso de la aritm tica decimal empa quetado y la presentaci n de los resultados de de que la aritm tica Introducci n Hasta ahora ninguno de nuestros programas han utilizado la aritm tica S lo hay dos maneras de hacer la aritm tica en BAL Bolsas de la aritm tica decimal o binario registro de la aritm tica En este cap tulo se presenta la aritm tica decimal empaquetado espec ficamente la adici n y sus tracci n Hablaremos de la multiplicaci n y la divisi n en un cap tulo posterior 144 7 1 PRESENTACI M P T DINDONBINISUSTBEASRITMETICA DECIMAL Nos aleja tambi n a la discusi n de la aritm tica binaria porque necesidad de entender los n meros empaquetado antes de que pueda trabajar con n meros binarios un n mero binario debe convert
63. e Multiplicar H1 por H2 dando H3 LH R3 H1 M R3 H2 STH R3 H3 f Multiplicar F1 por H2 dando F3 LH R3 F1 MH R3 H2 ST R3 F3 3 Habida cuenta de las definiciones de los campos siguientes H1 DC H 25 gt H2 DC H 8 DC H 0 gt Fi DC F 6 F2 DC F 3 DC F 0 Encontrar el error s lo una en cada uno de los siguientes a Divide F1 por F2 cociente en la F3 L R5 F1 M 1 R4 F2 ST R4 F3 b Divide F1 por F2 cociente en la F3 L R4 F1 R4 f 1 L R6 F2 DR R4 R6 ST R5 F3 c Divide H1 por H2 cociente en H3 LH R5 H1 R4 H 1 LH R6 H2 DR R4 R6 STH R5 H3 427 16 6 EJERCICIOS CAPITULO 16 MAS ARITMETICA BINARIA d Divide H1 por F2 cociente en H3 LH R3 H1 M R2 f 1 D R2 F2 ST R3 H3 4 Habida cuenta de las definiciones de los campos siguientes F1 DC F 16 F2 DC F 8 Hi DC T4 gt H2 DC F 3 DBL DC D O PK3 DC PL3 0 Suministro de las instrucciones para realizar cada una de las siguientes Mostrar todos los resultados intermedios Comenzar con nuevos datos cada vez a Qo c gt J k D Multiplique F1 por F2 dando F2 Multiplique por H2 dar Multiplique F1 por F2 dando Multiplique H2 por F2 dando Fl F1 multiplicar por 2 da F1 H1 multiplicar por 2 dando H1 Divide F1 por F2 dando cociente en la F1 Divide F1
64. encima de la 5 determinar el signo de un n mero Los otros F son redundantes El signo se determina como sigue indica el n mero no est firmado F C indica el n mero es positivo y D indica el n mero es negativo Si usted sabe COBOL usted recordar que un n mero sin signo corresponde a una cl usula de 9 PIC sin una como PIC 9 3 mientras que un n mero con signo corresponde a una cl usula de 9 PIC con una 5 tales como PIC 59 3 Ejemplos es 123 sin firma X F1F2F3 es 456 y X FAF5C6 es 789 X F7F8D9 Tenemos que entender c mo cada uno de estos parece si se imprimen si se muestra con la OMC 146 7 2 BOLSAS DE FORMATODOECBONUSAS DE ARITM TICA DECIMAL se imprime como 123 X F1F2F3 se imprime como 45F porque X C6 es y X F4F5C6 se imprime como 78r porque X D9 es X F7F8D9 Deberia ser evidente por qu tendremos que hacer ajustes para que el signo cuando imprime un n mero Usted probarlo 1 Dado A CL3 68P DC es un n mero decimal en zonas Cu l es el valor num rico de A Est firmado Cu l ser a la OMC una pantalla 2 Dado B DC X F2C6 es un n mero decimal en zonas Cu l es el valor num rico de la B Est firmado Qu ser a de la OMC muestra B 3 Dado DC 39 Mostrar la representaci n hexadecimal de C Mostrar por qu C no es v lido n mero decimal en zonas 4 Dado D DC CL3
65. gito hexadecimal con su equivalente en cuatro bits seg n la tabla de arriba Por ejemplo para convertir 5E16 a binario sustituir 5 en 0101 y E 1110 con dar 01 011 110 2 Usted probarlo 13 4A16 2 14 B1716 2 5 3 5 De binario a hexadecimal de conversi n Para convertir un n mero binario a su equivalente en hexadecimal simple mente divida los bits en grupos de cuatro Inicio de la derecha y agregar ceros a la izquierda extra si es necesario por lo que el n mero total de bits es un m ltiplo de cuatro A continuaci n sustituya cada grupo de cuatro con un solo d gito hexadecimal Para ejemplo para convertir 10010010110111 2 a hexadec imal volver a escribir como 10 0100 1011 0111 a adir dos ceros a la 124 d gito es 2 hexadecimal decimal deci 5 3 EL EBCDIC Y ASCUAARAICOLARGEDR ESESHACHONIAB DATOS izquierda dando 0010 0100 1011 0111 entonces reemplazar cada cuatro cuerdas con un poco de su equivalente en hexadecimal de dos d gitos dando 24B716 Usted probarlo 15 101110010012 ______ 16 16 100110101001002 16 Muestra del Programa Hemos visto que cuando la secuencia de clasificaci n EBCDIC se utiliza la letra A es equivalente a un 193 decimal Este valor 193 tambi n es igual a 11 000 001 2 o C116 Esto se muestra en el siguiente programa A MIN gt type databa mlc PRINT NOGEN START O BEGIN BEGIN MVI LETTER W WTO MESSAGE MVI LETTER X WTO MESSAGE MVI LETTE
66. la m scara debe contener tres X 20 s o dos X 20 y uno X 21 Las comas se puede utilizar con la protecci n de cheques en la m s cara COBOL La documentaci n t cnica de la m scara se muestra en este cap tulo es similar en F T Cl usulas de consentimiento fundamentado previo 217 9 3 EJERCICIOS CAPITULO 9 LA INSTRUCCION EDITAR 1 La m scara de X 402021204B2020 documentado como BZ99 99 FT Corresponde a los programadores para determinar la ubicaci n de los puntos decimales desde F T toda la aritm tica decimal empaquetado en BAL es la aritm tica de enteros 2 Qu est mal con los siguientes editar m scaras 7202020 X 402020 X 40202121 X 4020204 B2020 74020204 2020206 2120 X 4020206B2020206B20212060 a b f 3 Mostrar los cambios que haria a la rutina mostrada en el capitulo 8 a fin HDGS suprimir ceros a la izquierda en el recuento de la pagina NA RA NS 4 Determinar la longitud correcta para el campo de la producci n y el campo de empaquetado para cada uno de los siguientes editar las m scaras A continuaci n mostramos el resultado si un campo de relleno de la longitud adecuada con un valor de 123 ha sido editado usando la m scara indicada Resultados de la salida de Bolsas de 240202120 gt X 4020206B202120 X 5C20206B2020214B2020 240202120 4 2 gt X 4020202020202020202060 gt X 5C20202020202120
67. n de ocupar tres medias palabras o seis bytes como se muestra en la ilustraci n anterior Como con todas las instrucciones de ensamblador el primero de los seis octetos es el c digo de operaci n Op C digo CLC es Op C digo X D5 lo mismo que una may scula y MVC es Op C digo X D2 lo mismo que un superior case K Mira a nuestro programa de ejemplo una parte de la cual se repite aqu Usted puede ver el Op C digos de D5 y D2 00006 D502D08ED091 009 OOA1 15 CLC A B 000070 4740D072 008216 BL D 000074 D201D095D091 OOA5 004117 MVC C B 00007A 92F1D097 00A7 18 MVI E C 1 00007E 47F0D084 0094 19 F 000082 00000082 20 D EQU 000082 95C4D091 00A1 21 CLI B C D 000086 4780D084 0094 22 BE F 00008A D201DO95DOSE 00A5 009 23 MVC C A 000090 92F9D097 00 7 24 MVI E C 9 000094 00000094 25 F EQU El segundo byte es la longitud de la operaci n Recuerde que un solo byte puede variar en el valor de 0 a 255 Pero un movimiento de la longitud de 0 no tiene ning n sentido As que la longitud de operando es en realidad la la duraci n de la operaci n menos uno De esta manera los valores de 0 a 255 indican longitudes de operaci n de se mueve compara etc de 1 a 256 inclusive Esta es la raz n por la MVC y la CVX instrucciones son limitado a 256 caracteres En la l nea 15 se compara un campo con el campo B El campo A se define como 3 bytes de longitud mientras que el campo B es definida como 4 byte
68. pero utiliza el desplazamiento explicito y longitud solamente Qu preferir as mantener ff 40 457 64D PRINT NOGEN gt K lt gt x x gt ok gt K K K K K KK KR KR K od a 3K K KR ok ok R K ok ok 3K 3K K 2K KR R R FK 3K K KOK ok KR R R FK ok 9 9 3K K 2K ok oe ooo 9 old R OR OR FILENAME TEACH2B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Don t do it this way AIOE ooo Prologo 23a BEGIN BEGIN WTO gt 2 Begin execution OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT LOOP GET TEACHERS IREC MVC OREC 3 IREC MVC OREC 6 15 IREC 3 MVC OREC 24 4 IREC 18 MVC OREC 31 1 IREC 22 MVC OREC 35 4 IREC 23 MVC OREC 60 2 X 0D25 PUT REPORT OREC Write report line B LOOP EOJ processing ATEND CLOSE TEACHERS CLOSE REPORT WTO TEACH2B Teacher list on REPORT TXT WTO TEACH2B Normal end of program Epilogo 26a File definitions TEACHERS DCB EODAD ATEND 26c R EPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT 61 62a 62b 62c 2 3 LON amp P UDLEOXPL SHITINACRUNDESIPPDXYMNITENTOE CAR CTERES Field definitions TREC DS CL29 Teacher record OREC DC CL62 gt Report line END BEGIN KOK k O
69. promedio de los promedios 7 Modificar el ejercicio 5 para incluir la descripci n del curso as como el n mero de curso Esto requerir el uso de el archivo del campo y la congruencia l gica 8 Consulte la base de datos Small Town Hardware Store en m s conjuntos de datos Elaborar un informe con marcas por art culo De marcado se define como venta costo costo Ronda en su caso No mostrar las en volturas que se indican por un precio de venta de cero Su informe debe aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 SMALL TOWN HARDWARE STORE Markup Report TID Description Cost Sell Markup XXX XXXXXXXXXXXXXXXXXXXXXX BZZ9 99 BZZ9 99 2297 XXX XXXXXXXXXXXXXXXXXXXXXX BZZ9 99 BZZ9 99 2297 XXX XXXXXXXXXXXXXXXXXXXXXX BZZ9 99 BZZ9 99 2297 9 Consulte la base de datos peque a ciudad en la n mina m s conjuntos de datos 338 13 7 EJERCUAB TULO 13 M S BOLSAS DE ARITM TICA DECIMAL a Utilice el EMPL y tablas THISPP para determinar el salario bruto por empleado y en su conjunto para este per odo de pago Los em pleados se les paga por hora de tiempo y medio por hora m s de cuarenta a os Empleados asalariados se les paga una cantidad fija independientemente del n mero de horas trabajadas Ambos archivos deber n ser ordenados y emparejado en el n mero de empleado Su resultado deber a aparecer como sigue 1 2 3 4 1234567890123456789012345678901234567890 PAYRO
70. s si intenta para asignar un valor con una DS en lugar de DC no recibir un mensaje de error pero el valor es ignorado Eso puede ser un error muy dif cil de encontrar si no eres consciente de ello intenta contiene espacios en blanco ff 40 4 BLANKS 5 BLANKS 6 BLANKS Tis BLANKS 8 BLANKS El formato del informe deseado es el siguiente XXX XXX XXX 1 DC DS DC DC DC CL24 4CL6 2CL12 OCL24 gt 24C 2 XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXX XXXX XXXX Cu l de las siguientes definir veinticuatro campo de un octeto que 441b 47 gt 5 6 1234567890123456789C X XXXX X XXXX X XXXX Phone duel Tenured mm Degree ID number Tomar nota del informe es de 60 caracteres de ancho Pero recuerdo de un debate anterior que al utilizar PC 370 debemos tener en cuenta el retorno de CR LF de l nea tambi n Por lo tanto nuestro informe ser de 62 caracteres de ancho As el par metro LRECL de la DCB para el Informe se LRECL 62 TEACH2A MLC linea de salida 42b OREC OTID OTNAME OTDEG OTTEN OTPHONE OCRLF DS DS DC DS DC DS DC DS DC DS DC DS OCL62 CL3 CL3 CL15 CL3 CLA CL3 CL1 CL3 CLA CL21 CL2 42 48 Teacher ID nbr Teacher name Highest degree Tenured Phone nbr PC 370 only CR LF 2 1 DEEINI TVIMIOVIMBEXNYO IIOR YAMOV DHEMRA DEHRA R CTERES Tenga en cuenta que las diferencias e
71. s de todo un lenguaje de bajo nivel La mayor a de los programadores han ense ado a uso de la programaci n estructurada una parte importante de los cuales es GO TO menos de programaci n BAL equivalente a un COBOL o BASIC GOTO es la instrucci n de salto el uso de que es inevitable en la la mayor a de los programas de BAL Si GO TO menos de la programaci n es parte de sus criterios para la estructura la programaci n entonces es cierto que BAL no puede ser estructurado Pero el uso selectivo de las normas de la programaci n estructurada puede recorrer un largo camino hacia la mejora de la legibilidad del programa mantenimiento y reutilizaci n 96 4 1 ION OO GEIR OCWRALR IP SHRROGRAMA DE BAL este cap tulo aprender c mo estructurar un programa de BAL En con creto vamos a aprender a utilizar el siguientes instrucciones BAL BR ST y L as como otro uso para EQU 4 1 CONFIGURACI N PROCESO y Wrapup Secciones Vamos a continuar con el programa de TEACH3A MLC del cap tulo anterior Ese programa produce un lista de instructores titulares de los autos MAESTRO Nuestro primer paso es dividir el programa en el tres secciones SETUP o las cosas que suceden una sola vez antes de que los registros son procesados Proceso o las cosas que suceden una vez por registro y Wrapup o las cosas que suceden una sola vez despu s de todos los registros han sido procesados La mayo
72. search write REPORT from OREC LNS SVWRITE return 185 244 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE SEA AAA ARR A A A A I I I I I 1 21 21 24 2k K R k k 2k 2k 2k 2k kkk OR ok WRAPUP Those things which happen one time only after all records have been processed Kok ok ok ok sk sk sk sk PK Pk Pk Pk AAA ARR 24 24 2k 2 k k 2k 2k 2k 2k 2k kk kk WRAPUP EQU ST R10 SVWRAP BAL R10 ENDSEM Final control break process CLOSE OFFER CLOSE REPORT WTO OFFER10C Course list on REPORT TXT L R10 SVWRAP BR R10 FEA ok 5k 5k ok ok ICA kkk I I kkk k A ACI k k kk k k k ak Kk k k 2k k kK K K Literals if any will go here FEA ACC kkk kkk k kkk k kkk kk kk kk kkk k k LTORG K sk k sk K sk ok sk ok ok Pk EEEE EE EE E E E KOK k kkk kk KOR kk kkk k kkk k kk kkk K File definitions EEEE EEEE E EE EE E KOR E E k kk kk KOR kkk k kkk k kk kkk K OFFER DCB LRECL 18 RECFM F MACRF G EODAD ATEND DDNAME OFFER DAT REPORT DCB LRECL 42 RECFM F MACRF P DDNAME REPORT TXT sk sk ok Pk ok ok Pk sk oR kkk K RETURN ADDRESSES kk kk kk
73. variable RECFM F indica que todos los registros en el archivo tiene el mismo n mero de caracteres RECFM V indica que el longitud de registro puede variar de un registro a otro Vamos a discutir c mo BAL trabaja con registros de longitud variable m s tarde Tenga en cuenta que este no es el mismo como registros de longitud variable en un PC tales como archivos delimitados por comas en BASIC MACRF G significa Macro Formato Utilizar G GET para los archivos de entrada y P put MACRF para los archivos de salida EODAD atEnd Como se mencion anteriormente esto indica la etiqueta para que el programa de se debe ir cuando despu s de intentar leer un registro un fin de archivo condici n fue detectada Este es el mismo que en el procesamiento de END en COBOL raz n por la cual yo he elegido atEnd de la etiqueta aqu Este par metro es no utilizado en los archivos de salida DDNAME TEACHER DAT El par metro DDNAME se utiliza para indicar qu archivo de DOS es para leer de en el caso de MACRF G o creados o sustituido en el caso de MACRF P Esto es simi lar a la cl usula ASSIGN A de SELECT declaraci n en COBOL o el par metro de nombre de archivo de la instrucci n OPEN en la BASIC En mainframe BAL esto se referir a a la DDNAME en el JCL IREC DS CL29 significa Definir almacenamiento Esto indica que el 29 bytes de almacenamiento son DS a reservar para un registro que se conoce como IREC
74. y verificar sus respues tas a la parte b Nota Las l neas 1 14 del programa son la expan si n de la macro de empezar y las l neas 20 23 la expansi n de la macro RETORN C digo de esas declaraciones macro como lo har as normalmente 181 oP WN ON YD STUFF7B HZQKX001 DC KZHQX001 STM RETURN N lt CSECT USING DC DC Capitulo 8 L gica de Salto de p gina Objetivos Al t rmino de este cap tulo usted ser capaz de Describir la l gica del c digo y la p gina de descanso por ejemplo Producir un avance de la impresora a la fuerza para avanzar hasta la parte superior de una p gina Introducci n En el cap tulo dos hemos visto c mo producir las partidas para nuestros informes Dijimos en ese momento que nos ser a posponer la discusi n de los recuentos de p ginas porque cuenta como requiere el uso de la aritm tica que a n no hab a cubierto Hasta ahora todos nuestros informes se han limitado a una sola p gina de de salida pero de haber discutido Bolsas de aritm tica decimal ahora estamos listos para producir verdadera partidas informe En este cap tulo analizaremos la l gica de salto de p gina incluyendo la manera de producir las partidas con recuentos de p gina y c mo forzar a la impresora para avanzar hasta la parte superior de una nueva p gina KOK OK OK k k k KOK k k k k k k k OE k OK K En este capitulo vamos a modificar TEACH2C MLC del cap tul
75. 0 vendidos Each product s sales must be packed so they can be added to total for this product Initialize the total to zero and start adding Mover total de la producci n MVZ OTOTAL 2 1 X F0 y eliminar el signo En este programa en particular que no era necesario llevar cada uno de 155 156 7 8 EJEMPLO DE PROGRAMACION LA PRODUCCION DE LA CR NICA DE VEN ASITULO 7 BOLSAS DE ARITM TICA DECIMAL los estados las cifras de ventas en un aparte campo Podria haber usado un campo de trabajo nico como PK2 como sigue ZAP WTOTAL P 0 Initialize total to zero PACK PK2 ICALIF Pack AP WTOTAL PK2 then add Calif to total PACK PK2 IILL Pack AP WTOTAL PK2 then add Illinois to total PACK PK2 IUTAH Pack AP WTOTAL PK2 then add Utah to total PACK PK2 1WISC Pack AP WTOTAL PK2 then add Wisc to total UNPK OTOTAL WTOTAL Move total to output MVZ OTOTAL 2 1 X FO and remove the sign La decisi n de utilizar un campo de pic nic dedicado para cada campo de en trada como en el ejemplo anterior para Bolsas de usar un campo nico y compartido por todos los campos de entrada como en el ltimo ejemplo depen der de lo que vas a hacer con los datos si usted va a necesitar el n mero varias veces el uso de un dedicado Bolsas de campo para cada campo de entrada le salvar de tener que empacar cada campo de m s de una vez Con el fin de determinar el n mero de registros procesad
76. 00 00 00 00 00 00 00 D6 R8 R9 D R8 COUNT 00 00 00 06 00 00 00 1A remainder quotient DBLWORD CVD R9 DBLWORD 00 00 00 00 0000 02 6C AVG ZAP AVG DBLWORD 00 02 Qu pasa si queremos que el resultado se redondea Es decir 214 8 26 75 que nos gustar a mostrar como 27 Con el fin de hacerlo en lugar de multiplicar el dividendo por uno vamos a multiplicar por diez Nosotros entonces tiene 2140 8 267 que podemos cambiar y todo el aiio para obtener 27 Por ejemplo R8 R9 L 9 50 22 77 7 00 00 00 D6 8 10 00 00 00 00 00 00 08 5 R8 R9 D R8 COUNT 00 00 00 04 00 00 01 remainder quotient DBLWORD CVD R9 DBLWORD 00 00 0000 26 7C DBLWORD SRP DBLWORD 64 1 5 00 00 00 00 0000 02 7C AVG ZAP AVG DBLWORD 00 02 7C 416 16 3 BINARY DIVISI N KIA D YUDO INSTIH S GIRINBSETICA BINARIA Tambi n puede utilizar el DR registro de dividir la instrucci n para dividir un par extra a pareja por un nico registro R8 R9 L R9 SUM 22 00 00 00 D6 R8 R9 M R8 F 10 00 00 00 00 08 5C L R7 COUNT R8 R9 DR RS R7 00 00 00 04 00 00 01 OB remainder quotient Nota no hay equivalente a dividir MH es decir no hay media palabra dividir Esto no quiere decir halfword no se puede utilizar como divisor simplemente que se debe cargar a un primer registro con LH y luego se utiliza la instrucci n DR intenta 1 8 Teniendo en cuenta X DC F 17 Y DC H 3 Y y Z DC
77. 000094 58DD0004 0004 27 L 13 4 13 000098 98ECDOOC 000C 28 LM 14 12 12 13 00009C O7FE 29 BR 14 00009E C1C240 30 A DC AB 0000A1 C3C4C5C6 31 B DC CL4 CDEF 0000A5 32 C DS CL2 0000A7 5 33 E DC CL1 0000A8 34 END La MVI y las instrucciones de la CLI son de tipo instrucciones SI el MVC y las instrucciones de la CVX son de tipo SS instrucciones y la instrucci n antes de Cristo es una instrucci n de RX tipo Estos tipos de instrucci n son com nmente ilustra de la siguiente manera E Fea ree ta ia Seat s ee 1 de halfword 2 halfword 3 halfword hiso Fora A em SI Op C digo I 2 B1 D1 poco Se nee TO ee ee ugr teas SS Op C digo L B 1 D1 B 2 D2 RliLice T SE A A CEEE m s RX Op C digo R1 X2 B2 D2 pues sel cce steely orl Slee Hay m s de una forma de instrucci n de las SS Esta es la veremos por ahora donde C digo de Operaci n de Op C digo Base de registro de denc Bi B2 Campo de desplazamiento Di D2 Campo operando inmediato 12 Campo Longitud D tans Indice de campo designaci n R x2 Tenga en cuenta que todas las instrucciones de uso de uno dos o tres medias palabras Recuerde que una fullword es de cuatro octetos por lo que una media palabra es de dos bytes Por lo tanto todas las instrucciones ocupan
78. 015 010 010 002 037 JUNQUE 025 015 015 018 073 TOTAL 060 055 045 040 200 003 records processed 13 Escribir un programa que producir conteos por sexo y estado civil de los registros en el archivo Su resultado deber a aparecer como sigue STUDENT 1 2 3 4 1234567890123456789012345678901234567890 STUDENT STATISTICS 178 7 15 EJERCICIOS CAPITULO 7 BOLSAS DE ARITMETICA DECIMAL Status Male Female Total Single XXX XXX XXX Married XXX XXX XXX Total XXX XXX XXX Note A table of this type is called a cross tabulation or cross tab 14 14 Consulte la base de datos Small Town Hardware Store mas con juntos de datos Escribir un programa en el que figurar n s lo los elementos de la Herramienta de archivo que debe ser condenada Se trata de articulos donde la suma de la cantidad en la mano y la can tidad de orden es menor o igual a la cantidad minima El informe debe aparecer como sigue 1 2 3 4 5 123456789012345678901234567890123456789012345678901234567890 SMALL TOWN HARDWARE STORE QOH 000 Sum XXX XXX XXX TID XXX XXX XXX Description XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXX XXX XXX b Modificar el programa en el inciso a de modo que adem s de crear el informe una nueva herramienta de archivo se crea con la cantidad en el campo para actualizaci n de aquellos art culos que est n orde nados La nueva cantidad en el orden debe ser igual a la ca
79. 1 Teniendo en cuenta X DC F 16 Y DC F 3 Y y Z DC F 0 Suministro de las instrucciones para multiplicar x por y con el producto en Z y en el registro 7 Mostrar los resultados intermedios R6 R7 1 2 Teniendo en cuenta Un F 32 DC DC F 4 B C DC F 0 Suministro de las instrucciones para multiplicar A por con el producto en C y en el registro 5 Mostrar los resultados intermedios R4 R5 1 3 Teniendo en cuenta registro de 9 contiene 64 Utilice la instrucci n M para multiplicar esto por 5 con el producto en el Registro 9 Mostrar los resultados intermedios R8 R9 antes 1 Teniendo en cuenta registro 5 contiene 4 registro de 6 contiene 3 y reg istro de 7 contiene 2 Suministro de la la instrucci n se multiplica el valor en el registro de 7 por el valor en el registro de 5 con el producto en el registro 7 Mostrar los resultados intermedios R6 R7 antes X k OK ck CK OK CK CK ck CK OK CK CK CK CK ck kK kK GR En estos dos ejemplos el segundo operando era peque o 8 y 3 Cada uno de ellos de hecho cabe en un media palabra Si uno o ambos de los operandos 413 R6 R4 R5 16 2 BINARY MULTIPLICACION LA MH MR Y LAS INSTRUCCIONES CAPITULO 16 MAS ARITMETICA BINARIA de una instrucci n de multiplicaci n es una media palabra el MH multiplicar halfword instrucci n puede ser utilizado La instrucci n de MH es mucho m s simple que el M o MR se utiliza un registr
80. 13 14 12 12 13 14 6 5 EJERCICIOSP TULO 6 QU ES ESTA COSA DE LA IZQUIERDA a Llene los espacios en blanco l neas 15 19 PAGE STUFF6D PC 370 CROSS ASSEMBLER OPTIONS LXACE LOC ADR1 ADR2 LINE LABEL OP 000000 1 BEGIN 000000 2 STUFF6D CSECT 000000 3 USING 000000 47 0 058 0058 4 B 000004 OB 5 DC 000005 E2E3E4C6C6F6C440 6 DC 000010 0000000000000000 7 20 001 DC 000058 90ECDOOC 000C 8 KZHQX001 STM 00005 50DOF014 0014 9 ST 000060 18ED 10 LR 000062 4100 010 0010 11 LA 000066 50D0E008 0008 12 ST 00006A 13 DROP 00006A 14 USING AR A ee 008D 15 MVI PEE IM PN SENE LUE 008A 008D 16 MVC ANA ee Ass 008 17 CLI SR NR 0080 18 BNE pe 008A 19 MVI 000080 00000080 20 N EQU 000080 21 RETURN 000080 58 0004 0004 22 L 000084 98ECDOOC 000C 23 LM 000088 24 BR 00008A D4D6D4 25 L DC 00008D 4040 26 DC 000090 27 END b Usted es el equipo cu les son los valores de L y despu s de este programa corre 7 Ejercicios 7 a Fill in the blanks lines 15 19 and 25 27 STUFF6E PC 370 CROSS ASSEMBLER OPTIONS LXACE LOC ADR1 ADR2 LINE 000000 000000 142 LABEL 1 OP 1 OPERANDS 15 KZHQXOO1 AL1 11 CL11 STUFF6D gt 18F 0 14 12 12 13 13 HZQKX001 4 14 13 13 70 001 13 8 0 14 15 HZQKX001 13 M C L L 2 M L C N N L C M 13 4 13 14 12 12 13 14 CL3 MOM CL2 PAGE 1 OPERANDS BEGIN 2 STUFF6E CSECT 6 5 EJERCICI
81. 14EF ID CVD r R8 F 00000000 00000000 00000000 00000000 00000000 00000210 00000138 00000200 370 A 000272 PSW 070C200000000272 ILC 4 CC 2 TRACE LIMIT 999 OP 4E70D088 00026 4 700092 4 700088 DEO3D094 DO8E4300 t TRACE SET TRACE EP A 2127 ID ED 370 000276 OP DEO3D094D08E TRACE EP A 161C ID IC 370 A 00027C OP 4300D098 TRACE EP A 1A85 ID MVI 370 A 000280 OP 925BD098 TRACE EP A 1649 ID LA 370 A 000284 OP 4120D094 TRACE EP A 26A3 ID SVC 370 A 000288 OP 0AD1 2 this 2 is from the WTO TRACE EP A 1807 ID STC 370 A 00028A OP 4200D098 TRACE EP A 162D ID L 370 A 00028E OP 58DD0004 TRACE EP A 19D5 ID LM 370 000292 OP 98ECDOOC TRACE A 0B4C ID BCR 370 A 000296 OP 07FE TRACE EP A 26A3 ID SVC 370 A 000102 OP 0A1B A gt Summary of Binary Load Instructions Copy the value of the fullword FW to register Rx L Rx FW maintaining sign integrity Copy the value of the halfword HW to register Rx LH Rx HW maintaining sign integrity Copy the value of register Ry to register Rx Register LR Rx Ry Ry remains unchanged Summary of Binary Compare Instructions Arithmetic compare of the contents of register Rx Rx FW with the fullword FW Arithmetic compare of the contents of register Rx CH Rx HW with the halfword HW Arithmetic compare of the contents of registers Rx CR Rx Ry and Ry Summary of Binary Store Instructions the fullword FW Copies the value of register Rx to 364 14 9 EJERCICIOS CAPITULO 14
82. 3 La rutina PROCESO 392 15 6 4 GET Informaci n del Curso de rutina 393 15 6 5 OBTENER GRADO DE VALOR rutina 393 15 6 6 DO GPA 4 394 15 7 La rutina Wrapup 395 15 7 1 La automatizaci n del proceso con un archivo por lotes 405 15 8 Un resumen de las m s comunes Cuadro Instrucciones de proce Sa trnielitOs a hec e sre Re Ru dots ts 405 15 9 Ejercicios au dd a ta 406 16 M s aritm tica binaria 411 16 1 Par impar Registro de Pares 411 16 2 Binary Multiplicaci n La M MH MR y las instrucciones 412 16 3 Binary Divisi n El D y DR Instrucciones 415 16 4 Programa de ejemplo las ventas en d lares a nivel nacional Dind n s 418 16 5 Muestra del Programa Contribuci n de California a las ventas de 421 16 6 EJETCICI S set e RR e a 425 17 A nivel de bits de Operaciones 429 17 1 La O Y y exclusiva de operaciones 430 17 2 El OL NL y de Instrucciones 430 17 3 The OC Carolina del Norte y XC Instrucciones 433 17 4 Manipulaci n de los registros El SLL y SRL Instrucciones de 434 17 5 Programa de ejemplo a nivel de bits de Operaciones 435 17 6 Programa de ejemplo Acceso la fecha y la hora 440 17 7 Bits de cheques La Instrucci n TM
83. 5k 5k sk ok ok A Pk ok ok PK k ok ok IORI a A ACI OK kkk kkk kk k KOR R k kk k kk kK k k WRITE EQU ST R10 SVWRITE PUT REPORT OREC Write report line AP LNS P 1 L R10 SVWRITE BR R10 BEA AAA ARR A A I WRAPUP Those things which happen one time only after all records have been processed FEA AC k kkk ok PK k ok ok kkk k I ACI k k kk k k kkk k k k Kf k R KOR k A K kk k k k kK K K WRAPUP EQU ST R10 SVWRAP BAL R10 ENDSEM Final control break process CLOSE OFFER CLOSE REPORT WTO OFFER10D Course list on REPORT TXT L R10 SVWRAP BR R10 BE ACC k kkk ok ok kkk k kk k k kk k kk kk kk kkk k k k kk k R KOR R K K kk K k k kK k k Literals if any will go here EE k kkk kkk kkk kk kk 5k k 9k k kk k k kkk k k k kk k k k kk k k akk k OR K KOR K K OR KK K LTORG YK sk okcokeoke sk ok Pk ok ok Pk sk oR kk ok okeokeoke kokeokekek ok okeoke kk okcokekek ok KOR R rere et KK OR R File definitions Y sk Pk sk sk sk Pk Pk kok Pk sk ok PK lalalala lalalala KK R KOR kk kkk k kkk k kk kkk K OFFER DCB LRECL 18 RECFM F MACRF G EODAD ATEND DDNAME OFFER DAT 252 10 5 INFOPAH IRHSUMIDQUIPBRBIIIWIADIOPHOGIDKMIGNG NOL DE REPORT DCB LRECL 42 RECFM F MACRF P DDNAME REPORT TXT k ak k 2k 3k 2k 3k 2k 2k ak ak ak K 3k 3k 3k 3k 2k eS 2K K R K RETURN ADDRESSES kkk ok ok akak ak k 3k joke ko ok
84. 7E or NI FLD B 01111110 Ejemplo7 5 Apague poco cuatro de FLD OT FLD X FO or OI FLD B 11110000 Pero tenga en cuenta X FF B 11111111 255 y 208 00001000 8 y X F7 B 11110111 247 As que tambi n podr a usar NI FLD 255 8 or NI FLD X FF X 08 or NI FLD ALLBITS BIT4 donde ALLBITS EQU X FF 431 17 2 EL OI NI YOARVEUNOTIRUGCNOWEB DE BITS DE OPERACIONES BIT4 EQU X 08 Ejemplo 6 Apaga un bit de FLD Todos los otros bits mantienen sin cambios Este es el reverso de Ejemplo 2 arriba NI FLD B 10111111 or NI FLD X BF or NI FLD ALLBITS X 40 As Ejemplo 6 ilustra c mo podemos cambiar una letra en may sculas min sculas Ejemplo 7 Encienda poco siete de los byte m s a la derecha de FLDB un campo de tres Bolsas de bytes si se trata de fuera de lo contrario lo apaga XI FLDB 2 X 01 Cambiar el valor de un campo de esta manera es decir el encendido si fuera o de transformarla apagado si el se refiere a veces como cambios Pero tenga en cuenta X 0C 0000110 0 and X 0D 0000110 1 Recuerde que C representa un signo positivo en una serie de pic nic y D representa un signo negativo en una serie de pic nic y vemos que si el ltimo byte XI con X 01 que cambiar entre C y D As Ejemplo 7 ilustra c mo podemos cambiar el signo de un n mero de pic nic intenta 1 5 Escriba las instrucciones para desactiv
85. 9 ok K FK de ok ok ale FK ok K K K ale X 2K K K 2K X K K K ale ale BADCHANG EQU ST R10 SVBADCHG BAL R10 CHKLNS MVC RREC BLANKS BAL R10 WRITE MVC RDATA TREC MVC RMSG CL16 CHNG NOT ON FILE BAL R10 WRITE AP REJECTS P 1 BADCHGX EQU L R10 SVBADCHG BR R10 BEA AAA AAR A A A 2k R 2k kkk kk BADDEL Bad Delete Attempted Aak kkk kk k PK ak akk 5k k OR Ok OR PK 2k 3k k ak 2k ak k ak ak 2k 3K 2k 3k 3k 2k ak ak ak k 2K 3K 2k 3K 2k ak oe 2K 3K 2K 3K 2k 2k k K gt k K 2K 2K 2K OR K BADDELET EQU ST R10 SVBADDEL BAL R10 CHKLNS 293 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N MVC RREC BLANKS BAL R10 WRITE MVC RDATA TREC MVC RMSG CL16 DLTE NOT ON FILE BAL R10 WRITE AP REJECTS P 1 BADDELX EQU L R10 SVBADDEL BR R10 FEA AA R R KOR 9k 9k 9k A A A A I I I I 2k 21 ADDIT Add a new record to master file lt 2K gt lt 2K K K K KK al X K k X K ok X X ok ok ok ok ok ale ode K KK X ok oko ok ok ale K ok K ode X FK FK K ok K ale FK ok K K K ale X ok K K 2K ok ale ale k ADDIT EQU ST _R10 SVADDIT MVC MVC TLNAME MVC MVC OADDR TADDR MVC MVC OSTATE TSTATE MVC OZIP TZIP MVC OACD TACD MVC OCRLF TCRLF MVC OREC TREC BAL R10 WRITENEW BAL R10 CHKLNS MVC RREC BLANKS BAL R10 WRITE MVC RDATA TREC MVC RMSG CL16 ADD SUCCESSFUL BAL R10 WRITE AP a
86. A I RETURN ADDRESSES FEA AAA RRR A A ACA I I I kK search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 SVCHKLNS DC F gt 0 CHKLNS SVCHKSEM DC F gt 0 CHKSEM SVENDSEM DC ENDSEM kkk kk k k 3k akk akk k k k k 3k akk ee k k k k 2k 3k 2k 3k 2k ak k k R OR KOR ROROROROKOR OR OR KOK R K Miscellaneous field definitions Yc 3k sk kkk kk k k 5k 9k 5k sk ok kk R k ke ke k 3k 9k ak k ak R ok 3K k ok ke Ok k k OR OR OK R K WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N PGS DC PL2 0 Nbr of pages printed LNS DC PL2 10 Lines printed on this page MAXLNS DC PL2 10 Max nbr lines per page My line counts exclude hdgs BLANKS DC 40 gt HOLDSEM DC CL3 Hold semester SEM DC PL2 0 Sections in a semester Yk 3k kk sk 5k ok ke ok k k kkk kk kk k k k eS 2K 2K R K Input record definition kk k ke ok k PK 5k 5k 5k sk ok kk OR PK ke ke ke ak akk kk R ok ko 3k 3k ok ke k k k 2K 3K k 3K 2K 2k kk k k 2K OR 2K R K IREC DS 0 1 18 1 18 Offer record ISEM DS CL3 1 3 Semester ICID DS OCL5 4 8 Course ID IDEPT DS CL2 4 Department DS CL3 6 8 Course number ISECT DS CL1 9 9 Section number ITID DS CL3 10 12 Teacher 1D IROOM DS CL4 13 16 Room number IOCRLF DS CL2 17 18 PC 370 only CR LF kk ok 5k ok k ak k 3k akk 3k 2k ak k ak k 2k 3K k 3k 2k 2k k k ak k 2K 3k 2k 3K 2k ak ee 2 OR 2K R K Out
87. ACAI 3K 3K 21 KR K K WRAPUP Those things which happen one time only after all records have been processed kkk ok ok ok PK ok ke k 5k joke sk ok ak ak R PK ke ke k 3k 9k ko ak ok ok 3K 2k ok ke ke 2k ak 2k 9k 2k ke k ak R OR KOR kk 2K 2k K OR K OR gt K K gt K K WRAPUP EQU ST R10 SVWRAP CLOSE STUDENT CLOSE GRADE CLOSE REPORT WTO TRANSCR2 Transcripts on REPORT TXT L R10 SVWRAP BR R10 BEA AC A IORI I kkk a A ACI k k I k k kkk k kK A k R KOR R R Literals if any will go here BEA k kkk k ok ok kkk k k kk k ICI k kk kk k k kkk k k R 1 R K R kk K K k kK K K LTORG EEEE EESE EEE EEE EE E E KOR E Ek kk kk kk kkk k kkk kkk kkk K File definitions EEEE EEEE EEEE EE EE E KOR E EEk KOK KOR kk kkk k kkk kkk kkk K STUDENT DCB LRECL 22 RECFM F MACRF G EODAD ATENDSTU DDNAME STUDENT SRT COURSE DCB LRECL 23 RECFM F MACRF G EODAD ATENDCRS DDNAME COURSE SRT GRADE DCB LRECL 26 RECFM F MACRF G EODAD ATENDGRA DDNAME GRADE SRT REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT et et 27 RETURN ADDRESSES lt 2K gt lt lt 2K ok K KK K X K K K K ok oko ok ok ok ok ok ale K de 5 9 ok ok K K ok K K K K K K K K K K K K K K FK K K K K FK K K K K K K K K K K SVSETUP DC F 0 SETUP SVHDGS DC PO H
88. BINARIO APBUUSAS4EBVNARY ARITHMETIC Tenga en cuenta que el segundo operando de la CVB debe ser un n mero v lido de pic nic Si no es as entonces usted Abend obtener una excepci n de datos Adem s este n mero debe ocupar Bolsas de los ocho bytes de la palabra doble Puede parecer un poco extra o que un n mero de relleno se est n alma cenando en una palabra doble Sin embargo podemos pensar en una palabra doble en este caso como ocho bytes que resultan ser palabra doble alineados Si DBLWORD se hab a definido como DC D 0 entonces no comienza como un n mero v lido de pic nic pero el Instrucci n PACK sustituir el cero binario con un n mero de pic nic 14 5 Conversi n de binario a Bolsas ECV Lo contrario de la Oficina de Turismo de ECV es convertir a decimal Es ta instrucci n se convierte el contenido de registro en un n mero embalado y almacenar ese n mero embalado en una palabra doble La instrucci n de las ECV como la instrucci n de ST es una de las pocas instrucciones en el segun do operando especifica el campo de recepci n recordar que en la mayor a de los casos el segundo operando es el campo de origen y de la primera operando es el campo de recepci n Usted tendr que usar la instrucci n para convertir a las enfermedades car diovasculares con embalaje decimales si no por otra raz n de imprimir el n mero No hay un equivalente a la instrucci n ED para n meros binarios un binario n m
89. BZ DOGPA3 DP DIVIDEND DIVISOR 394 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO SRP ZAP DOGPA3 EQU ZAP DOGPA4 EQU MVC ED MVC PUT DOGPAX EQU L BR QUOTIENT 64 1 5 PK3 QUOTIENT DOGPA4 PK3 P 0 X 402021204B2020 WK7 PK3 AGPA WK7 2 REPORT AREC R10 SVDOGPA R10 15 7 La rutina Wrapup Cuando las transcri todos los archivos abie WRAPUP pciones de todos los estudiantes se han impreso se cierran rtos EQU ST R10 SVWRAP CLOSE STUDENT CLOSE GRADE CLOSE REPORT WTO gt TRANSCR2 L R10 SVWRAP BR 10 Transcripts on REPORT TXT Para completar el c digo fuente completo para el programa anotado TRAN SCR2 MLC siguiente 395 ff 40 4385 436 PRINT NOGEN FKK KK gt x OR XA x FILENAME TRANSCR2 MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce transcipts This program illustrates table logic gt lt gt K gt lt x gt gt lt gt lt oe ok ok ok FKK K KOR KOR FK ok ok KOK FK ok KOR K K OK KOR FK R OR KKK BEGIN START 0 REGS BEGIN WTO TRANSCR2 Begin execution search main loop SETUP EOFSTUD to EOJ PROCESS WRAPUP 389 WTO TRANSCR2 Normal end of program 395 x 15 7 LA RUTINA WRAPURPITULO 15 T
90. CAPITULO 14 BINARY ARITHMETIC BEA AAA R KOR 9 9k 9k A A A A I I I OR kk 21 21 2k 2k R oo k k 2k 2k R 2k kkk kk WRAPUP Those things which happen one time only after all records have been processed Kok ok ok ok sk sk sk ok PK R PK PK AAA RAR k k 2k 2k 2k 2k 2k kk OR R WRAPUP EQU ST R10 SVWRAP CLOSE INVENTRY CLOSE BINARY WTO 2COGS14A Binary file COGS BIN created ED MSG OUT OUT WTO MSG L R10 SVWRAP BR R10 gt K 5k sk sok AC k ok ok PK k ok ok kkk k k kk k I ICICI AI kk k k k kk k k KOR R 4 kk k kk kK k k Literals if any will go here BEA CA k kkk kk kkk k kk k kkk k kk kk k k kkk k k k kk k R kk K R kk K k k kK k K LTORG Kok ok ok ok ok sk sk sk EEEE k 2k 2k 2k 2k 2k 2k 2k 2 kk File definitions BE AAA OR KOR 9 9k 9k AR A A A kkk kkk INVENTRY DCB LRECL 41 RECFM F MACRF G EODAD ATEND DDNAME COGS DAT BINARY DCB LRECL 28 RECFM F MACRF P DDNAME COGS BIN YK okk sk sk sk ok P Pk EEEo ooo oook k RETURN ADDRESSES BEA AAA R KOR 9k 9k ARR A A A AC A OR OR 1 1 21 21 21 24 R 24 K k SVSETUP DC F 0 SETUP SVPROC DC F 0 PROCESS SVREAD DC F 0 READ SVFORM DC F 0 FORMAT SVWRITE DC F 0 WRITE SVWRAP DC F 0 WRAPUP BEA AAA RARE A A ACA 21 21 24 2 R kkk kkk Miscellaneous field definitions EEEE EEEo ooo ooo oook k WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N 00 PL2 0 Co
91. CL4 Highest degree DC gt OTTEN DS CL1 Tenured DC gt OTPHONE ODS CL4 Phone nbr DC CL21 OCRLF DS CL2 PC 370 only CR LF Headings definitions HD1 DS OCL62 DC CL40 LIST OF TEACHERS DC CL20 gt DC XL2 0D25 HD2 DS OCL62 DC CL60 gt DC XL2 0D25 HD3 DS OCL62 DC CL40 ID Name Degr Ten Phone DC CL20 DC XL2 0D25 HD4 DS OCL62 DC CL40 DC CL20 DC XL2 0D25 END BEGIN 68 2 5 2 DEFINICI N Y MOVIMIENTO DE CAR CTERES A MIN gt teach2c TEACH2C Begin execution TEACH2C Teacher list on REPORT TXT TEACH2C Normal end of program A MIN gt type report txt LIST OF TEACHERS ID Name Degr Ten Phone 732 BENSON E T PHD N 5156 218 HINCKLEY G B MBA N 5509 854 KIMBALL S W PHD 5594 626 YOUNG MBA 5664 574 SMITH J MS 5320 2 5 Ejercicios 1 1 Verdadero falso La instrucci n MVC FLDA FLDB se mover copia FLDA a FLDB FT b El n mero de personajes se mov an con un solo MVC est determi nada por la longitud de F T del campo de envio de menos que se sustituya Un m ximo de 256 caracteres se puede mover con un nico MVC F T Al utilizar un MVC si el campo de recepci n es m s corto que el campo de envio el F T personajes de la extrema derecha se truncan se mueven e Al utilizar un MVC si el campo de recepci n es m s largo que el campo de env o el F T bytes adic
92. CL5 19 23 BAGE DS CL2 24 25 BSEX DS CL1 26 26 BCRLF DS XL2 PC 370 Only 27 28 Field C 76c CREC DS 0CL28 1 28 CNAME DS OCL14 1 14 CFIRST DS CL7 1 7 CLAST DS CL7 8 14 CZIP DS CL9 15 23 CAGE DS CL2 24 25 CSEX DS CL1 26 26 CCRLF DS XL2 PC 370 Only 27 28 76 77 3 2CAR NDARA EN BEN BAIINSOHDAGKSNGNADE CAR CTER FIELDS Tambi n se har referencia a las siguientes reas de trabajo Field W 77 BLANKS DC CL20 WNAME DS 0 1 20 WFIRST DS CL10 WLAST DS CL10 WZIP DS CL5 WAGE DS CL2 WSWITCH DS CL1 The Data 1 2 12345678901234567890123456 File CHERYL HAVLIK 6018333 F File B APRIL HAVLIK 6055430F File KEVEN FOOTE 60183025828M OOK OK OK CK OK CK OK OK OK CK k k OK CLC AFIRST BFIRST Desde AFIRST se define como CL8 un total de ocho octetos ser n com parados aunque BFIRST se define como CL9 el ltimo byte de BFIRST no est incluido en la comparaci n CLC AFIRST BFIRST ICIHIEIRIYILIb bless edes JAIPIRIIILIb La comparaci n se realiza de izquierda a derecha comparando el primer byte de cada campo luego el segundo el tercero etc hasta que todos los bytes se han comparado o hasta que se encontr una diferencia En este caso el primer byte es diferente C vs A para la comparaci n termina despu s de un solo byte Y puesto que C es mayor que viene despu s A el c digo de estado resultante es 0010 o 2 o alta CLC AZIP BZIP D
93. CL6 El campo de A contiene una fecha almacenada en DD MM AA formato Mover A a B tal que B contiene la fecha en formato YYMMDD 17 la definici n de todos los campos y el uso de los AT solamente 18 longitud expl cita el uso y el desplazamiento solamente 19 Se intenta repetir el ejercicio 11 utilizando la longitud expl cita y el desplazamiento solamente Informe 2 4 Agregar y encabezados de columna La anterior lista de los registros en el archivo maestro fue mencionado como una r pida y sucia de la lista nos dijo que por r pido y sucio nos referimos a un informe sin t tulos los n meros de p gina etc Nuestro prop sito aqu es anadir informe y los encabezados de columna a la lista de los profesores No vamos a hacer n meros de p gina este momento Los n meros de p gina puede parecer una cosa f cil para usted si usted ya saben otra lengua pero ese no es el caso en ensamblador Lo hacen despu s de todo requieren aritm tica es decir a adir 1 a la p gina de venta libre y la impresi n de los resultados de la aritm tica no es trivial cosa en BAL Nuestra nueva lista aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 LIST OF TEACHERS IDs Name Degr Ten Phone XXX XXXXXXXXXXXXXXX XXXX X XXXX 63 64 2 4 AGRAP AR VOEN CABFIDACIONDEMOVIMMNMTO DE CAR CTERES XXX XXXXXXXXXXXXXXX XXXX X XXXX XXX XXXXXXXXXXXXXXX XXXX X XXXX Usaremos D
94. CLI EOFGRADE C Y BE EOJ BAL R10 PROCESS B MAIN EOJ EQU BAL R10 WRAPUP WTO TRANSCR1 Normal end of program RETURN EQU RETURN ke ok ok SETUP Those things which happen one time only before any records are processed lt 2K gt lt al KK ale x K k X K ok oko ok ok ok ok ok ale ok de KK X ok oko ok ok ale K ok K ode ok K K K ok ale ale 1 ok K K K ale X K K K 2K ok ale ale K ale ale SETUP EQU ST R10 SVSETUP DI GRADEIN 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI GRADEOUT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN GRADEIN OPEN GRADEOUT BAL R10 READGRAD Priming read GRADEIN L R10 SVSETUP BR R10 BAA A OR OR OR RA 9k 9k A A A A I I A A 21 21 R 24 24 2k R k k k 2k 2k 2k 2k kkk kk PROCESS Those things which happen once per record BAA AAA R KOR 9k 9k 9k A A A A I A OR I ORO PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 WRITE 385 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITULO 15 TABLA DE PROCESAMIENTO BAL R10 READGRAD PROCESSX EQU L R10 SVPROC BR R10 k k k k kak k k k k ak ak ak ak 3k 3k 3k 3k 3K ak 3K ak aK ak ak ak 3K 3K 3K 3K 3K K K K K K K K K K 3K 3K 3K 3K KK K K FORMAT Format a single record with sort key ak k k k kk k IAG K K I ICICI OR OR
95. College Esa base de datos se muestra aqu en su totalidad E CK OK CK CK OK CK EEE CK CK ck ck ck 1 3 CREACI N DE DBHIGEEBDSPPASQS CON PC 370 218 HINCKLEY MBA N 5509 854 KIMBALL PHD Y 5594 S W 626 YOUNG B MBA Y 5664 574 SMITH J MS 5820 Cuadro 1 3 TEACHER W92 EG102 1 132 A1 W92 107 1 218 A2 W92 151 1 574 GYM F92 101 1 218 Bl 92 0101 1 218 B1 F92 EG101 1 732 Al F92 101 2 732 Al 92 101 1 626 2 92 101 2 626 2 F92 5 1 574 GYM W93 EG102 1 854 1 W93 101 1 626 2 W93 107 1 626 WO93 151 1 574 GYM Cuadro 1 4 OFFER 18 1 3 CREACI N DE DIBHIGEEBDSPPASQS CON PC 370 626 W92 EG102 806 W92 151 263 W92 151 896 F92 101 896 F92 BU101 896 F92 101 713 F92 EG101 421 F92 EG101 713 F92 MA101 896 F92 MA101 125 F92 MA101 701 F92 MA101 263 F92 PE151 701 F92 PE151 713 W93 102 421 W93 EG102 896 W93 02 125 W93 MA101 713 W93 107 896 W93 MA107 701 W93 107 263 W93 151 Rir r r r r r jr rr A AE 51 Wo eoo mim Cuadro 1 5 GRADE 19 1 3 CREACI N DE DBHIGEEBDSPPASQS CON PC 370 Considere la siguiente tabla archivo de los prof
96. DBLWORD for printing MVC OTOTAL X 40202120 ED OTOTAL PK2 L R5 TCALIF R5 California only CVD R5 DBLWORD Convert to packed ZAP PK2 DBLWORD for printing MVC OCALIF X 40202120 ED OCALIF PK2 M R4 F 1000 Dividend will be in R4 R5 DR R4 R3 Divisor nationwide in R3 CVD R5 DBLWORD Quotient is in R5 SRP 64 1 5 ZAP PK2 DBLWORD MVC 40202120 ED OPCT PK2 MVI OPCT L OPCT PERCENT MVC OCRLF WCRLF PC 370 only BAL R10 WRITE CLOSE INVENTRY CLOSE REPORT WTO 2COGS16B Sales report on REPORT TXT L R10 SVWRAP BR R10 423 16 5 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTAS DE CAPITULO 16 MAS ARITMETICA BINARIA RR Rda R R R OR Literals if any will go here FAA k k k k ak ak 3k 3k 3k 3k 3K ak K ak ak ak 3k 3K 3k 3K I 3K 3K 3K ak I I I IK 3K R 3K 3K a K K A AAC AC A 3K 3K 3K OR KOK K K LTORG SE ooo ooo ooo k k k 2k R RR KOR OR File definitions Kok ok ok sk sk sk sk sk Pk R PK AAA ooo ooo INVENTRY DCB LRECL 28 RECFM F MACRF G EODAD ATEND DDNAME COGS BIN REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT FEA A R OR R RRR A A k 2k 2k 2k 2k 2k kkk kk RETURN ADDRESSES EAA AAA ARR 9k 9k A A AGA ICI kk search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 gt K gt K gt lt gt lt gt x gt lt K K KK FK FK K K
97. DS OREC DC END LRECL 18 RECFM F MACRF G EODAD ATEND DDNAME OFFER DAT LRECL 35 RECFM F MACRF P DDNAME OFFER TXT CL18 CL35 gt BEGIN 73 Capitulo 3 IFS en BAL Comparaci n de car cter FIELDS Objectivos Al t rmino de este cap tulo ser capaz de Determinar el c digo de estado resultante de la comparaci n alfanum ricos utilizando el CLC y las instrucciones de la CLI Explicar c mo la rama sobre la condici n de la instrucci n se utiliza para alterar la secuencia de transformaci n seg n el c digo de condici n los mnem nicos lista ampliada de la rama en la instrucci n condici n Usar la CLC y las instrucciones de la CLI para aplicar la l gica en un diagrama de flujo determinado o pseudoc digo y Escribir un programa de extracci n Introducci n En los cap tulos anteriores hemos visto varias formas de elab orar una lista de los registros en el archivo MAESTRO En cada caso hemos enumerado todo el archivo Veamos ahora c mo la lista de registros selecciona dos Estos programas se conocen com nmente como extracto programas Nuestro pr ximo programa ser elaborar una lista de profesores titulares El nuevo informe aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 LIST OF TENURED INSTRUCTORS ID Name PhD Phone XXX XXXXXXXXXXXXXXX X 517 XXXX XXX XXXXXXXXXXXXXXX X 517 XXXX 74 3 1CXK NIDAG A EN BEN BAIC ODI
98. DS CL1 BYTE2 DS CL1 HALF2 DS OH BYTE3 DS CL1 BYTE4 DS CL1 FULL2 DS OF HALF3 DS OH BYTES DS BYTE6 DS HALF4 DS OH BYTE7 DS CL1 BYTES DS CL1 O O O O QQ N F gt RB I O O Q N N FB 0 intenta 1 El siguiente registro se define como 24 bytes pero en realidad se ocupan m s que eso Suministrar LOC los desaparecidos y determinar el n mero de bytes ocupados por este registro dado que el COL del primer byte es 020100 Usted debe terminar con LOC 02011C para BIG7 Luego reordenar la campos en el registro de manera que el registro de hecho ocupan s lo 24 bytes Usted debe terminar con LOC 020117 para BIG7 343 CAPITULO 14 BINARY ARITHMETIC LOC 020100 BIGMESS DS OCL24 BIG1 DS CL5 1 5 BIG2 DS D 6 13 a m 5 BIG3 DS CL3 14 16 ae BIG4 DS H 17 18 Di BIG5 DS CL1 19 BIG6 DS F 20 23 BIG7 DS CL1 24 x k OK OK OK OK OK CK ck k OK CK OK CK CK ck CK OK OK x Habiendo examinado los tres tamanos de los campos binarios palabra doble fullword y halfword ahora vistazo a la capacidad de estos campos es decir el rango de valores que cada uno puede contener Empezamos con la media palabra ya que es la mas facil Sabemos que una media palabra ocupa dos bytes y sabemos que de cada byte puede ser representado por dos digitos hexadecimales cada uno de los cuales representa cuatro bits Recuerde que en el nuestro an lisis de n meros empaq
99. DS CL2 66 67 PC 370 only CR LF k k sk ok ok sk 3k AR KI I 1K a 5k 1 kkk kkk kkk kk 21 kk kkk k k kk K K K K Headings definitions BESO 5k I I kk A A kkk 4 4 21 kk k k k kk kk kk k OR K KOR K R K K HD1 DS OCL67 DC CL40 COGSWORTH INDUSTRIES DC CL25 gt DC XL2 0D25 HD2 DS OCL67 DC CL40 Inventory Discrepancies R DC CL25 eport DC XL2 0D25 HD3 DS OCL67 DC CL65 gt DC XL2 0D25 HD4 DS OCL67 DC CL40 Product Begin Purch Sales Exp DC CL25 ect Actual Result DC XL2 0D25 HD5 DS OCL67 DC CL40 DC CL25 XL2 0D25 END BEGIN 169 7 13 EL SS FORMAVPIDIE INSTRBOUCS S REMBITMETICA DECIMAL 7 13 El SS formato de instrucci n Revisited El PACK UNPK AP ZAP SP CP y las instrucciones son de todo tipo SS o de almacenamiento a almacenamiento instrucciones Cuando se introdujo por primera vez el formato de instrucci n de las SS le dijo que no habia m s de un forma de instrucci n de las SS Todas estas instrucciones son de la segunda forma 1 de halfword 2 halfwo La forma diferente es necesario porque estas operaciones tienen dos campos de longitud es decir la operandos pueden ser de diferentes longitudes Recu rdese que el MVC y las instrucciones de la CVX tiene una longitud de nico operador y que la duraci n de la operaci n est determinada por la l
100. Each product s sales must be packed so they can be add to total for this product Initialize the total to zero and start adding 163 7 12 EJEMPLO DKCAR OCGH AMA GONSAB WISI ARDIMETICA DECIMAL AP WTOTAL WILL AP WTOTAL WUTAH AP WTOTAL WWISC UNPK OSALES WIOTAL Move total to output MVZ OSALES 2 1 X FO and remove the sign 2 Paso 2 El inventario final esperado es igual al inventario inicial mas las compras realizadas Desde entonces menos las ventas totales Esto tambi n requerir el uso de algunos campos de trabajo PACK WBEGIN IBEGIN PACK WPURCH IPURCH Expected ending inventory ZAP WENDING WBEGIN Beginning AP WENDING WPURCH Purchases SP WENDING WTOTAL Sales UNPK OENDING WENDING MVZ OENDING 2 1 X FO 3 Paso 3 Reste la cantidad real de la mano de el inventario final esperado Muestra este diferencia si no es igual a cero Incremento de los contadores para el n mero de registros que indiquen extraedad o escasez PACK CP BE BL AP MVC B SHORT EQU AP MVC DODIFF EQU ZAP SP UNPK MVZ FORMATX EQU IQOH WENDING Compare actual vs expected FORMATX Don t show difference if zero SHORT HOVER P 1 Count overages ORESULT CL5 over DODIFF SHORT P 1 Count shortages ORESULT CL5 short WDIFF WENDING Difference Expected Actual WDIFF WQOH ODIFF WDIFF ODIFF 2 1 X FO Cuenta Registro se muestran en la sec
101. En este cap tulo dar ese paso l gico uno m s por BQSFU la designaci n de un archivo como un archivo maestro y el UPDATE otros como un archivo de transacciones En lugar de PROGRAMA simplemente crear un informe las operaciones se utiliza para actualizar el archivo maestro Esto procedimiento conocido como un archivo secuencial actualizaci n es una aplicaci n muy com n AUDITOR A NUEVO INFORME Una l gica similar 276 CAPITULO 12 CUENCIAL DEL ARCHIVO DE ACTUALIZACION se utiliza en otros negocios MASTER solicitudes as como la fusi n purga la transformaci n en el marketing directo y en el disco como BQSFUNEW DAT Informe txt ser autom ticamente la aplicaci n de los pagos a los cr ditos en el en el N mero de Cliente contabilidad secuencia El diagrama de flujo del sistema para la secuencia archivo de actualizaci n del programa se muestra a la derecha Nota El prop sito de este cap tulo es ilustrar la l gica de actualizaci n Perfect de datos se presume es decir ning n campo de edici n de nivel por ejemplo para comprobar que un c digo postal es num rico se muestra Para mantener nuestro sencillo ejemplo la entrada de edad del archivo maestro un archivo de transacci n y la producci n nuevo maestro archivo todos tienen el mismo dise o de registro Nombre Descripcion Inicio Final Long Formato 1 NBR Numero de Cliente 1 5 5 ZD 2 LNAME Ape
102. FK FK K K R ok ok K K ok X K FKK oe oe K K ok ok ok OR START 0 BEGIN BEGIN gt K gt K gt lt gt lt K K K FKK K ok ok ok KK FK FK dd KOR FK R OR R OR R OR WTO SEE PAGE 9 3 FKK KK KK K FKK K K FK K KK FK FK K FK FK FK FK K K FK FK K FKK FK FK K K FK FK K FKK FK FK K IK FK FK K FK FK FK FK K FK FK FK FK FK FK FK FK K FK FK 2K K K MVC WK8 MASK ED WK8 FLDA WTO WK8 MVC WK8 X 4020202020202020 ED WK8 FLDA WTO WK8 k k kkk kak ak ak ak k ko WTO SEE PAGE 9 4 FKK KK KK K KK K RR KOR R R OR ok OR 202 9 1 MUESTRA DEL PROGRAMIA TULO 9 LA INSTRUCCI N EDITAR MVC ED WTO MVC ED WTO WK6 MASK2 WK6 FLDB WK6 WK6 MASK3 WK6 FLDB WK6 FKK x K K ok ok K K ok ok K KK K FK K K ok ok ok K K FK FK K FKK FK FK K K R FK ok ke ok FK OK KOR K K ok KOK ok ok FK FK FK K FK KOR FK R KK OR WTO SEE PAGE 9 5 Add KOR 3K R R R OR R OR MVC ED WTO MVC ED WTO MVC ED WTO WK9 X 4020202020214B2020 WK9 FLDA WK9 WK7 X gt 402020214B2020 WK7 FLDB WK7 X gt 402021204B2020 WK7 FLDB WTO SEE PAGE 9 6 FK FK K K K FK FK K K FK FK K FKK FK FK K ke ok ok ke K KOR KOR FK K F
103. GOTO 60 IF BSEX lt gt CSEX THEN GOTO 60 LET WSEX BSEX LET WSWITCH Y GOTO 90 REM ELSE LET WSEX CSEX LET WSWITCH N REM ENDIF Solution BAL CLC BAGE CAGE BNE NOPE CLC BSEX CSEX BNE NOPE MVC WSEX BSEX MVI WSWITCH C Y B DONE NOPE EQU MVC WSEX CSEX MVI WSWITCH C N DONE EQU Example 4 IF OR THEN Pseudocode IF AAGE greater than 30 OR ASEX is male move AAGE to WAGE move ASEX to WSEX ENDIF Flowchart AAGE gt Y Old BASIC Solution 10 20 30 40 50 60 70 IF AAGE gt 30 THEN GOTO 40 IF ASEX M THEN GOTO 40 GOTO 70 REM THEN LET WAGE AAGES LET WSEX ASEX REM ENDIF Solution BAL 84 30 3 6CA4R MPLO BROERANBAL COMPARACI N DE CAR CTER FIELDS CLC AAGE CL2 30 BH YES CLI ASEX C M BE YES B MORE YES EQU MVC MVC WSEX ASEX MORE EQU OOK k OK OK OK CK CK ck k OK OK OK CK CK ck kK OK OK x Ejemplo completa Suponga que desea determinar si un campo contiene un segundo nombre inicial solamente y en caso afirmativo para mover un periodo posterior a la inicial Suponga que la definici n del campo y el valor siguientes MNAME 05 CL12 IPlb blblblblblblblbIblbl We will assume that there is an initial only if the first byte is not blank and the remaining bytes are blank One solution is as follows Vamos a suponer que existe una inicial s lo si El primer byte no est en blanco y Los bytes restan
104. HD3 DS OCL62 DC CL3 ID 1 3 3 DC CL8 4 11 8 DC CL4 Name 12 15 4 DC CL9 16 24 9 DC CL4 Degr 25 28 4 DC CL2 29 30 2 DC CL3 Ten 31 33 3 DC CL2 34 35 2 DC CL5 Phone 36 40 5 DC CL20 41 60 20 DC XL2 0D25 61 62 2 62 A pesar de que el espacio entre columnas es m s de un byte de ancho un espacio en blanco se utiliz como el valor de cada uno de los pa ses en desarrollo Esto es as porque como hemos dicho anteriormente al definir los datos de car cter DC con el tipo C el campo se rellenar con espacios en blanco es decir los siguientes son equivalentes es equivalente a 37 463b 5 DC CL8 bbbbbbbb gt DC Muchos programadores va un paso m s all al darse cuenta que como este es el caso se podr a incluir que la longitud de la longitud del campo anterior con lo que la omisi n de los pa ses en desarrollo en blanco por completo 37 465b gt HD3 DS OCL62 DC 11 1 1 11 11 CL13 Name 12 24 13 DC CL6 Degr 25 30 6 DC CL5 Ten 31 35 5 DC CL25 Phone 36 60 25 DC XL2 0D25 61 62 2 62 65 CL8 b 66a 66b 2 4 AGRAPIAR MOEN CARFIZADI N DE MOVIMINATO DE CARACTERES Yo prefiero a romper mis partidas en bloques de 40 caracteres Este tamano se encajan f cilmente en una sola l nea y dado que la mayor a de los gr ficos de dise o de impresi n tienen l neas de la cuadr cula cada 10 caracteres es un simple la tarea de transcribir los t
105. ID nbr DC CL2 gt 4 5 RINAME ODS CL15 6 20 Teacher name DC CL3 gt 21 23 RCID DS CL5 24 28 Course ID DC CL6 gt 29 34 RSECT DS CL1 35 35 Section number DC CL5 36 40 RROOM DS CL4 41 44 Room number DC CL16 gt 45 60 RCRLF DS CL2 61 62 PC 370 only CR LF BEA A AACR ARK 9k EA A SK SKOR OR OR OR RR 1 1 1 4 OR R k Headings definitions BER AAA RAR A A SKOR OR OR OR ORO 21 21 21 24 OR K K K 2k 2k 2k FORMFEED DS OCL62 PC 370 only DC X 0C EBCDIC formfeed DC CL59 gt DC 60C For testing DC X 0D25 EBCDIC CR LF HD1 DS OCL62 DC CL40 F92 Teaching Assignments 2 DC CL4 Page HDPGS DC CL4 BZZ9 DC CL12 DC XL2 0D25 HD2 DS 0CL62 DC CL60 DC XL2 0D25 HD3 DS OCL62 DC CL40 TID Name Course Section DC CL20 Room DC XL2 0D25 HD4 DS OCL62 DC CL404 22 secar n DC CL20 DC XL2 0D25 END BEGIN 272 11 8 EJERCICIOAPITULO 11 MAS DE UNA ENTRADA DE ARCHIVO 11 8 Ejercicios 1 1 Verdadero o falso Cuando dos archivos se procesan utilizando la l gica de juego a un archivo general se puede considerar como el archivo maestro y el otro como el F T archivo de transacciones ambos archivos deben ser secuenciados en el campo clave F T Tipo de comando de DOS crea un nuevo archivo que contiene los registros ordenados F T el par metro de la DCB DDNAME debe referirse al archivo ordenado F T de la l gica de largo recorrido continuar hasta
106. KOK KOR KOR FK KOR KOR FK K R R R R OR Totals line definition 403 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO TREC TATTEMPT TQUALITY Ad K FK K K R FK ok FKK K KOR KOR FK ok ok KOK ok K FK OK FK KOR KOR FK oe od OR FKK KK gt gt lt K oe K K KK FK FK K FK K FK FK K K FK FK K FKK FK FK FK K R FK ok FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK FK FK FK FK FK K FK FK FK AREC AGPA FKK KK KK K x K K ok ok K ok ok KK FK FK K FKK FK FK K K KR FK K FKK FK FK ok OK FK FK K oe KOK KOR FK FK FK KOR KOR FK R OR FK OR R K FKK gt gt lt gt lt K gt K K ok FK K KK FK FK K K R FK ok K K ok FK K FKK FK FK K K KR FK K FKK K FK R OK FK FK ok ok FK k KOR FK FK FK K FK KOR FK K OR R R R OR FORMFEED HD1 HDSID HDSNAME DS DC DC DS DC DC DS DC DC DC DS DC DC DC END HD2 HD3 HD4 DC To DS DC DC DS DC DC He DS DC DC DC DC DS DC DS OCL62 1 62 CL35 gt 1 35 CL7 TOTAL CL4 43 46 Course Hours BZZ9 CL3 47 49 CL4 50 53 Quality Points BZZ9 54 60 X 0D25 61 62 PC 370 only CR LF tals line definition OCL62 1 62 CL35 1 35 CL6 GPA CL5 42 46 GPA B9 99 CL14 gt 54 60 X 0D25 61 62 PC 370 only CR LF adings definitions OCL62 X 0C CL59
107. KOR KOR A I A Ik K 21 21 KRK K K KOR K SETUP Those things which happen one time only before any records are processed Kk 5k sk sk ok 3k k II 3K 3K 3K aK K K aK aK 9k 9k 9k I I 3K 3K ak I I I I ak 9k 3K 21 3K a K CA A Ik 3K OR R KOR K A K SETUP EQU BAL 10 READ L 10 SVSETUP BR 10 Yk 3 sk ok ok ok oK AOAC I PK oR Ok o A A a PROCESS Those things which happen once per record k 3k sk ok ok ok ok ok I I PR ok AIA R ok ok a R ok 1 21 OR 9k a PROCESS EQU ST R10 SVPROC CLI ITTEN C Y Is teacher tenured BNE PROC2 No then skip this record BAL R10 FORMAT Otherwise format a line BAL R10 WRITE and write it PROC2 EQU 111 112 4 1 COOKPETIIAT ION PRO GEIR OCWRALR IP SFRROGRAMA DE BAL BAL R10 READ Read next PROCESSX EQU L 10 SVPROC BR 10 BE AA AAR A kk k kk kk kkk k kkk k READ Read a record K ok ok K K R FK K R R K FK K FK R FK OK KK search read TEACHERS into IREC EOFSW SVREAD return 112 113 187 READ EQU ST R10 SVREAD GET TEACHERS IREC Read a single teacher record B READX ATEND EQU MVI EOFSW C Y READX EQU L R10 SVREAD BR RO RR dd OK KK K Miscellaneous field definitions SOR RR dd dd lll kk kk kk kk EOFSW DC CL1 N End of file Y N Un comentario m s antes
108. LAS INGRRUCCIONES QUE BONSABIDE ARITM TICA DECIMAL TRACE EP A 17D1 ID ST 370 TRACE A OCAD ID LR 370 TRACE EP A 1649 ID LA 370 TRACE EP A 17D1 ID ST 370 TRACE EP A 2376 ID MP 370 ADDR STOP 000270 58DD0004 98ECDOOC 07 0000 TRACE A 162D ID L 370 d A 280 000280 01000C00 0005000C 00000002 000290 000 0000 00000000 00000000 Press Esc to return to the DOS prompt 3 MP FLDF FLDA A 00025C A 000260 A 000262 A 000266 A 00026A 5C00020C A 000270 0 000001 0007 6 8 OP 50D0F014 OP 18ED OP 41D0F010 OP 50D0E008 OP FC42D073D070 ee tore een OP 58DD0004 es PL5 1000 y FLDA es PL3 5 Esto es similar al del ejemplo anterior donde se FLDF multiplicar 5 por 1000 pero aqui se multiplican 1000 por 5 Intuitivamente si el ejemplo anterior es v lida entonces tambi n lo debe ser ste Pero este es el caso Una vez m s echemos un vistazo a la hexagonal la representaci n del primer operando FLDF es X 000001000C Desde FLDA es PL3 FLDF debe tener al menos tres bytes de alto orden ceros es decir seis d gitos hexadecimales de cero como en X 000000 Pode mos ver que FLDF tiene s lo cinco ceros de alto orden Por lo tanto esta MP es v lido Verificar esta utilizando el dispositivo de prueba intenta 1 MP demostrar por qu no es v lida FLDB FLDE 2 2 Mostrar por qu MP FLDE FLDB es v lido 3 Mostrar por qu MP FLDE FLDC es v lido 4 Mostrar por qu FLD
109. MA107 STATISTICS D 3 3 TOTAL 7 16 GPA 2 29 TRANSCRIPT FOR 713 HILMER D R Semester Course Description Grade Hours Points F92 EG101 ENGLISH I 3 6 F92 MA101 ALGEBRA B 3 9 W93 102 ENGLISH II B 3 9 W93 MA107 STATISTICS B 3 9 TRANSCRIPT FOR 896 QUALLS D M Semester Course Description Grade Hours Points W92 PE151 AEROBICS A 1 4 F92 101 ACCOUNTING 3 6 F92 BU101 BUSINESS 3 6 F92 EG101 ENGLISH I A 3 12 F92 MA101 ALGEBRA B 3 9 W93 102 ENGLISH II B 3 9 W93 MA107 STATISTICS A 3 12 TOTAL 19 58 GPA 3 05 Lo que sigue es una lista de programa TRANSCR1 MLC el programa para a adir la clave de ordenaci n para el archivo de grado No hay nada nuevo aqu No hay necesidad de explicaci n se incluye de forma complementaria 384 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITULO 15 TABLA DE PROCESAMIENTO 385 ff 40 4289 395 PRINT NOGEN YK k ok ok ok sk k k kk k k k k ak ak ak ak 3k 3k 3k 3k 3K K K aK ak ak 3k I I 3K 3K ak I I I Ik 3K 2k 21 21 K K K A ACA AC K 3K OR 3K RK K K FILENAME TRANSCR1 MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Reformat grade file so it can be sorted properly so as to produce transcripts YK ok ok ok 5k sk sk sk ok 9k I 9k 9k 9k PK PK PK R PRO 9k 9k 9k K K I ICICI OR OR I Ik 3K 3K R KOR K K KOR K K ACAI K 3K K KK K K START 0 REGS BEGIN BEGIN WTO gt TRANSCR1 Begin execution BAL R10 SETUP MAIN EQU
110. MID DC CL3 KAY BLANKS DC CL5 gt MISC DS CL12 Para cada uno de los siguientes CLC y CLI determinar qu caracteres son de hecho que se comparan y luego determinar el c digo de estado resultante 8 4 o 2 Si alguna de las compara producir a un error del compilador a continuaci n que se lo indiquen 91 3 7CAR ERCIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS CLC CLC CLC CLC CLC CLC CLC CLC CLI CLI ure 0000 p GIRL1 GIRL2 BOY 2 1 BOY 3 BOY 2 2 BOY 3 GIRL2 2 1 GIRL2 3 1 4 4 C LIAM GIRL1 3 2 C AH BOY 6 1 GIRL3 2 GIRL3 3 1 GIRL2 GIRL1 C A GIRL3 3 C A Hannah s middle name is Kay Write the code necessary to move HAN NAH to MISC KAY utilizando los campos de arriba solamente 9 Dibuja el diagrama de flujo para el c digo de BAL siguiente Suponga que todos los campos son CL1 SBEGIN EQU MVC T S CLC T U BNL SEND CLC T V BNH SEND CLC T W BNE SKIP MVC B SEND SKIP EQU MVC V T SEND EQU 10 Dibuja el diagrama de flujo para el c digo de BAL siguiente Suponga que todos los campos son CL1 ZBEGIN EQU MVC GEG BH CLC BNL MVC ZSKIP1 EQU MVC ZSKIP2 EQU 92 S R S T ZSKIP2 S U ZSKIP1 T R ZEND R T ZEND 3 7CAR ERCIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS MVC S U CLC S T BE ZSKIP3 MVC 5 0 CLC Q U BNL ZSKIP4 MVC T S B ZSKIP4 ZSKIP3 EQU MVC T Q ZSKIP4 EQU MVC R T
111. MLC 357 PRINT NOGEN ak k k k kk I 3k 3k 3K ak k ak ak ak RRC I 3K 3K ak OR OR I IK 3K 3K 3K 3K K K K KOR AACA AI 3K K K KR K K FILENAME COGS14B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce report for COGSWORTH INDUSTRIES showing inventory discrepancies Modify COGS9B MLC to use binary input YK k ok ok 5k sk sk sk kk k k k k ak ak ak ak 3k 3k 3k 3k 3K ak ak ak ak ak 3k 3K 3K 3K 3K I 3K 3K 3K ak OR I OR Ik 3K 3K 3K 3K K K R K K A A ACAI 3K 3K K KRK K a x x XX START O REGS BEGIN BEGIN WTO COGS14B Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO COGS14B Normal end of program RETURN YK k k ok ok 5k sk k k k k kk k k ak ak 3k 3k 3k akak k ak ak ak ak ak 3k 3k A I 3K 3K ak I I Ik 3K 3K 21 3K K K K K KOR ACA K K 3K OK K KR K K SETUP Those things which happen one time only before any records are processed FKK gt KK 2K K deal x K K X K ok ok ok ok ok ale K de KK K ok K 2K ok ok ale K ok K 9 X oko 2K ok ale X 1 ok K K K ale X 2K K K 2K X K K K K ale SETUP EQU ST R10 SVSETUP OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN INVENTRY NOTE Input in EBCDIC OPEN REPORT BAL R10 HDGS BAL R10 READ L R10 SVSETUP BR R10 FEA AA AAR A A A A I I I OR ORO HDGS Print headings gt lt gt K gt lt gt lt gt x gt lt K ok ook ok ok K KK FK FK K K K FK FK K K FK FK K FKK FK FK K
112. MVC ONAME 3 CL3 DR else title is DR LA R3 ONAME 4 Will move name starting at B PROC2 the fifth byte PROFESS EQU MVC 5 CL5 PROF LA R3 ONAME 6 Will move name starting at PROC2 EQU the seventh byte LA 4 Point R4 to ist byte of input LA R5 L TTNAME R5 is max nbr characters PROC3 EQU CLI 0 R4 C Find comma separating name BE PROC4 from initials Yes done MVC 0 1 R3 0 R4 Else move this letter LA R3 1 R3 Point to next letter output LA R4 1 R4 Point to next letter input BCT R5 PROC3 Repeat till done PROC4 EQU MVC WTOINAME TTNAME Show input name MVC WTOIDEG TTDEG Show input degree WTO WTOMSG1 MVC WTOONAME ONAME Show output name WTO WTOMSG2 BAL R10 READTCH PROCESSX EQU L R10 SVPROC BR R10 BEA AC A I 5k R 9k I ICI 9k A loloifojok READTCH Read a teacher record Y 3k ok ak k 5k 5k 5k ok ok R k ak PK 5k 9k ok 3k ak OR ak ak PK 2K 5k Ok 3k 2k ak 2K K ak K 3K 3k 3k 2k 2k KOR R R 3k 2k 3k 2k 2k k 2K k OR 3K 3K 3k 2K R OR OROR OR OR R K READTCH EQU ST R10 SVREADT GET TEACHERS TREC B READTX Read a single teacher record 380 15 4 LOS CAMPOS DE TABLAS EL PROCESAMIENTO DE UN CAMPO DE CAR CTER POR 15 TABLA DE PROCESAMIENTO ATENDTCH EQU MVI EOFTEACH C Y READTX EQU L R10 SVREADT BR R10 kk ak k ak akak ak ak ak k ak k 3k 3k 2k 3k 2k ak ak ak ak 2K 3k 2k 3k 2k 2k ak K ak K 3K 3k 3k 2k 2k ak k ak k 2K 3K 2k 3k 2k 2
113. OK a kkk kkk kk k kkk K R KOR K kk kk k k kK k K HDGS Print headings BEC kk kk k ok ok kkk k k kk k k kk k kk kk k k k kk k k R akk k 3k KOR k 4 K KOR K K k kK R K HDGS EQU ST R10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 PUT REPORT HD5 421 16 5 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTAS DE CAPITULO 16 MAS ARITMETICA BINARIA PUT L BR REPORT HD6 R10 SVHDGS R10 AR PROCESS Those things which happen once record BREA AC CA Pk kkk k ok ok kkk k I kk k A kk k k kkk k k R akk k R KOR R A R kf K k kK K K PROCESS EQU ST BAL BAL BAL L BR R10 SVPROC R10 FORMAT R10 WRITE R10 READ R10 SVPROC R10 AR KOR FK R oe KOK OR FORMAT Format a single detail line k k k kk k R KOR R R R KOR K kk kk R K FORMAT EQU ST MVC MVC LH AH AH AH LR A ST CVD ZAP MVC ED LH LR ST CVD ZAP MVC ED DR CVD SRP ZAP MVC ED R10 SVFORM OREC BLANKS ODESC IDESC R3 CALIF R3 IILL R3 IUTAH R3 IWISC R2 R3 R2 TTOTAL R2 TTOTAL R3 DBLWORD PK2 DBLWORD OTOTAL X 40202120 OTOTAL PK2 R5 ICALIF R2 R5 R2 TCALIF R2 TCALIF R5 DBLWORD PK2 DBLWORD OCALIF X 40202120 OCALIF PK2 RA F 1000 R4 R3 R5 DBLWORD DBLWO
114. Output PROF YOUNG gt TEACH15A Input SMITH J MS gt TEACH15A Output lt PROF SMITH gt TEACH15A Normal end of program El diagrama de flujo y el c digo de la rutina de proceso como de la siguiente manera PROCESS EQU ST R10 SVPROC MVC ONAME CL25 CLC TTDEG CL4 PHD BNE PROFESS MVC 3 CL3 DR LA 4 B PROC2 PROFESS EQU MVC 5 CL5 PROF LA R3 0NAME 6 PROC2 EQU LA R4 TTNAME R5 L TTNAME PROC3 EQU CLI 0 R4 C BE PROC4 378 15 4 LOS CAMPOS DE TABLAS EL PROCESAMIENTO DE UN CAMPO DE CAR CTER POR 15 TABLA DE PROCESAMIENTO MVC 0 1 R3 0 R4 LA LA BCT PROC4 EQU MVC MVC WTO MVC WTO BAL PROCESSX EQU L BR R3 1 R3 R4 1 R4 R5 PROC3 WTOINAME TTNAME WTOIDEG TTDEG WTOMSG1 WTOONAME ONAME WTOMSG2 R10 READTCH R10 SVPROC R10 El programa completo TEACH15A MLC sigue 379 TEACH15A MLC 379 PRINT NOGEN DO gt lt K KK KK FK K K FKK FK K FK FK K ok ok KOR FK K R KOK KOR K K K K OR KOK KOR K KOK K ok ok K FK ok K ok K K FK FK K FK oe R oe K K OK R R OK FILENAME TEACH15A MLC AUTHOR SYSTEM REMARKS Bill Qualls PC 370 R4 2 List of teachers with title such as DR BENSON or PROF HINCKLEY ok KOR ok K ok K K oe oe K FK FK R R K K KOR K KOK K ok KOR ok ok ok ok K K FK FK K FK K
115. R10 SAA AAA AAR A A A A I I kk ORO 24 2k 24 R OR R k k 2k 2k 2k 2k kkk OR R HDGS Print headings SEA AAA R KOR 9k 9k A A A I I I I I kk 21 24 24 2k oo k k 2k 2k R R kkk kk HDGS EQU ST R10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 PUT REPORT HD5 L R10 SVHDGS BR R10 BEA AAA ARR A A A A 24 FOR R K 2k 2k k k 2k 2k 2k 2k 2k kk R OR PROCESS Those things which happen once per record FAA AAA R KOK 9k ARR A A A A I I A A 21 21 PROCESS EQU ST R10 SVPROC 165 XA 7 12 EJEMPLO DICRR GAHAMA GONSABVWISIARDIMETICA DECIMAL BAL BAL BAL L BR R10 FORMAT R10 WRITE R10 READ R10 SVPROC R10 Kok ok ok ok ok AA AAA R Rok 9k 9k A A A A A A I I 2k 2k 21 21 24 24 2k R 2 READ Read a record SA AAA RAR A A I 21 21 21 21 24 24 OR 2 2 search read INVENTRY into IREC EOFSW IN SVREAD return 156 BEA AAA ARR A A A A FORMAT Format a single detail line EAA AAA R KOR 9 9k k 2k 2k 2k 2k 2k 2k kkk OR K FORMAT EQU ST MVC MVC MVC MVC PACK PACK PACK PACK ZAP AP AP AP AP UNPK MVZ PACK PACK ZAP AP SP UNPK MVZ MVC MVC PACK MVC SHORT EQU R10 SVFORM OREC BLANKS ODESC IDESC Description OBEGIN IBEGIN Beginning inventory OPURCH IPURCH Purchases WCALIF ICALIF Each product s sales must WILL ITLL be packed so they can be WUTAH IUTAH added to t
116. SVREAD DC F 0 Tenga en cuenta que la instrucci n de la tienda es uno de los pocos elegidos en el primer operando es el campo de env o la no el campo de recepci n Es al rev s de la mayor a de las instrucciones Para restaurar el valor al registro utilizamos la L de carga la instrucci n Por ejemplo L 10 SVREAD BR 10 Esta es una t cnica simple pero efectivo para la asignaci n de m dulos y se utiliza en este libro Nota Esta t cnica no apoyar invocaci n recursiva pero la necesidad de tales transformaci n es poco com n en las aplicaciones empresariales Si usted quiere hacer llamadas recursivas se le necesidad de definir una pila y el c digo del equivalente de push y pop operaciones de pila No hemos BAL aprendido lo suficiente como para hacer eso todav a La siguiente es una lista parcial de TEACH4B MLC la nueva versi n del programa 106 search write REPORT from OREC no line counting SVWRITE return 106 107 113 157 207 211 357 42 WRITE EQU ST 10 SVWRITE PUT REPORT OREC Write report line L 10 SVWRITE BR 10 106 4 1 COOKPELUIAT ION OO GEIR OCWRALR IP SHRROGRAMA DE BAL 107 TEACH B MLC 107 PRINT NOGEN SAO OOO kk joke OR IK kk kk kk FILENAME TEACH4B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS This is a revision of TEACH4A MLC Produce list of tenured instructors How to structure a BAL program OO OO IA KOR k kkk
117. Secci n 12 12 1 ZD 5 GRADE Grado 13 13 1 CH GCRLF S lo pc 370 14 15 D CR LF 5 Crear el archivo del campo de la base de datos Small Town Community College Llame a su archivo COURSE DAT ver Tabla 1 2 COURSE 1 CID ID Curso 1 5 5 CH 2 CDESC Descripci n 6 20 15 CH 3 CHR Horas 21 21 1 ZD 4 GCCRLF S lo pc 370 22 23 2 CR LF 6 Modificar TEACH1D MLC para producir una lista de los registros en el archivo de los estudiantes STUDENT DAT Ser Aseg rese de cambiar el nombre del programa los nombres de archivo y los comentarios como sea necesario para que se apropiado 1 5 EJERCICIOS CAPITULO 1 PRIMEROS PASOS CON PC 370 7 Modificar TEACH1D MLC para producir una lista de los registros en el archivo supuesto COURSE DAT Ser Aseg rese de cambiar el nombre del programa los nombres de archivo y los comentarios como sea necesario para que se apropiado 8 Modificar TEACHID MLC para producir una lista de los registros en el archivo de notas GRADE DAT Aseg rese para cambiar el nombre del programa los nombres de archivo y las observaciones que sea necesario para que se apropiado 35 Capitulo 2 Definici n y movimiento de Caracteres Objetivos Al t rmino de este cap tulo usted ser capaz de Definir los campos alfanum ricos y registros con las instrucciones DS y DC Mover campos alfanum ricos utilizando la instrucci n de MVC Definir los literales alfanum ricos y los valores equivalentes Mover
118. Use the HIS TORY file to produce a payroll register for all pay periods The report should appear as follows with one pay period per page 2 1 2 3 4 5 12345678901234567890123456789012345678901234567890 SMALL TOWN PAYROLL Payroll Register for PPED mm dd yy Employee Hours Gross XXX BZZ9 99 BZZ ZZ9 99 XXX BZZ9 99 BZZ ZZ9 99 XXX BZZ9 99 BZZ ZZ9 99 TOTAL BZZ9 99 BZZ ZZ9 99 There were BZZ9 checks printed for PPED mm dd yy 257 Capitulo 11 Mas de una entrada de archivo Objetivos Al t rmino de este cap tulo usted ser capaz de Ordenar datos archivos seg n sea necesario para procesar utilizando l gica de concordan cia y Dise o y programaci n de un programa de uso de la l gica concordancia con proceso de dos archivos de entrada de forma simult nea Introducci n Todos los programas que hemos visto hasta este momento han tenido s lo un archivo de entrada y una archivo de salida Los dos cap tulos siguientes se ver en la l gica necesaria para procesar dos archivos de entrada Cu ndo procesamiento de dos archivos de entrada por lo general se puede pensar en uno de los archivos como un archivo maestro y el otro como un archivo de transacciones La naturaleza de las operaciones puede o no puede requerir algunos cambios en el registro correspondiente en el archivo maestro En este cap tulo vamos a proceso en dos archivos pero no vamos a realizar cambios en el archivo maestro simplemente elaborar un informe hacie
119. WRITE Write a single detail line k kkk kk k k ak 2k ak k ak ak k 3K k 3k 2k 2k 2k ak ak k 2K 3K 2K 3K 2k ak k ak KOR KOR 3K 3K 2k k K k K OR KOK R K search write REPORT from OREC LNS SVWRITE return 185 Y 3k 3k sk sk sk 5k ok kk k k ak kk kk k k k k 2k akk ak 2k ak k k k 2k akk 3k 3k 2k k k WRAPUP Those things which happen one time only after all records have been processed lt 3k sk kkk kk k PK 5k kk sk ok kk R k ke ke ke ak 9k OR k ak ok ok akk ok 9k Ok k k 2k kc ok ke KOR k OR KOR ke 2K 2k kk OR K OR OR OK gt K K WRAPUP EQU ST R10 SVWRAP BAL R10 ENDSEM Final control break process CLOSE OFFER CLOSE REPORT WTO OFFER10B Course list on REPORT TXT L R10 SVWRAP BR R10 K K FK FK K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK FK FK FK FK FK K FK FK FK FK FK FK FK FK K FK FK 2K R OR 234 10 3 SINGTAH EVED CONQEDIBREHAKT APR GICAMDECOTONTROL DE Literals if any will go here gt K k ok ok ok sk sk sk kk k k k k k ak ak ak 3k 3k 3k 3K 3K ak K K ak ak ak 3K 3K I I 3K 3K ak OR OR OR IK 3K 3K 2k 3K K K R KOR AA ACA 3K 3K 3K K KK K K LTORG SEO AAA ooo File definitions BAO AAA A I I IK OFFER DCB LRECL 18 RECFM F MACRF G EODAD ATEND DDNAME OFFER DAT REPORT DCB LRECL 42 RECFM F MACRF P DDNAME REPORT TXT SEA AAA ARR 9k 9k A A A
120. WTO XI WTO XI WTO WTO WTO WTO XC WTO XC WTO WTO WTO WTO XC XC XC WTO WTO WTO WTO LA CVD MVC ED WTO SLL CVD MVC ED WTO SRL CVD MVC ED WTO RETURN LTORG EXAMPLE 8 Demonstrate use of XI for encryption once to encrypt once to decrypt CRYPT1 CRYPT1 C encrypt CRYPT1 CRYPT1 C decrypt CRYPT1 EXAMPLE 9 Demonstrate use of XC for encryption once to encrypt once to decrypt CRYPT2 CRYPT2 C encrypt CRYPT2 CRYPT2 C decrypt CRYPT2 EXAMPLE 10 Demonstrate use of XC to swap two values BOTH FLDA FLDB FLDB FLDA FLDA FLDB BOTH EXAMPLE 11 Demonstrate that SLL is same as multiplying a register by a power of two and that SLR is same as dividing by a power of two R3 4 We begin with 4 R3 DBLWORD EDITED MASK EDITED DBLWORD 5 EDITED R3 3 Multiply 4 by 273 or 8 giving 32 R3 DBLWORD EDITED MASK EDITED DBLWORD 5 EDITED R3 2 Divide 32 by 272 or 4 giving 8 R3 DBLWORD EDITED MASK EDITED DBLWORD 5 EDITED 437 17 5 A NIVEL DE BITS DE OPERACIONES DBLWORD MASK EDITED POSITIVE UNPACKED LOWER UPPER ALLBITS CRYPT1 CRYPT2 BOTH FLDA FLDB DC DC DC DC DC DC DC EQU DC DC DS DC DC DC END D O XL7 40202020212060 CL7 PL3 6789 CL5 gt CL1 r Lower case letter r CL1 T Upper case letter T X F
121. WTOTAL P 0 AP WTOTAL WCALIF AP WTOTAL WILL AP WTOTAL WUTAH AP WTOTAL WWISC AP TTOTAL WTOTAL AP TCALIF WCALIF MVC OTOTAL X 40202120 ED OTOTAL WTOTAL MVC OCALIF X 40202120 ED OCALIF WCALIF ZAP DIVIDEND WCALIF ZAP DIVISOR WTOTAL SRP DIVIDEND 3 0 DP DIVIDEND DIVISOR SRP QUOTIENT 64 1 5 ZAP PK2 QUOTIENT MVC 40202120 2 MVI OPCT L OPCT PERCENT MVC OCRLF WCRLF L R10 SVFORM BR RO Each product s sales must be packed so they can be added to total for this product Initialize the total to zero and start adding Grand total nationwide Grand total for Calif PC 370 only ok ok ok READ Read a record K KK FK FK K K K FK K K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FKK FK K FK FK FK FK K FK FK FK K K READ ATEND READX EQU ST R10 SVREAD GET INVENTRY IREC B READX EQU MVI EOFSW C Y EQU L R10 SVREAD 330 Read a single product record 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL BR R10 FEA GO 9k ok Ok 3k 9k 3k 9k 9k ak ak R K KOK 9k 9k 9k I 3K 3K 3K ak ak I I Ik 3K 2k 3K 3K K K K KOR AAC AC K 3K 3K 3K OR KK K K WRITE Write a sin
122. XXX XXXXXXXXXXXXXXXXXXXXXX BZZ9 99 TOTAL COST BZZ9 99 XXX XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX BZZZ 99 XXX XXXXXXXXXXXXXXXXXXXXXX BZZ9 99 TOTAL COST BZZ9 99 Tendr que usar el kit maquillaje y los archivos de herramientas Cargue el archivo de herramienta en una tabla Coincidir y de maquillaje en kit de identificaci n Utilice la herramienta de identificaci n en el archivo de maquillaje para buscar en la tabla para encontrar el KIT coincid a con la descripci n y el costo 410 Capitulo 16 Mas aritm tica binaria Objetivos t rmino de este cap tulo usted ser capaz de Definir incluso pares impares de los registros Usar la M MH MR y las instrucciones para realizar la multiplicaci n binaria y la Usar la D y las instrucciones para llevar a cabo DR divisi n binaria Introducci n En el cap tulo 14 vimos c mo sumar y restar n meros binarios En concreto nos fijamos en la A AH AR 5 SH y las instrucciones de SR Re cuerde que para cada una de estas instrucciones el primer operando es siempre un registro y el segundo operando sea una fullword media palabra o reg strese En este cap tulo vamos a completar nuestro estudio de las matem ticas binarias mirando a la multiplicaci n y la las instrucciones de la divisi n M MH MR D y DR 16 1 Par impar Registro de Pares Con el fin de discutir binarios o registro multiplicaci n debemos introducir un nuevo concepto el de i
123. a la instrucci n 7 Instrucci n 7 dice que para ir a donde registrar 10 est se alando Pero registrar 10 apunta a la instrucci n 7 que dice que para ir a la donde registrar 10 est se alando Bucle sin fin Una soluci n a este problema es utilizar un registro diferente para cada rama y Link Pero este la soluci n no es satisfactoria por razones obvias usted se quedar sin registros Hay s lo diecis is a os Y tienes que ser muy cuidadosos para invocar una rutina con BAL utilizando el mismo registro de que que la rutina volver con BR La soluci n a este problema es Guardar la direcci n de retorno para cada rutina inmediatamente despu s de la entrada y Restaurar la direcci n para el registro adecuado inmediatamente antes de salir De esta manera podemos utilizar el mismo registro para todas las Sucursales y enlaces Para guardar la direcci n de retorno que est en un registro utilizamos el ST la tienda la instrucci n D nde vamos a salvarla En un campo que vamos a definir y dejar de lado s lo para este prop sito Recordemos el IBM 370 el equipo tiene cuatro registros de bytes y el tama o del registro de un ordenador se conoce como su palabra tama o As que vamos a utilizar un controlador de dominio con el tipo de campo de fullword para guardar el contenido del registro Para ejemplo LEA EQU 105 4 1 COOKPETIIAT ION OMO GEIR UOCWUVPIU IP SHRROGRAMA DE BAL ST 10 SVREAD donde
124. archivo maestro de edad MASTLOW EQU ST MVC BAL BAL L BR R10 SVMSTLOW OREC IREC R10 WRITENEW R10 READMST R10 SVMSTLOW R10 El Trans baja condici n tambi n conocido como Alto Maestro indica que tenemos una transacci n sin coincidentes registro del archivo maestro Sea o no esto es un error depende del tipo de transacci n Si es un complemento entonces es una operaci n v lida Si es un cambiar o borrar entonces es un error nos no se puede cambiar o borrar lo que no est all 12 2 1 TRANSLOW EQU ST R10 SVTRNLOW CLI TACD ADD BE TRANSLO2 CLI CHANGE BE TRANSLO3 CLI TACD DELETE BE TRANSLO4 BAL R10 BADCODE BAL R10 READTRN TRANSLOX EQU BAL R10 ADDIT BAL R10 READTRN TRANSLOX EQU BAL R10 BADCHANG BAL R10 READTRN B TRANSLOX EQU BAL R10 BADDELET BAL R10 READTRN EQU L R10 SVTRNLOW BR R10 transacci n bajos TRANSLO2 TRANSLO3 TRANSLO4 TRANSLOX 283 12 2 CMPREUINAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N 12 2 1 1 V lido A adir complemento v lido Una operaci n ADD con Trans baja es v lida ADDIT EQU ADDITX ST MVC MVC MVC MVC MVC MVC MVC MVC MVC BAL BAL MVC BAL MVC MVC BAL AP EQU L BR R10 SVADDIT ONBR TNBR OLNAME TLNAME OADDR TADDR OCITY TCITY OSTATE TSTATE OZIP TZIP OACD TACD OCRLF TCRLF R10 WRITENEW R10 CHKLNS RREC BLANKS R10 WRITE RDATA TREC RMSG
125. claro e El equivalente binario de la letra R que es 11011001 cuando se utiliza el EBCDIC F T la secuencia de ordenaci n SSS A NDA NS A Un poco consta de ocho bytes F T El equivalente hexadecimal del n mero decimal 13 es C F T Un byte tiene 255 valores posibles F T 26 64 F T 20 160 21 16 I F T 12 116 F T 11101111 2 EF 16 F T gt 127 5 6 EJERCICIOS CAPITULO 5 REPRESENTACION DE DATOS 2 Encontrar el equivalente binario de 11 23 26 y 30 Qu puede concluir acerca de los binarios representaci n de cualquier n mero decimal extra o Ni siquiera un n mero decimal 3 Complete el siguiente a 10111 2 10 16 b 11101111 2 10 16 2 3110 454 16 DE 2 240 10 16 e 2 10 8316 Jy 2 10 AE16 4 Complete el siguiente a 11101 2 10 16 b 10101011 2 10 16 2 4810 4 16 16 2 10 7F16 10 BC16 5 Complete el siguiente a 11010 2 10 16 b 10100001 2 10 16 el Aa 266 MOS 16 Na 2 234 10 16 e 2 10 ED16 Jf 2S 10 6A16 6 6 Realice la siguiente base 2 adiciones a a b b 10110011 10001111 111001 1011101 clic d d 10011100 11010001 10101110 11101101 Encontrar el equivalente decimal a cada una de las sumas en las partes de anuncios e e 7 Realizar
126. control break Print count of sections in department if that count is two or more Regardless skip a line YK k ok ok 5k sk sk sk ok 9k I IORI ACI ICICI OR OR OR Ik 3K 21 21 3K K K K KOR AA K K 3K K R K KK K K ENDDEPT EQU ST R10 SVENDDEP DEPT P 2 BL ENDDEPT2 MVC OREC 40 BLANKS This area used several ways BAL R10 WRITE Blank line before count MVC OREC 7 24 C Dept BZZ9 sections MVC OREC 15 2 HOLDDEPT MVC OREC 18 4 X 40202120 ED OREC 18 4 DEPT BAL R10 WRITE ENDDEPT2 EQU MVC OREC 40 BLANKS BAL R10 WRITE XA XX ZAP DEPT P 0 Reset counter L R10 SVENDDEP BR R10 FEA AAA ARR A A A A 24 2k oo CHKLNS Check lines printed Full page FEA A R OR OR AAR 24 24 2k OR 2 search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 SEA AA OR OR KOR 9k 9k 9k A A A A FORMAT Format a single detail line BEA AAA KOR 9 9k 9k A A A A I I I I 2k 1 2k 24 24 2k OR R k k k kk 2k 2k kkk kk FORMAT EQU ST R10 SVFORM MVC OREC 40 BLANKS MVC OCID ICID Course ID MVC OSECT ISECT Section number MVC OTID ITID Teacher ID MVC OCRLF WCRLF PC 370 Only L R10 SVFORM BR R10 SOOO ke joke oko E E E EEk kk kk kk k kkk kk kk kk kk kk WRITE Write a single detail line FKK KK KK K x gt K K K ok K K ok FK K FKK FK FK oe KOR FK K R FK FK FK K OK FK FK K ok KOR FK ok ok FK FK K OK R K FK K R ok OR
127. d gito por una potencia de diecis is a os sucesivos y el resumen de estos productos Por ejemplo 2A7F 16 0 Piven Fox 15 s 34 15 16 1 ie 7x 7x 16 112 16 2 x 10 x 256 2560 16 3 2x 2 x 4096 8192 Asi vemos que 2A7F16 10879 10 Usted probarlo 6016 ______ 10 8 516 ______ 10 9 2FE16 10 123 5 3 EL EBCDIC Y ASCUAARAICOLAREDR ESESHACHONIAB DATOS 5 3 3 Decimales a hexadecimal de conversi n El proceso de convertir un n mero decimal a su equivalente en hexadecimal es similar al proceso de de convertir un n mero decimal a su equivalente binario restar la m s alta m ltiples de un poder de 16 que es inferior o igual al n mero Contin e hasta que la diferencia es igual a cero Los m ltiplos de potencias de 16 que se restar a ser los d gitos en el hexadecimal n mero Todos los d gitos de otros ser 0 Por ejemplo para encontrar el equivalente en hexadecimal a 748 748 2 x 16 2 gt el segundo En la tabla siguiente se simplificar el proceso de conversi n tercer d gito segundo d gito cero d gitos primer d gito Usted probarlo 1 10 31210 0 16 2 11 70810 16 3 12 77810 16 5 3 4 Hexadecimal a binario de conversi n Tendr que ser capaz de convertir un n mero hexadecimal a su equivalente binario y viceversa Esto es muy f cil de hacer Para convertir un n mero hexadecimal a su equivalente binario simplemente reemplaza cada d
128. de aplicar la nueva INFORME DE VENTA FORMFEED Es necesario indicar de alguna forma de que la impresora debe avanzar a la parte superior de la p gina siguiente Una manera f cil de hacerlo es definir un l nea de partida nueva que es la misma longitud que las l neas de partida 62 y la consiste en todos los espacios en blanco excepto el primer car cter que es un car cter de avance Esto se hace de la siguiente manera FORMFEED DS 0CL62 PC 370 only DC X 0C EBCDIC formfeed DC CL59 gt DC X 0D25 EBCDIC CR LF Un X 0C es un salto de linea EBCDIC Por coincidencia tambi n es un salto de linea con ASCII Mayor a de las impresoras de PC avanzar n a la parte superior de la p gina cuando reciben este personaje Nota esto no es como uno podr a una fuerza de saltar al inicio de la p gina en el mundo mainframe que se analiza en el ap ndice Por supuesto el recuento de l nea debe ser incrementado despu s de escribir cada uno search write REPORT from OREC LNS SVWRITE return 185 187 223 232 241 WRITE EQU ST R10 SVWRITE 185 8 2 INCLUYENDO EL NUMERO DE PAGINA EN LAS LINEAS DE DEFINICION CAPITULO 8 LOGICA DE SALTO DE PAGINA PUT REPORT OREC Write report line AP LNS P 1 R10 SVWRITE BR 10 186 8 2 INCLUYENDO EL NUMERO DE PAGINA EN LAS LINEAS DE DEFINICION CAPITULO 8 LOGICA DE SALTO DE PAGINA 8 2 3 Ejemplo de programa de soluci n El programa completo TEACH8A MLC s
129. de la siguiente manera 274 11 8 EJERCICIOAP TULO 11 M S DE UNA ENTRADA DE ARCHIVO 1 2 3 4 5 12345678901234567890123456789012345678901234567890 SMALL TOWN BANCO DE SANGRE Page BZZ9 N mero de Apellidos de Donante ID Nombre del Donante Donaci n Donaci n Donaciones XXX X XXXXXXXXXX mm dd mm aa dd aa BZZ9 XXX X XXXXXXXXXX mm dd mm aa dd aa BZZ9 XXX X XXXXXXXXXX mm dd mm aa dd aa BZZ9 BZZ9 total Nota Este programa es similar al ejercicio 4 del cap tulo 10 salvo que el nombre de los donantes ha ha anadido al informe Vea las instrucciones adicionales en ese cap tulo LA DONACI N archivo deben ser ordenados como se muestra all Este programa tambi n leer el archivo de donantes pero ese archivo no deben ser ordenados como ya se hace en la secuencia de identificaci n de donantes Mostrar la primera inicial y el ltimo nombre de los donantes 6 Consulte la base de datos Small Town Hardware Store en m s conjuntos de datos Utilizar las ventas de archivo Para actualizar la cantidad en el campo contrario en el archivo de TOOL La cantidad por la mano TQOH se reducido por la cantidad vendida TSOLD No actualizar la versi n actualizada de toda otra fields Write TOOL archivo NEWTOOL DAT Usted no se ha elaborado un informe Si una herramienta de identificaci n se encuentra en las ventas archivo sin un instrumento de correspondencia ID en el archivo de herramienta luego de la WTO
130. dos cuatro seis bytes 132 6 1 EL FORMASIITELINGTRQUEIPNESTA COSA DE LA IZQUIERDA 6 1 El formato de instrucci n SI n PaO Dept ial ee 1 de halfword 2 halfword 3 halfword Elisa Es ee 256 0 Nune ee ee SI Op C digo I 2 B1 D1 Prusia Todas las instrucciones que utilizan el SI o el almacenamiento inmediato for mato de instrucci n de ocupar dos medias palabras o cuatro bytes como se muestra en la ilustraci n anterior El primero de estos cuatro bytes es el c digo de operaci n o Op C digo Cada instrucci n ensamblador es le asigna un valor decimal de 0 a 255 tal como lo son las letras y n meros Una instrucci n puede incluso tienen el valor decimal igual que una letra o un n mero Por ejemplo el CLI es Op C digo X 95 que es el mismo que n una min scula y la MVI es Op C digo X 92 que es el mismo k min scula La CPU puede decir la diferencia por el contexto en el que se encuentra Mira nuestra muestra programa una parte de la cual se repite aqu Usted puede ver los c digos de Op de 95 y 92 00006 D502DO8EDO91 009 00 1 15 CLC A B 000070 4740D072 0082 16 BL D 000074 D201D095D091 00 5 00A1 17 MVC C B 00007A 92F1D097 18 MVI E C 1 00007E 47F0D084 0094 19 000082 00000082 20 D EQU 000082 95 40091 00 1 21 B CD 000086 4780D084 0094 22 BE F
131. ejemplo yo podr a C digo TEACHER IREC registro de entrada 44 IREC DS ITID DS ITNAME ODS ITDEG DS ITTEN DS ITPHONE DS ITCRLF DS OCL29 CL3 CL15 CL4 CL1 CL4 CL2 44 1 29 1 3 4 18 19 22 23 23 24 27 28 29 45 67 86 97 113 187 Teacher record Teacher ID nbr Teacher name Highest degree Tenured Phone nbr PC 370 only CR LF 45 2 4 DEEENIETWINDOV IMBENXNYO IIOEN IYAYIOS DHEN R DEHRA R CTERES Usted ver muchos usos de esta la omisi n de un nombre de campo cuando hablamos de la creaci n de l neas de informe en el cap tulo siguiente Si usted est familiarizado con COBOL esto es el equivalente a un relleno BAL En este programa sin embargo yo preferir a seguir usando la ITCRLF etiqueta para el bien de la exhaustividad No me duele nada y no tiene ning n efecto sobre el tiempo de ejecuci n de programas El programa completo TEACH2A MLC y su producci n de seguir TEACH2A MLC listado de maestros con formato version completa 45 PRINT NOGEN Kk ak 3k 3k ak 3k 3k 3K aK 3K ak K K 3K aK 3K 2K 2K aK 3K aK aK 3K 3K aK 3K 3K 2K K 3K aK aK 3K 2K aK 3K 3K aK K 3K 3K aK 3K K K K 3K R OR KOR KOR R 3K 3K ak ak K K FILENAME TEACH2A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS A quick and dirty list of teachers kkk k Prologo 23a BEGIN BEGIN WTO TEACH2A Begin execution OI TEACHERS 10 X 08 PC 370 ONLY Convert all
132. el divisor no es cero como la divisi n por cero es prohibido Luego realizar la DP que deja el cociente en cociente y el resto en REMAINDR Puedo cambiar y la vuelta de la COCIENTE en su caso a continuaci n ZAP en el campo de destino Considere el siguiente ejemplo Teniendo en cuenta COUNT DS PL3 TOTAL ODS PERCENT DS CL4 BZZ9 Suponga COUNT 200 y TOTAL 300 Luego cuente divididos por el total es 66666 67 despu s de redondeo c digo de la siguiente manera ZAP DIVIDEND COUNT ZAP DIVISOR TOTAL DIVISOR P 0 BE error 324 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL SRP DIVIDEND 3 0 Dividend becomes 200000 DP DIVIDEND DIVISOR Quotient becomes 666 SRP QUOTIENT 64 1 5 Quotient becomes 67 MVC PERCENT X 40202120 Three digits only so use ED PERCENT QUOTIENT 6 last two bytes of quotient 13 4 2 Comentarios 1 1 El c digo de condici n se establece como resultado de ZAP El c digo de estado indica si el resultado es cero menos de cero mayor que cero o desbordamiento Por consiguiente no es necesario hacer el PP despu s de la ZAP En su lugar podr a el siguiente c digo ZAP DIVISOR TOTAL BZ error 2 No me gusta el desplazamiento expl cito por lo que prefiere utilizar un campo de trabajo para la ED MVC PERCENT X 40202120 Three digits only so use ZAP PK2 QUOTIENT last two bytes of quotient PERCENT
133. el indicador para que escriba una direcci n La instrucci n est en la posici n 000070 por lo que a adimos X 200 dar 000270 Por lo tanto entramos en 270 cuando se le pida la direcci n Cuando se le pregunt por el tipo de direcci n el tipo de A otra vez TYPE H FOR HELP a ADDR STOP ON A 270 000270 FA10D070 DO7358DD 000498EC DOOCOTFE o ERES T A ADDR E DATA OR N DATA lt gt a Ahora t tipo de rastro Cada instrucci n est en la lista antes de su ejecuci n t TRACE SET TRACE EP A 1433 ID BC 370 000200 OP 47FOF058 TRACE A 1F9B ID STM 370 A 000258 0 90 00 TRACE A 17D1 ID ST 370 00025 O0P 50DOF014 TRACE EP A OCAD ID LR 370 000260 OP 18ED TRACE EP A 1649 ID LA 370 A 000262 OP 41D0F010 TRACE A 17D1 ID ST 370 A 000266 OP 50D0E008 TRACE EP A 2093 ID AP 370 A 00026A OP FA10D070D072 ADDR STOP 000270 FA10D070 DO7358DD 000498EC DOOCOTFE TRACE EP A 2093 ID AP 370 A 000270 OP FA10D070D073 Podemos ver que la siguiente instrucci n a ejecutar es FA10D070D073 Usted puede ver el c digo de este mismo en la l nea 22 de la lista PRN De nuestro an lisis de los formatos de instrucci n sabemos que este es un punto de acceso y esto es confirmado por el mensaje de ID AP Tambi n podemos decir por el X 10 tras la X FA que vamos a a adir un campo de un octeto de un campo de dos bytes Recuerde la instrucci n no ha sido ejecutado todav a Ahora pu
134. en el tiempo de montaje con el operador de duraci n MVZ C L C 1 1 0 El ensamblador se utilizar la definici n de C para determinar que L C 5 y por lo tanto L C 1 5 1 4 El resultado final X FOFIF8FOF1 se imprimir como 01801 Qu pasa con el cero a la izquierda posici n de vanguardia ceros suelen ser suprimida La edici n instrucci n que veremos en el siguiente cap tulo eliminar los ceros a la izquierda as como nos permiten imprimir el signo adecuado Una instrucci n similar MVN se mover n los bits num ricos Por ejemplo si hubiera utilizado MVN C los ceros que obtendr a C igual FF FF lt sin cambios 00000 cambiado intenta Dado P DC PL3 314 18 Mostrar la representaci n hexadecimal de P Recuerde que cuando un campo de relleno se define con un DC el valor inicial es siempre firmado 19 Escriba las instrucciones necesarias para mover P tal que es X FOF3F1F4 20 Escriba las instrucciones necesarias para mover P a WK2 tal que WK2 es X F1FA 153 7 8 EJEMPLO DE PROGRAMACION LA PRODUCCION DE LA CR NICA DE VEN ASITULO 7 BOLSAS DE ARITM TICA DECIMAL 7 8 Ejemplo de programaci n La producci n de la Cr nica de Ventas Hemos hablado de Bolsas de formato a los n meros decimales y mir a las siguientes instrucciones PACK UNPK AP ZAP y MVZ Ahora estamos listos para volver a nuestro problema de programaci n a producir la Cr nica d
135. es sin CR LF Dentro de la rutina de formato cada campo num rico ser n empacadas convertido a binario y se mud al campo de salida correspondiente El c digo para hacerlo es la siguiente PACK DBL ICALIF Convert CALIF to binary CVB R3 DBL STH R3 OCALIF PACK DBL IILL Convert ILL to binary CVB R3 DBL STH R3 0ILL PACK DBL IUTAH Convert UTAH to binary CVB R3 DBL STH R3 OUTAH PACK DBL IWISC Convert WISC to binary CVB R3 DBL STH R3 0WISC PACK DBL IBEGIN Convert BEGIN to binary CVB R3 DBL STH R3 OBEGIN PACK DBL IPURCH Convert PURCH to binary CVB R3 DBL STH R3 0PURCH PACK DBL IQOH Convert QOH to binary CVB R3 DBL STH R3 0Q0H PACK DBL ICOST Convert COST to binary CVB R3 DBL 352 353 14 6 MUESTRA DEL PROGRAMA DATOS DINDON CONVERTIR BINARIO CAPITULO 14 BINARY ARITHMETIC STH R3 0COST PACK DBL ISELL Convert SELL to binary CVB R3 DB L STH R3 OSELL El programa completo COGS14A MLC sigue COGS14A MLC 353 PRINT NOGEN gt lt gt K gt lt x gt gt lt gt x x KK FK FK K FK K FK K K K FK FK K FKK FK FK K BEGIN SETUP FILENAME COGS14A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Create binary data file using COGS DAT FEA I 3k 3K 3k ak aK aK ak ak 3k 3K 3K 3K I I ICICI OR OR I Ik 3K 3K 3K 3K K R K KOR ROROROROR KOR OK KK K K START 0 REGS BEGIN WTO gt
136. for COGSWORTH INDUSTRIES EEEE EEEE EE E EEE EE E KOR k k kk kk kk kk kk kkk k kk kkk K XA XX START 0 REGS BEGIN BEGIN WTO COGS13A Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO COGS13A Normal end of program RETURN ak k 3k 3k k 3k 2k 2k ak ak ak k 3K k 3k 2k 2k 2k 2k ak k 2K 3K 2k 3K 2K 2k eS K 2K K K SETUP Those things which happen one time only before any records are processed BEA k kkk k kkk k kk kk k k k kk k k kk k k k kk k k k kk k k R R R kk K K k KK K k SETUP EQU ST R10 SVSETUP OI INVENTRY 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OPEN INVENTRY BAL R10 READ L R10 SVSETUP BR R10 FEA AAA ARR 9k 9k A A ACA I A A 1 1 24 24 24 OR OR R k k k kkk kkk kk READ Read a record FKK KK KK K ok K K gt K FK K dd K 3K K R R R R OR search read INVENTRY into IREC EOFSW SVREAD return 314 gt lt gt K gt lt gt x gt gt lt K ok K K gt K FK K EK dd lod R PROCESS Those things which happen once per record ok ok ok sk sk sk sk P R AAA R KOR 9k 9k 9k A A A A I I I kk 2k 2k 2k 2k 2k OR R k k kk 2k 2k kkk kk PROCESS EQU ST R10 SVPROC PACK WCALIF ICALIF Each product s sales must PACK WILL IILL be packed so they can be PACK WUTAH IUTAH added to total for this PACK WWISC IWISC product ZAP WTOT
137. from table AP ATTEMPT PK2 Accumulate hours attempted BAL R10 GRADEVAL ZAP PK4 PK2 MP PK4 VALUE MVC OPOINTS X 40202120 ED OPOINTS PK4 2 AP QUALITY PK4 MVC OCRLF WCRLF BAL R10 WRITE FORMATX EQU L R10 SVFORMAT BR R10 BEA AAA KOR 9k 9k AR A A A A CRSDATA Find course data in table lt 2K gt lt lt x al KK al X K K K K ok oko ok ok ale ok ok ale K de KK de ok oko ok ok ale K ok ale ode ok X X ok ok ok ale FK ok ale K K ale X K K K 2K ok ale ale K ale ale CRSDATA EQU ST R10 SVCRSDAT LA R3 TABLE LH R4 ROWS CRSDATA2 EQU CLC GCID 0 R3 BE CRSDATAX 398 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO LA BCT WTO B CRSDATAX EQU L BR R3 L TABLE R3 R4 CRSDATA2 gt TRANSCR2 Bad course ID in Grade file RETURN R10 SVCRSDAT R10 K FK K KK FK FK K K R ok ok K K R FK K FKK ke ok ok R R K FK R KOR K KOR KOR KOR KOR K KOR KOR FK R R R R R K GRADEVAL Find point value for grade gt K sk sk ok ok ok sk GOO IG R KOR Ia I K IIR I ICAI kk kkk kk kkk K GRADEVAL EQU ST LA GRADEVA2 EQU CLC BE LA CLI BNE WTO GRADEVAX EQU ZAP L BR R10 SVGRDVAL R7 GRADETBL Point to start of table 0 1 R7 GGRADE Compare grade to the grade GRADEVAX in table If equal done R7 L GRADETBL R7 Else point to next row O R7 X FF See if at end of table GRADEVA2 No repeat TRANSCR2 Invalid grade in grad
138. haber sido creados con campos bina rios Aritm tica binaria es necesaria en el tratamiento de registros de longitud variable En algunos casos los n meros de ahorro en forma binaria en lugar de en forma condensada puede dar como resultado menos 340 CAPITULO 14 BINARY ARITHMETIC almacenamiento Si los datos se transmiten a trav s de un sistema de comunicaciones est el adicional de beneficio de la reducci n en la trans misi n de datos Procesamiento de la tabla en el BAL el tema de nuestro pr ximo cap tulo requiere la aritm tica binaria KOK OK RK OE KK OK Ok KOK OK OK OK Recuerde que las computadoras se basan el sistema de numeraci n bina rio y que se utiliza el formato hexadecimal sistema de numeraci n como una abreviatura conveniente de los binarios Cada byte de memoria se ha asociado con una direcci n que podemos mostrar en formato hexadecimal Como con muchas cosas en la inform tica estos lugares est n numerados direcci n respec to a cero es decir empiezan en cero en lugar de uno As que la memoria puede ser representados como sigue 000000 00000F 4 bytes each column FFFFFO FFFFFF Tenga en cuenta que cada fila en la figura es octetos diecis is a os en la longitud la m s a la derecha o de orden inferior de dos d gitos de las direcciones que van de 0 a F inclusive Memoria se divide en palabras cada uno de ellos es de cuatro bytes de longitud La primera palabr
139. hand ICOST DS H 25 26 Cost each 99V99 ISELL DS H 27 28 Sell for each 99V99 BEA ACA kk kk Pk ok ok kkk 9k k kk k k kk k kk kk kk kkk k k k kk k K KOR R R R kk K kk kK k k Output line definition FEC 5k Pk ok ok 9k kkk kkk kkk k kkk k kk kk kk kkk k k k kk k k kk R R kk K k k kk k K OREC DS OCL62 1 62 ODESC DS CL10 1 10 Product description DS CL3 11 13 OBEGIN DS CL4 14 17 Beginning inventory DS CL4 18 21 OPURCH DS CL4 22 25 Purchases DS CL4 26 29 OSALES DS CL4 30 33 Units sold DS CL5 34 38 OENDING DS CL4 39 42 Ending inventory expected DS CL4 43 46 OQOH DS CLA 47 50 Ending inventory actual DS CL4 51 54 ODIFF DS CL5 55 59 Difference DS CL1 60 60 OCRLF DS CL2 61 62 PC 370 only CR LF BEA AC CA I ok PK k ok I kkk a I ACI k k I I k k k Headings definitions FE AC CA kkk k ok ok kk k k IOI A I k k OR A k k R akk k R KOR R K R kk K K k kK K K 360 14 8 VIEWING A REGISTER WHAFITEBOING BINARY ARITHMETIC HD1 HD2 DS DC DC DC HD3 DS DC DC HD4 DS DC DC DC HD5 DS DC DC DC END DS DC DC DC OCL62 CL40 COGSWORTH INDUSTRIES CL20 XL2 0D25 OCL62 CL40 Inventory Discrepancies R CL20 eport XL2 0D25 0CL62 CL60 XL2 0D25 0CL62 CL40 Product Begin Purch Sales Exp CL20 ect Actual Diff XL2 0D25 OCL62 XL2 0D25 BEGIN 14 8 Viewing a Register While Testing We will now see how to view a register whi
140. instrucci n DP tiene normas similares a las de la MP La longitud del segundo operando debe ser menor o igual a 8 y La longitud del segundo operando debe ser menor que la longitud del primer operando Adem s de acuerdo con los principios de IBM de operaciones A excepci n de divisi n decimal se produce si el dividendo no tiene al menos un cero a la izquierda A el cociente mayor que 323 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL el n mero de d gitos permitidos se reconoce como una excepci n de divisi n decimal La operaci n se suprime y se produce una inter rupci n del programa Por ejemplo el programa siguiente Abend DP2 BEGIN DP X Y RETURN X DC PL5 5006 Y DC PL3 5 END Dividend gt 5006 1001 Quotient Divisor gt 5 5 5006 5005 1 Remainder X before DP 00 00 05 00 6C X after DP 00 1C 00 00 1C __ not enough room for quotient 1001 Es cierto que estas normas de mantenimiento de recta y recordando que es el cociente y d nde est el resto puede ser confuso As que recomiendo la siguiente prueba de tonto m todo para hacer divisi n Yo siempre definir los siguientes campos para la divisi n DIVIDEND DS OPL16 QUOTIENT DS PL8 REMAINDR DS 8 DIVISOR DS PL8 Antes de la divisi n voy a mover el dividendo a dividendo y el divisor de divisor Luego de verificaci n para Aseg rese de que
141. inventario aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 COGSWORTH INDUSTRIES Inventory Discrepancies Report Product Begin Purch Sales Expect Actual Diff XXXXXXXXXX BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 BZZZ XXXXXXXXXX 779 BZZ9 BZZ9 BZZ9 BZZ9 BZZZ XXXXXXXXXX 779 BZZ9 BZZ9 BZZ9 BZZ9 BZZZ BZZ9 records processed BZZ9 indicate shortage BZZ9 indicate overage El programa completo y su producci n de seguir COGSIB MLC 211 PRINT NOGEN AR dd KOR R R OR R R R K FILENAME COGS9B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 showing inventory discrepancies REMARKS Produce report for COGSWORTH INDUSTRIES Modify COGS7B MLC to use ED instruction gt lt gt K gt lt gt x gt x gt lt gt oe K K gt K gt x K KK FK FK K K K FK FK KK FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK R R R OR START 0 REGS BEGIN BEGIN WTO 2COGS9B Begin execution 211 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO 2COGS9B Normal end of program RETURN ok kak ke PK ak joke sk ok OR k ak PK ok ke 2k 2k k ak KOR 3K 3K 3K 2K K 2k k k OR OR KOK R K SETUP Those things which happen one time only before any records are processed
142. k 2k 2k R kkk OR R PROCESS EQU ST 10 SVPROC BAL 10 READ CLI ITTEN C Y Is teacher tenured BNE PROCESSX No then skip this record BAL 10 FORMAT Otherwise format a line BAL 10 WRITE and write it PROCESSX EQU L 10 SVPROC BR 10 SEA AA AAR OR 9k 9k A A ACA I kk ORO 21 24 24 2k 2 READ Read a record SEA AA AARC 9k 9k A A ACA A I OR ORO 21 24 24 READ EQU ST 10 SVREAD GET TEACHERS IREC Read a single teacher record L 10 SVREAD BR 10 SAA AAA ARR 9k 9k A A ACA FORMAT Format a single detail line k X de ok ok K X ok ok X ok ale K de KK FK FK ok K 9 ok ale K K K ode X X FK de ok ok oko ale K ode K K X X ok X ok ale ale K ale ale FORMAT EQU ST 10 SVFORM MVC OTID ITID Move teacher ID Nbr to output MVC OTNAME ITNAME Move teacher Name to output CLC ITDEG CL4 PHD Highest degree PhD BE YESPHD Yes branch MVI OPHD C N No Show PhD N B OTHERS Branch around YES logic YESPHD EQU Highest degree is PhD so MVI OPHD C Y Show PhD Y OTHERS EQU Continue moving other fields MVC 0517 CL4 517 All phone nbrs begin w gt 517 MVC OTPHONE ITPHONE Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF L 10 SVFORM BR 10 K ok ok k ok 5k sk sk kk I 3k 3k ak ak ak ak ak ak 3k 3k 3k 3k I I 3K 3K ak IC IC IK 3K 2k 21 3K K K K K A A A A K 3K K OK KK K K WRITE Write a single detail line gt K
143. k R 1 k ak KOR R K R KOR K R k K 2K R K PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 BEA AAA R KOR 9k 9k 9k A A ACA I Ik ORO READ Read a record 207 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR search read INVENTRY into EOFSW IN SVREAD return 156 FEOF IGRI FORMAT Format a single detail line FESS ISIS ICI FORMAT EQU ST R10 SVFORM MVC BLANKS MVC ODESC IDESC PACK WCALIF ICALIF Each product s sales must PACK WILL be packed so they can be PACK WUTAH IUTAH added to total for this PACK WWISC IWISC product MVC OCALIF WMASK ED OCALIF WCALIF MVC OILL WMASK ED OILL WILL MVC OUTAH WMASK ED OUTAH WUTAH MVC OWISC WMASK ED OWISC WWISC ZAP WTOTAL P 0 Initialize the total to zero AP WTOTAL WCALIF and start adding AP WTOTAL WILL AP WTOTAL WUTAH AP WTOTAL MVC OTOTAL WMASK ED OTOTAL WTOTAL MVC OCRLF WCRLF PC 370 only L R10 SVFORM BR R10 K 3K 3K 3k 3K 2k ak k k K 2K gt K 2K R K WRITE Write single detail line BEA AAA R KOR 9 9k 9k 9k A A A search writ
144. k ak PK ok ke oko ee 3K 2K 3K ok R 2k K k OR OR RK K K search SVSETUP S VHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 SVCHKLNS DC CHKLNS SVCHKSEM DC F gt 0 CHKSEM SVCHKDEP DC CHKDEPT SVENDSEM DC F 0 ENDSEM SVENDDEP DC F gt 0 ENDDEPT sk sk k k k 2k akk ak 2k ak k ak k 2k 3K k 3k 2k 2k k k Miscellaneous field definitions k kkk kk PK PK 5k 9k 5k sk ok ak ak R k ok ke ke 5k 9k OR ak ak R ok SKOR 3k ke Ok KOR R ko 3K KOR 2K 2K 2k k 2k 2k K OR 2K 2K R K WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CLi N End of file Y N PGS DC PL2 0 Nbr of pages printed LNS DC PL2 10 Lines printed on this page MAXLNS DC PL2 10 Max nbr lines per page My line counts exclude hdgs BLANKS DC 40 gt HOLDSEM DC CL3 Hold semester HOLDDEPT DC CL2 Hold department SEM DC PL2 0 Sections in a semester DEPT DC PL2 0 Sections in a semester dept Yc 3k sk kk ok ok ok ke ok ke PK ak joke ok ok k k Input record definition ok ok kk ok 5k ok ke ak ke k 5k joke ok 3K 2k ok ke Ok OROR ko 3K 2k 3K ok ke k ak K 2K 2K 2K 3K 2K 2k k 2k 2k K 2K gt K 2K K K IREC DS 0 1 18 1 18 Offer record ISEM DS CL3 1 3 Semester ICID DS OCL5 4 8 Course ID IDEPT DS CL2 4 Department DS CL3 6 8 Course number IS
145. k k kk k k kk k kk kk k k kkk k k R akk k R KOR R R R kk K K k kK K K HDGS EQU ST R10 SVHDGS AP PGS P 1 Add 1 to page count MVC HDPGS X 40202120 Edit pattern for page count ED HDPGS PGS Move page count to heading PUT REPORT FORMFEED PC 370 ONLY MVC HDSEM HOLDSEM PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 PUT REPORT HD5 ZAP LNS P 0 Reset line count to zero L R10 SVHDGS BR R10 kk kk k k k kk k k k kk k K KOR k A PROCESS Those things which happen once per record 242 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE Add KOR FK R R R R R K PROCESS EQU ST R10 SVPROC BAL R10 CHKSEM See if new semester BAL R10 CHKDEPT See if new department AP HSEM P 1 Count sections by semester AP DEPT P 1 Count sections by department BAL R10 CHKLNS BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 FEA AAA R Rok 9k A 9k 9k A A ACA I I I ORO 21 21 READ Read a record ARIA ICI KOR A IA KOK search read OFFER into IREC EOFSW SVREAD return 222 blood I IKI KOR OR I KK CHKSEM Check for change in semester major control break BOAO
146. kk K K A kK K K Literals if any will go here BEA AC IC Pk ok ok PK k ok ok kkk k kkk A kk k kk kk k k kkk k k k kk k R KOR R K LTORG EAA AAA KOR 9k 9k 9k A A A A I I I OR kk 21 24 24 R OR R k k k kkk 2k R KOR OR R File definitions SEA AAA R KOR 9k 9k 9k A A A 24 24 R R 2 TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT RETURN ADDRESSES FEA A R OR oook 2k 2k kkk OR R search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 SVCHKLNS DC F gt 0 CHKLNS BAO AA AAA 9 9k 9k A A A A Miscellaneous field definitions YK k ok ok ok 5k sk 5k akak I 3k 3K 3K ak aK aK ak ak AGC I 3K 3K aK I I I IK 3K 3K 2k 3K K K K KOR ACA ACAI 3K OR K KK K K WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N PGS DC PL2 0 Nbr of pages printed LNS DC PL2 3 Lines printed on this page MAXLNS DC PL2 3 Max nbr lines per page My line counts exclude hdgs Ad K FK K K KR ok K KK ok FK ok KOR FK K ok KOK FK ok OK FK OK R KOR FK K oe R OR R OR Input record definition BEA ACCA Pk ok ok PK Pk ok ok 5k oR 9k k kkk ICI kk kkk k k k kk k k kkk A K KOR K R A kK k K TEACHER IREC registro de entrada 44 ok ok K
147. kk k k kk k kk kk kk kkk k k k kk k ak KOR k K R kk K kk kK K K FORMAT EQU ST R10 SVFORM MVC OREC 40 BLANKS MVC OSEM ISEM Semester MVC OCID ICID Course ID MVC OSECT ISECT Section number MVC OTID ITID Teacher ID MVC OCRLF WCRLF PC 370 Only L R10 SVFORM BR R10 SOO OBO ke joke OR I KOR k kkk kk kk kk kk 2k R WRITE Write a single detail line FEA k k kk k k k kk k k kk k k k kk k k k akk I I OR k k 3k 3K R 3K KOR R OR OR KOR ACA ACA I OR K KK K K search write REPORT from OREC LNS SVWRITE return 185 gt K bk ok k sk sk kk k k I 3k 3k 3K ak k K ak ak 3k 3k 3k 3K K 3K A 3K 3K ak ICI I Ik 3K R 3K 3K K K R KOR ACA AC AIK K KKR K K WRAPUP Those things which happen one time only after all records have been processed YK ok ok ok 5k sk sk sk ok 9k k k k K ak 5k 9k Ok 3k 3k 3K 3k 3k ak PK K K ak 3k 9k 9k 9k 3K 3K I ICICI ak R I IK 3K ak R 3K K K K K K K K ACAI 3K 3K K KRK K K WRAPUP EQU ST R10 SVWRAP CLOSE OFFER CLOSE REPORT WTO OFFERIOA Course list on REPORT TXT 224 CAPITULO 10 QUIEBRE DE LA LOGICA DE CONTROL DE L R10 SVWRAP BR R10 gt K 5k sk sk skok sk 5k ok ok 5k PK ok ok 9k Pk ok ok 9k R ok 9k 5k OR IORI Oa kkk kkk kkk kkk k K kk K kk kk k k kk k k Literals if any will go here ok sk 5k Pk ok COR ORR k kkk k kk k kkk k kk kk kk akk k k K KOR K K k Kk K LTORG SEO AAA A 2k 2k R R k k kk 2k 2k kkk OR R File definitions BA AAA 9k 9k 9k A A A A I
148. kk kk kk kk kk x x XX START 0 REGS BEGIN BEGIN WTO TEACHAB Begin execution BAL 10 SETUP MAIN EQU BAL 10 PROCESS B MAIN ATEND EQU BAL 10 WRAPUP WTO TEACHAB Normal end of program RETURN ok joke sk ok ak k ak ak 2K 3K 2k 3k 2k 2k ak ak aK K 3K 3K 3k 2k 2k ak k ak k 2K 3K 2K 3k 2k 2k K ak 2K K 3K 2K 3K 3K 2k 2k K gt k gt K 2K 2K 2K R K SETUP Those things which happen one time only before any records are processed lt gt lt K K K KK ale ok K K ok ok K X ok ale ade ok ok K 3 2K K FK ok ok K 9 ok ale K ad K ode 2K X X 2K ok ok ale K ok K ode 2K K X X K K 2K K K K K K ale SETUP EQU ST 10 SVSETUP OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT BAL 10 HDGS L 10 SVSETUP BR 10 gt K 5k sk 3k skok AC A I ok 5k I kkk kkk kkk kkk A kkk k k kk k kk kk k k kk k k HDGS Print headings EEEo ooo kkk kkk kkk kkk kkk kkk k k kk k kk kk k k kk k k HDGS EQU ST 10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 107 4 1 COOKPETIIAT ION PRO GEIR UCMRAPRU IP SHRROGRAMA DE BAL L 10 SVHDGS BR 10 BAA AAA 9k 9k 9k 9k A A ACA 24 24 2k 2 k 2k k 2k 2k 2k kkk OR R PROCESS Those things which happen once per record BAA AA AAA A A A A I I OR 1 1 k
149. la base de los siguientes 16 adiciones 128 5 6 EJERCICIOS CAPITULO 5 REPRESENTACION DE DATOS a b c a b 18 797 322 2DB2 DEAD 693 Encontrar el equivalente decimal a cada una de las sumas en las partes de anuncios e 8 Este cap tulo incluye una tabla que muestra la representaci n EBCDIC de todas las letras may sculas Tome el n mero de decimales para las letras A B R S y Z y encontrar su equivalente binario Los n meros decimales para los equivalentes en min sculas de estas cartas son 129 130 153 162 y 169 respectivamente Encuentra los equivalentes binarios de estos n meros tambi n Utilice estos n meros binarios para responder a la siguiente pregunta En EBCDIC cu l es la diferencia entre una letra may scula y su equivalente min scula 9 Este cap tulo incluye una tabla que muestra la representaci n EBCDIC de todos los n meros del O al 9 inclusive Buscar el equivalente hexadecimal para cada uno de estos n meros Utilice estos n meros hexadecimales para responder a la siguiente pregunta En EBCDIC qu tienen en com n todos los n meros 129 Capitulo 6 Qu es esta cosa de la izquierda Objetivos Al t rmino de este cap tulo usted ser capaz de Describir el formato de instrucci n SI tal como se utiliza con la MVI y CLI instrucciones Describir el formato de instrucci n de las SS como se utiliza con el M
150. los campos s lo por lo que podr an llegar a ellos Ahora estos campos envasados se utilizar n para que podamos mostrar la salida con ceros a la izquierda suprimida PACK WCALIF ICALIF Each product s sales must PACK WILL IILL be packed so they can be PACK WUTAH IUTAH added to total for this PACK WWISC IWISC product MVC OCALIF WMASK ED OCALIF WCALIF MVC OILL WMASK ED OILL WILL MVC OUTAH WMASK ED OUTAH WUTAH MVC OWISC WMASK ED OWISC WWISC donde WMASK DC X 40202120 BZZ9 Del mismo modo el n mero de registros se muestran como sigue MVC OREC 23 CL23 BZZ9 records processed MVC OREC 4 WMASK ED OREC 4 IN Count El programa completo y su producci n de seguir search setup ascii INVENTRY and REPORT HDGS prime READ SVSETUP return 206 SETUP EQU ST R10 SVSETUP OI INVENTRY 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN INVENTRY OPEN REPORT BAL R10 HDGS BAL R10 READ L R10 SVSETUP BR R10 206 157 207 207 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR ff 40 4202 2495 PRINT NOGEN FEA k k k k k ak ak ak 3k 3K 3k 3k 3K ak K aK ak ak 3K I 3K 3K 3K ak I OR OR IK 3K 3K R 3K a K K A AACA K 3K 3K 2k K KR K K FILENAME COGS9A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce report for COGSWORTH INDUSTRIES showing sales by st
151. mes y dia de la semana en el indicador de registro 2 Estos a continuaci n los registros son manipulados con el fin de devolver la fecha y la hora en un formulario est ndar Significativa comentarios se han utilizado throughtout De particular inter s es el medio por el cual el SLL y la Instrucciones SRL se utilizan juntos para aislar una parte de un registro Nota SVC 18 se discute en PC 370 s documentaci n El uso de la VPC 18 para obtener la fecha y hora del sistema es nico para PC 370 440 ff 40 4436 PRINT NOGEN gt K k gt x x gt x ook K K K K K K KK dd ok 3K K KR KR K K FK FK K KOK KR KR KR alle 2 ok old ok R R dd 9 K KOR OR oko ooo od 9 9 R R OR FILENAME DATE370 MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Demonstrate date time functions in PC 370 k kk kk kkk k kkk k kk kkk K START 0 REGS BEGIN BEGIN WTO MESSAGE Before SVC 18 Supervisor call 18 returns time in RO year with century in R1 day month and day of week in R2 LR R3 RO Put time in R3 SRL R3 24 hhmmssxx becomes 000000hh CVD R3 DBL Hours only UNPK TIME 2 DBL Move to output OI TIME 1 X FO Remove sign LR R3 RO Put time in R3 SLL R3 8 hhmmssxx becomes mmssxx00 SRL R3 24 mmssxx00 becomes 000000mm CVD R3 DBL Minutes only UNPK TIME 3 2 DBL Move to output OI TIME 4 X FO Remove sign 440 17 6 PROGRAMAC
152. montar y ejecutar estos programas Para ello debe copiarlos uno a la vez al directorio MIN Experimente con ellos Al igual que toda otra lengua asi es como realmente se aprende 1 2 Nuestro primer programa PC 370 El siguiente programa mostrar un mensaje en la pantalla Utilice su editor preferido para crear HELLO MLC como se muestra a continuaci n a continuaci n siga la secuencia de comandos en la p gina siguiente para comprobar que se ha PC 370 ha instalado correctamente programa no 1 version completa 13 PRINT NOGEN FILENAME HELLO MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS This program will display a message gt K 5k sk sk skok sk 5k Pk ok A kkk kkk k R kk k kk kk k kkk k K START 0 REGS BEGIN BEGIN WTO MESSAGE RETURN 13 1 2 NUESTRO PRIMER RUGERLOIA HONNIBROS PASOS CON PC 370 MESSAGE DC C Hello world END BEGIN Cuidado no escribas mas alla de la columna 71 Al introducir este programa toma en cuenta lo siguiente El programa se crea en el directorio MIN Un asterisco en la primera columna indica que la linea es un comen tario Las etiquetas como BEGIN y MESSAGE siempre comienzan en la columna uno Debe haber al menos un espacio en blanco entre las etiquetas y las opera ciones por convenio las operaciones tales como PRINT comienzan en la columna de
153. oe oe ROROR OK KOK BEGIN MAIN EOJ START 0 REGS BEGIN WTO TEACH15A Begin execution BAL R10 SETUP EQU CLI EOFTEACH C Y BE BAL R10 PROCESS B MAIN EQU BAL R10 WRAPUP WTO gt Normal end of program RETURN KK FK FK K K R FK K K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K OR KK OK SETUP Those things which happen one time only before any records are processed FKK KK KK K x K K ok FK K KK FK FK K FK R ok ok K K FK FK K FKK K FK K K R FK K FKK K FK K OK FK FK K R KOK FK ok FK FK FK K FK KOR FK RO ok K SETUP EQU ST 0I R10 SVSETUP TEACHERS 10 X 08 PC 370 ONLY Convert all 379 15 4 LOS CAMPOS DE TABLAS EL PROCESAMIENTO DE UN CAMPO DE CAR CTER POR 15 TABLA DE PROCESAMIENTO OPEN TEACHERS BAL R10 READTCH L R10 SVSETUP BR R10 input from ASCII to EBCDIC gt lt gt KK K K gt ok oe k KK FK FK K K K FK K K K FK FK K FKK FK FK K OK PROCESS Those things which happen once per record FE 5k 5k 5k Pk ok 5k kkk kk k ok ok kkk k k kk k k kk k kk kk k k kkk k k k kk k ak KOR k K R kk K k k kK K K PROCESS EQU ST R10 SVPROC MVC ONAME CL25 gt CLC TTDEG CL4 PHD Is highest degree PHD BNE PROFESS No then title is PROF
154. ok Kak 2K ak 3k 5k ok ok 5k I K K 3K aK I A 5k aK A A A ke 3K 9k OR aK 9k 2k A aK 3K aK K 21 3K OR KOR 2A 2k A FK K K KOR ak ak K K DELETEIT EQU 295 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N ST R10 SVDELIT BAL R10 CHKLNS MVC RREC BLANKS BAL R10 WRITE MVC RDATA IREC MVC RMSG CL16 RECORD DELETED BAL R10 WRITE AP SDELETED P 1 DELETEX EQU L R10 SVDELIT BR R10 BEA ooo A A A I I kk 21 21 21 24 24 2k oo READMST Read a master record lt gt gt lt lt 2K K K ok ok ok ok X K K K ok oko ok ok ok K ok oko ok ok ale K ok ale ode ok X X K ok ok X FK ok ale K K ale ode k K K K K K READMST EQU ST R10 SVREADM GET MASTERIN IREC AP OLDIN P 1 B READMX ATENDMST EQU MVI EOFMAST C gt Y gt READMX EQU E R10 SVREADM BR R10 BEA AAA ARR A A A A I I kk 2k 21 2k 2k 2k 2k 3 K k k k 2k 2k 2k 2k 2k 2k OR OR R READOFF Read a transaction record lt 2K 2K lt 2K K K KK ode K K K K ok X FK ok ok ok ok ok ok ode K ok K K ok ok ale K ok K ode ok oko K ok ok oko ok ale K K ale X ok K K 2K ok ale ale K ale READTRN EQU ST R10 SVREADT GET TRANSIN TREC AP TRANSIN P 1 B READTX ATENDTRN EQU MVI EOFTRANS C Y READTX EQU L R10 SVREADT BR R10 BAO AAA R KOR 9 9k A A A A CHKLNS Check lines printed Full page YK sk sk sk sk sk 3K k akak 3K ak ak akk ak ak ak 3k ak ak 3k 3K ak ak 3K 3K K ak 3K 3K aK ak
155. p ginas de la producci n y por tanto tres conjuntos de l neas en una sola p gina 5 El ejercicio 6 del cap tulo 2 le pidi que elaborar una lista con formato de los registros del estudiante archivo Modificar ese programa para la primera l nea de partida incluir un n mero de p gina Imprimir una m ximo de cinco l neas de detalle en cada p gina Adem s todas las l neas de detalle de impresi n a doble espacio 6 El ejercicio 7 del cap tulo 2 le pidi que elaborar una lista con formato de los registros en el grado de archivo Modificar ese programa para la primera 192 8 3 EJERCICIOS CAPITULO 8 LOGICA DE SALTO DE PAGINA l nea de partida incluir un n mero de p gina Imprimir una m ximo de cinco l neas de detalle en cada p gina Adem s todas las l neas de detalle de impresi n a doble espacio 7 El ejercicio 8 del cap tulo 2 le pidi que elaborar una lista con formato de los registros en el curso de archivo Modificar ese programa para la primera l nea de partida incluir un n mero de p gina Imprimir una m ximo de cinco l neas de detalle en cada p gina Adem s todas las l neas de detalle de impresi n a doble espacio 8 El ejercicio 16 del cap tulo 3 te pidi que elaborar una lista con formato de todos los grados de Ingl s clases para el a o escolar 1992 93 los semestres F92 y W93 solamente Modificar ese programa tan primero la l nea de partida incluir un n mero de p gina I
156. para que los datos aparece como una mesa Una soluci n podria ser 371 15 1 DEFINICION DE UNA TABLA SENTINEL CICLOS CONTROLADOS CAPITULO 15 TABLA DE PROCESAMIENTO 0 24 25 28 Transactions In 0 Transactions Rejected Masters Old Old Old New New Masters Masters Masters Masters 0 0 Deleted 0 Changed 0 Added 0 Out 0 Cada fila ocupa 29 bytes El 0 24 25 28 refieren a los desplazamientos en una fila El c digo para definir como una tabla es como sigue COUN TRA HREJ HOLD DEL CHA ADD TS NSIN ECTS IN ETED NGED ED NEWOUT DS DC DC DC DC DC DC DC DC DC DC DC DC DC DC DC OCL29 CL25 Transactions In PL4 0 CL25 Transactions Rejected PL4 0 CL25 01d Masters In PL4 0 CL25 01d Masters Deleted PL4 0 CL25 01d Masters Changed PL4 0 CL25 New Masters Added PL4 0 CL25 New Masters Out PL4 0 CL1 Para incrementar estos cargos simplemente utilice el comando como de cos tumbre por ejemplo AP TRANSIN P 1 Para imprimir estos cargos se utiliza el siguiente c digo LOOP LA EQU MVC MVC ED BAL AH CLI BNE R8 COUNTS R8 POINTS TO FIRST ROW ODESC 0 R8 DESC COMES FROM WHERE R8 POINTS OCOUNT EDCOUNT MOVE MASK PRIOR TO EDIT OCOUNT 25 R8 COUNT COMES FROM 25 BYTES PAST R10 PRINT WHERE R8 POINTS 8 29 POINT TO NEXT ROW 0 R8 C IS FIRST BYTE AN
157. productos Por ejemplo 10110 20 SR 0 0 1 0 21 ae 10 222 22 lx 1x4 4 23 e 0 0 8 0 24 a contu 1 x 1 x 16 16 22 As vemos que 10 110 2 22 10 Usted probarlo 1 1012 10 2 100102 _ 10 3 110111 2 10 5 3 El EBCDIC y ASCII para colaci n de secuen cias de Un byte es un conjunto de bits Generalmente hay 8 bits en un byte una excepci n de algunos de los primeros dispositivos de teletipo que hab a 6 o 7 bits en un byte Para nuestros fines siempre vamos a asumir de 8 bits por byte Una pregunta natural es pues Cu l es el valor decimal m ximo repre sentable por un solo byte Recuerde que en la discusi n del sistema de nu meraci n en base 10 para obtener el mayor n mero en un fijo n mero de d gitos 120 5 3 EL EBCDIC Y ASCUAR RBICOS PSESHACHONIAB DATOS utiliza la m s alta de dos d gitos en todas las posiciones El mayor de dos d gitos en la base del n mero 2 sistema es 1 por lo que la mayor base de 2 n mero de 8 d gitos es 11111111 11111111 20 PEPE 1 1 1 21 1 1 2 2 22 1 1 4 4 23 IO SURES 1x 1x8 8 24 DUI egest 1 x 1 x 16 16 25 LAA as 1 x 1 x 32 32 26 e 1 x 1 x 64 64 255 As vemos que el m ximo n mero decimal representable por 8 bits o 1 byte es 255 Del mismo modo el menor n mero de decimales que puede representarse por 8 bits o 1 byte es 0 00000000 2 Hay por tant
158. que se deber an haber sido contestadas antes de que el programa llegue a usted Dado un fullword es de cuatro bytes de longitud se deduce que una palabra doble es de ocho bytes de longitud Usamos una especificaci n de tipo de campo de la D para definir una palabra doble Por ejemplo BILLION DC D 1000000000 342 CAPITULO 14 BINARY ARITHMETIC Si el d gito m s a la derecha de la direcci n del primer byte de un campo es de 0 a 8 entonces decimos que es palabra doble alineados o alineado en un l mite de palabra doble Un campo definido con un tipo de la especificaci n de la D se ve obligado a un l mite de palabra doble Del mismo modo una media palabra es de dos bytes de longitud Utilizamos una especificaci n del tipo de campo de la H para definir un media palabra Por ejemplo MINUSONE DC H 1 Si el d gito m s a la derecha de la direcci n del primer byte de un campo es 0 2 4 6 8 A C E o decimos que es media palabra alineados o alineado en un l mite de media palabra Un campo definido con un tipo de la especificaci n de la H se ve obligado a un l mite de media palabra La siguiente tabla puede ayudar a ilustrar la jerarqu a de doublewords fullwords medias palabras y los bytes DBL FULL1 FULL2 HALF1 HALF2 HALF3 HALF4 BYTE1 BYTE2 BYTES BYTE4 BYTE5 6 BYTES C mo podr an estos mbitos se definir n en un programa Soluci n DBL DS OD FULL1 DS OF HALF1 DS OH BYTE1
159. resto por dar H1 en H2 Divide F2 por H2 dando cociente en PK3 Divide H2 por F2 dando resto en PK3 Divide F1 por 5 da cociente en PK3 Divide H1 por 5 da resto en H2 5 Escribir un programa que lea la versi n binaria de la Herramienta de archivo TOOL BIN producidos en el ejercicio 8 del cap tulo 14 y crear el informe de marcado se muestra en el ejercicio 8 del cap tulo 13 Todos los aritm ticas en binario es decir el uso envasados s lo los campos que sean necesarias para el comando ed 428 Capitulo 17 A nivel de bits de Operaciones Objetivos Al t rmino de este cap tulo usted ser capaz de Describa lo que se entiende por la o y y en exclusiva o de las operaciones Utilice el OI y las instrucciones para activar el OC bits sar la NI y las instrucciones de NC para desactivar bits sar la XI y las instrucciones para cambiar XC bits tilice la instrucci n TM para probar bits tilice el NI OI y las instrucciones para cambiar el caso de una carta tilice la instrucci n XC para cambiar los campos tilice el SLL SRL y las instrucciones para cambiar los bits en un registro tilice el SLL SRL y las instrucciones para multiplicar un registro por una otencia de dos U U U U Usar la XI y las instrucciones de XC para el cifrado de datos U U U p U tilice PC 370 s SVC 18 para acceder a la fecha y hora del sistema Introducci n En este cap tulo veremos algunos de los SYSTEM 370 s opera cione
160. return 314 FKK OE K K gt K FK K KK FK FK K RR K FK FK KK FK K OK KOR R R ok OR FORMAT Format a single detail line BEA k k k ok kkk kk kkk k k kk 5k k kk k k k kk k k kkk k k k kk k R KOR R K R kk K K k kK K k FORMAT EQU ST MVC PACK CVB STH PACK CVB STH PACK CVB STH PACK CVB STH PACK CVB STH PACK CVB STH PACK CVB STH PACK CVB STH PACK CVB STH L BR R10 SVFORM ODESC IDESC DBL ICALIF R3 DBL R3 0CALIF DBL IILL R3 DBL R3 0ILL DBL IUTAH R3 DBL R3 0UTAH DBL IWISC R3 DBL R3 0WISC DBL IBEGIN R3 DBL R3 OBEGIN DBL IPURCH R3 DBL R3 OPURCH DBL IQOH R3 DBL R3 0Q0H DBL ICOST R3 DBL R3 0COST DBL ISELL R3 DBL R3 OSELL R10 SVFORM R10 Convert Convert Convert Convert Convert Convert Convert Convert Convert CALIF to binary ILL to binary UTAH to binary WISC to binary BEGIN to binary PURCH to binary QOH to binary COST to binary SELL to binary K K KK FK FK K K K FK FK K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K ok OR WRITE Write a single output record gt K k ok ok 5k k k sk kk IAAI 9k 9k 9k k K I ICICI I I I Ik 3K R 3K 3K K K K K K K K ACAI 3K 3K K KK K K WRITE EQU ST PUT AP E BR R10 SVWRITE BINARY OREC 00 1 R10 SVWRITE R10 304 14 6 MUESTRA DEL PROGRAMA DATOS DINDON CONVERTIR A BINARIO
161. rutina de instalaci n abrimos todos los archivos de y leer el primer registro de la entrada de OPEN archivo maestro y la operaci n de archivo SETUP EQU ST R10 SVSETUP OI MASTERIN 10 xX 08 OI TRANSIN 10 X 08 OI MASTEROT 10 X 08 OI REPORT 10 X 08 OPEN MASTERIN OPEN TRANSIN OPEN MASTEROT OPEN REPORT BAL R10 READMST BAL R10 READTRN L R10 SVSETUP BR R10 12 2 Las rutinas LEA LEA MASTER Tendremos dos rutinas LEA uno para LEA el archivo maestro de entrada y otro para el MASTER archivo de transacciones En este programa hemos a adido de la l gica de incluir el n mero de registros para cada archivo Estas cuentas se incrementan Y AL FINAL dentro de las rutinas de LEA Ser n aparece dentro de la rutina Wrapup READMST EQU ST R10 SVREADM MASTERIN IREC AP 01 1 B READMX ATENDMST EQU MVI EOFMAST C Y READMX EQU L R10 SVREADM BR R10 281 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N 12 2 0 1 La rutina PROCESO En el momento en que realizamos la rutina PROCESO Comparaci n de N mero de cliente de archivo principal con el tenemos un registro desde el viejo maestro de archivo N mero de Cliente de la y un registro del archivo de transacciones Nos transacci n de archivos Como en el cap tulo anterior no tres condiciones posibles como resultado de este Comparar TRANS MATCH el n mero de cliente en el maestro es menos BAJA que el n mero
162. s que una gu a del usuario para PC 370 Yo quer a escribir un texto f cil de leer sobre ENSAMBLADOR que har a hincapi en las aplicaciones de negocio basado en mi experiencia como progra mador de ENSAMBLADOR en la industria Creo que he tenido xito en hacerlo En la actualidad existe un renovado inter s en la programaci n de MAIN FRAME Esto se debe principalmente a la campa a del Problema del a o 2000 tambi n conocido como Y2K y el error milenario Muchos sistemas lega dos fueron escritos en ENSAMBLADOR y simplemente no hay el tiempo y o dinero para volver a escribirlos en otro idioma Pero deben hacerse compati ble con el siglo A n m s de estos sistemas est n escritos en COBOL y yo me suscribo a la opini n compartida por muchos en esta industria de que el apren dizaje de ENSAMBLADOR lo convertir en un mejor programador de COBOL El conocimiento de ENSAMBLADOR desmistifica el compilador de COBOL que es despu s de todo s lo un programador de ENSAMBLADOR Me doy cuenta de que solo algunos de los lectores de este texto se convertir en los programadores de ENSAMBLADOR Pero las habilidades aprendidas al 7 INDICE GENERAL INDICE GENERAL completar los ejercicios en este texto beneficiar al lector independientemente de la lenguaje utilizado Este texto est escrito en un estilo no muy t cnico Escribir s programas en ENSAMBLADOR desde el primer cap tulo Ejecutar s los programas de ejemplo comple
163. se puede ver por s mismo mediante el examen de la PRN archivo de cualquier programa que utiliza una OMC y el control de la expansi n de la macro de la OMC 4 Modificar el programa de la ficha cruz en Bolsas de la aritm tica deci mal Ejercicio 10 para mostrar los porcentajes as como los cargos Su resultado deber a aparecer como sigue 1 2 3 4 1234567890123456789012345678901234567890 STUDENT STATISTICS Status Male Female Total Single BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 Married BZZ9 BZZ9 BZZ9 BZZ9 7 BZZ9 BZZ9 Total BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 337 13 7 EJERCUAB TULO 13 M S BOLSAS DE ARITM TICA DECIMAL 5 Un decano de la peque a ciudad universitaria de la Comunidad gustar a comparar la calificaci n media otorgada por supuesto Utilice la tabla de grado para producir un informe es un valor de 4 puntos B es un valor de 3 puntos una C vale 2 puntos un D vale 1 punto y un F vale O puntos El archivo deber ser ordenada por el ID del curso Su informe debe aparecer como sigue 1 2 3 4 1234567890123456789012345678901234567890 SMALL TOWN COMMUNITY COLLEGE Average Grade by Course Course ID Count GPA XXXXX BZZ9 BZ 99 XXXXX BZZ9 BZ 99 Por ejemplo MA107 se toma 3 veces con los grados B A y D El PAM se calcula como sigue B A D 3 4 1 8 3 2 666 gt round to gt 2 67 6 Ejercicio Modificar 5 para incluir una calificaci n promedio de todos los cursos Nota esta cifra no es un 6
164. sigue k 3k sk ok ok ok k OAC I OKI A ok ok 2k A 4 1 21 1 2 4 4 21 kkk kkk k kkk This is COGS CPY Cogsworth s Inventory Data Usage COPY COGS k kk k k kk A k kk k k k akk k k A KOR K K KOR K R K K IREC IDESC ICALIF IILL IUTAH IWISC IBEGIN IPURCH IQOH ICOST ISELL ICRLF DS DS DS DS DS DS DS DS DS DS DS DS OCL41 CL10 CL3 CL3 CL3 CL3 CL3 CL3 CL3 CL4 CL4 CL2 kx k OK OK OK OK OK CK ck CK OK CK OK OK CK ck CK OK OK x 1 41 1 10 11 13 14 16 17 19 20 22 23 25 26 28 29 31 32 35 36 39 40 41 with COPY in column 10 Inventory record Product description Units sold in Calif Units sold in Illinois Units sold in Utah Units sold in Wisconsin Beginning inventory Purchases throughout year Actual quantity on hand Cost each 99V99 Sell for each 99V99 PC 370 only CR LF Volvamos ahora a nuestro problema de programaci n de la segunda para determinar el porcentaje de las ventas por producto para California 1 2 4 6 123456789012345678901234567890123456789012345678901234567890 COGSWORTH INDUSTRIES California s Contribution to Sales XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX TOTALS Nationwide Sales Calif ornia Percent of Sales National BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 BZZ9 Tenga en cuenta que la linea de partida segundo contiene un ap strofo Para incl
165. tador de ubicaci n se incrementa Por ejemplo un campo de comenzar en la ubicaci n 00009E para una longitud de tres Por lo tanto el siguiente campo comenzar a las 00009E ubicaci n 0003 0000A1 El campo inicial iza a C ABb que se muestra como X C1C240 X 40 es un espacio en blanco memorizar eso Usted probarlo 10 Mostrar el c digo objeto para la l nea 30 si esa l nea se cambi a A CL3 A DC 11 Mostrar el c digo objeto para la l nea 31 si esa l nea se ha cambiado a B DC CL4 12 gt 12 Mostrar el c digo objeto para la l nea 33 si esa l nea se cambi a E CC 2X FE gt 6 5 Ejercicios 1 Verdadero o falso La MVI MVC y las instrucciones son de tipo SS F T Cada instrucci n ocupa exactamente una dos o tres medias palabras FT c El segundo byte de una instrucci n MVI contiene la longitud de la medida menos F T uno x a Registro 13 es nuestro registro de base como se indica en la macro BEGIN F T e Si el primer operando de una MVC se indica por X D010 entonces el objetivo de F T recepci n de campo comienza diez bytes pasado donde registro 13 est senalando f Si la longitud de la CLC se indica por X 0C y luego doce bytes se est n F T comparaci n El c digo de operaci n de BE y BNE son X 47 F T h Habida cuenta de E DC la materia de la izquierda se X C2 F T EZ 138 6 5 EJERCICIOSP TULO 6
166. un mensaje apropiado y el registro Usted tendr que hacer otra versi n de SALES DAT para poner a prueba esta parte de su l gica No hay necesidad de ordenar los datos ya que ambos expedientes ya se han secuenciado por la herramienta de identificaci n 275 Capitulo 12 cuencial del archivo de actualizaci n Objetivos Al t rmino de este cap tulo usted ser capaz de Lista de los tres tipos de transacci n utilizados en un programa secuencial de archivo de actualizaci n Dado MASTER simulada y archivos de transacciones determinar el con tenido de la nueva MASTER archivo Dado MASTER simulados y archivos de transacciones determinar el con tenido del informe de auditor a y de conciliar los cargos que figuran en l Describir la transformaci n necesaria para MASTER LOW transacci n y acordes con las condiciones en un secuencial de programa de actualizaci n de archivos y Dise o y programaci n de un programa de actualizaci n que utiliza la l gica para aplicar las transacciones a un archivo maestro Introducci n BQSFUMST DAT BQSFUTRN DAT Ya en el cliente Ya en el cliente En el cap tulo anterior vimos el N mero de secuencia N mero de secuencia l gica necesaria para procesar dos archivos de entrada Los progra mas que se crean los informes que contienen TRANS VIEJO los datos de ambos archivos La l gica de juego ACCIONES MASTER discuten all es com n a mu chos aplicaciones de negocio
167. uno de los l nea de rumbro Imprimir las rubros E o Reiniciar el conteo de l neas a cero Tenga en cuenta que el n mero de p ginas PGS se inicializa a cero El n mero m ximo de l neas por p gina MAXLNS se inicializa con el m ximo deseado Dado que se trata de peque os conjuntos de datos y para fines de demostraci n vamos a utilizar un m ximo de tres En el mundo real que probablemente uso 50 55 Por ltimo el recuento de linea LNS se inicializa con el valor m ximo tambi n La raz n de de hacerlo no puede ser evidente lo hacemos de modo que la primera vez que comprobar el n mero de l nea el programa que la p gina actual est lleno y por lo tanto un salto de p gina Mi preferencia es contar s lo las l neas de detalle las partidas no est n inclu idas en LNS y MAXLNS Digo Los t tulos son libres Usted o su empresa puede preferir no hacerlo 8 1 La rutina CHKLNS En nuestro programa actual pondr el cheque conteo de l neas en la secci n de proceso despu s de FORMATO y antes de escribir Voy a utilizar una ruti na independiente con el fin de reducir al m nimo el n mero de sucursales y etiquetas dentro del proceso 183 8 2 INCLUYENDO EL NUMERO DE PAGINA EN LAS LINEAS DE DEFINICION CAPITULO 8 LOGICA DE SALTO DE PAGINA PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 CHKLNS BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 donde CHKLNS se define como
168. valor de los conocimientos de programaci n en ENSAMBLADOR para todos los programadores de MAINFRAME pero no han sido capaces de dar su curso por falta de un MAINFRAME Con este libro y PC 370 y est n de vuelta en el negocio He descubierto que puedo abarcar todo el texto en un semestre en Waubonsee Community College La mayor a de estos estudiantes ya han tenido un semestre de BASIC un semestre de de l gica de programaci n y un semestre de COBOL Usualmente tengo prisa el final del semestre pero se puede hacer Al planificar su curso puede que desee mantener en mente lo siguiente Los Objetivos se encuentran al comienzo de cada cap tulo y son muy ben eficiosos para en la planificaci n de su curso La mayor a de los cap tulos contienen INTENTA en el texto del cap tulo Por lo general el uso de estos en la clase impulsan una buena discusi n y me ayudan a mantenerme en la pista Me he desprendido de la representaci n de datos hasta el cap tulo 5 en favor de que mis alumnos escriban programas de ensamblador lo antes posible Me doy cuenta de que muchos profesores prefieren cubrir este material en la primera semana del curso Este cap tulo puede ser discutido antes pero la discusi n de los programas de ejemplo que figuran en l tendr que ser aplazado INDICE GENERAL INDICE GENERAL El cap tulo 10 L gica el cap tulo 11 m s de un archivo de entrada y el cap tulo 12 Numeraci n secuencial de archivos de actua
169. y las instrucciones de BL Esta secci n no se examinar n en detalle que el razonamiento es similar a la utilizada en la discusi n de ENDSEM en los tltimos programa 4 Como se procesa cada registro agregar uno al n mero de secciones para que el semestre y departamento Esto se hace para cada registro y como tal se incluye en la rutina PROCESO Se lleva a cabo despu s de la verificaci n de un nuevo semestre o el nuevo departamento PROCESO EQU ST R10 SVPROC BAL R10 CHKSEM See if new semester BAL R10 CHKDEPT See if new department AP SEM P 1 Count sections by semester DEPT P 1 Count sections by department 5 Despu s de todos los registros han sido procesados imprimir una ltima serie de los totales Dentro de la Wrapup rutina que invocamos ENDSEM una ltima vez al igual que en el programa anterior Tenga en cuenta que lo que hacemos No es necesario invocar ENDDEPT ya que ENDSEM lo har Por lo tanto tendremos los totales de la Departamento de ltima si hay m s de 1 secci n se ofrece as como los totales para el ltimo semestre La rutina es la misma que en el programa anterior WRAPUP EQU ST R10 SVWRAP BAL R10 ENDSEM CLOSE OFFER CLOSE REPORT 10 4 3 Romper el control de nivel m ltiple Programa de Soluci n 241 OFFER10C mlc 241 PRINT NOGEN FEA AC kkk k ok I kkk A kkk k kk k kk kk k k kkk k k k kk k ak kkk ak kk k k k kK k k FILENAME OFFER10C MLC AUTHOR Bill Qualls SYSTEM PC 3
170. year BZZ ZZ9 77 87 Total this year BZ ZZZ ZZ9 408 15 9 EJERCICIOS CAPITULO 15 TABLA DE PROCESAMIENTO OTLY OCRLF DBL FULL WITTY PK3 DS DS DS DS DS DS CL11 CL2 D F F PL3 88 98 Total last year BZ ZZZ ZZ9 99 100 PC 370 only CR LF Llena los espacios en blanco Determine total sales this year for this employee LOOP1 R6 _ Point to first month R5 _____ How many months RA Use R4 to hold total Add monthly sales to total pex edes Point to next month anne coin ata teet Repeat till all months done ERN NS WTTY Save Result Move Monthly Sales only to Output LOOP2 EQU RS moss Point to first month Output R6 _____ Point to first month Input R5 _____ How many months Place months sales in register ete fue RS Convert to decimal PK3 Move to smaller field Move mask Edit amount Point to next month Output Point to next month Input Repeat till all months done 5 Consulte la base de datos Small Town Banco de Sangre en m s conjuntos de datos Anote el nombre de los donantes en la tabla de los donantes es almacenado con el nombre y apellido es separar los campos Escribir una breve programa similar TEACH15A MLC en este cap tulo que muestra cada nombre de los donantes como un solo campo es decir con un tinico espacio que separa el nombre y apellido 6 Consulte el auto de pueblo peque o de almacenamiento en la base de datos
171. 00026A FD20D076 DO79FD41 DOTADOTF FD31D081 322 370 000200 OP 47F0F058 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL T A ADDR E DATA OR N DATA lt gt a t TRACE SET TRACE EP A 1433 ID BC 370 A 000200 OP 47FOF058 TRACE EP A 1F9B ID STM 370 A 000258 OP 90ECDOOC TRACE EP A 17D1 ID ST 370 A 00025C OP 50D0F014 TRACE ID LR 370 A 000260 OP 18ED TRACE EP A 1649 ID LA 370 A 000262 OP 41D0F010 TRACE EP A 17D1 ID ST 370 A 000266 OP 50D0E008 ADDR STOP 00026A FD20DO76 DO79FD41 DO7ADO7F FD31D081 e TRACE EP A 2110 ID DP 370 A 00026A OP FD20D076D079 d A IBI C DIE F A 286 000286 00047C9C 00000127 6 100 00 00010 02 VERS 000296 5C 000000 00000007 C6E80000 00000000 i TOME a ADDR STOP OFF a ADDR STOP ON A 27c 00027C 58DD0004 98ECDOOC 07 0004 7C9C0000 q T A ADDR E DATA OR N DATA lt gt t TRACE SET TRACE EP A 2110 ID DP 370 000270 OP FD41D07ADO7F TRACE EP A 2110 ID DP 370 A 000276 OP FD31D081D085 ADDR STOP 00027C 58DD0004 98ECDOOC 0 7 005 2C9C0001 q TRACE A 162D ID L 370 00027 OP 58DD0004 d A IBI C DIE F A 286 000286 005C2C9C 00012 07 6 100 00 0 010 02 ee 000296 5C 000000 00000007 C6E80000 00000000 EYf 1 T Press Esc to return to the DOS prompt OOK OK OK CK CK CK CK ck CK OK CK CK CK CK ck kK Gk GR La
172. 0005 20 FLDA DC PL3 5 00007D 00020C 21 FLDB DC PL3 20 000080 01000C 22 FLDC DC PL3 1000 000083 000000005 23 FLDD DC PL5 5 000088 000000020C 24 FLDE DC PL5 20 000080 000001000 25 FLDF DC PL5 1000 000098 26 END 2 MP FLDD FLDC La longitud del segundo operando es menor que el FLDD longitud del primer operando Esta es una condici n necesaria pero no suficiente para el MP Let s vistazo a la representaci n hexadecimal del primer operando FLDD es X 000000005C Desde FLDC es PL3 FLDD debe tener al menos tres bytes de alto orden ceros es decir seis d gitos hexadecimales de cero como en X 000000 Podemos ver que FLDD de hecho tiene cuatro bytes de ceros de orden superior Por lo tanto este MP es v lido Una vez m s podemos comprobar esto mediante el uso PC 370 s labora torio para detener la ejecuci n de MP MLC inmediatamente despu s de la MP y luego ver FLDD Debemos ver 5 x 1000 5000 Recuerde que una T may scula es necesario para utilizar el laboratorio El examen completo se muestra aqu con respuestas de los usuarios en negrita A MIN gt mp T TRACE EP A 07AB ID 370 370 000200 47 0 058 Copyright message appears here TYPE H FOR HELP a ADDR STOP ON A 270 000270 58000004 98ECDOOC 07 0000 5C00020C q T A ADDR E DATA OR N DATA lt gt a t TRACE SET TRACE EP A 1433 ID BC 370 A 000200 OP 47FOF058 TRACE EP A 1F9B ID STM 370 000258 OP 90ECDOOC 311 13 1
173. 1 2 2 4 24 kkk kkk k kkk PROCESS EQU GET TEACHERS IREC CLI ITTEN C Y BNE PROCESSX MVC OTID ITID MVC OTNAME ITNAME CLC ITDEG CL4 PHD BE YESPHD MVI OPHD C N B OTHERS YESPHD EQU MVI OPHD C gt Y gt OTHERS EQU MVC 0517 14 517 MVC ITPHONE MVC OCRLF WCRLF PUT REPORT PROCESSX EQU BR 10 gt K gt bk K KK K KK KK KK KK K K KK K K K OK OK OK READ Read a single teacher record EXTRACT Is teacher tenured No then skip this record FORMAT Move teacher ID Nbr to output Move teacher Name to output Highest degree PhD Yes branch No Show PhD N Branch around YES logic Highest degree is PhD so Show PhD Y Continue moving other fields All phone nbrs begin w 517 Move phone nbr to output PC 370 ONLY end line w CR LF WRITE Write report line Un m dulo con un solo prop sito bien definido se dice que ser coherente El programadc La nueva secci n de proceso se convierte en A dd dd dd OK OK OK OK PROCESS Those things which happen once per record 103 4 1 UCWRAPRRISERROGREASIA DE BAL KR K K R R K FK R FK FK K FKK FK FK K FK FK FK K KK FK FK K FK FK FK K FK FK FK FK PROCESS EQU BAL 10 READ Read a single teacher record CLI ITTEN C Y Is teacher tenured BNE
174. 1 24 2k R PR K k k k 2k 2k 2k kkk kk IREC DS OCL41 1 41 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS CL3 11 13 Units sold in Calif IILL DS CL3 14 16 Units sold in Illinois IUTAH DS CL3 17 19 Units sold in Utah IWISC DS CL3 20 22 Units sold in Wisconsin IBEGIN DS CL3 23 25 Beginning inventory IPURCH DS CL3 26 28 Purchases throughout year IQOH DS CL3 29 31 Actual quantity on hand ICOST DS CLA 32 35 Cost each 99V99 ISELL DS CLA 36 39 Sell for each 99V99 ICRLF DS CL2 40 41 PC 370 only CR LF BAA AAA AAR A A AGA Output line definition SEA AAA AERA 9k 9k A A ACA I A OR ROF 21 24 24 24 OR 2 OREC DS OCL62 1 62 ODESC DS CL10 1 10 Product description DS CL5 11 15 OCALIF ODS CL3 16 18 Units sold in Calif DS CL6 19 24 OILL DS CL3 25 27 Units sold in Illinois DS CL6 28 33 OUTAH DS CL3 34 36 Units sold in Utah DS CL6 37 42 OWISC DS CL3 43 45 Units sold in Wisconsin DS CL6 46 51 OTOTAL ODS CL3 52 54 Units sold in all states DS CL6 55 60 OCRLF DS CL2 61 62 PC 370 only CR LF EEEE EEEE EEEo aooo ooo A A A I kk 21 21 k k k 2k 2k 2k 2k 24 OR OR ok Headings definitions SAA AAA A RRA 9k 9k A A HD1 DS OCL62 DC CL40 COGSWORTH INDUSTRIES gt DC CL20 gt DC XL2 0D25 HD2 DS 0CL62 DC CL40 Sales Recap d DC CL20 160 7 9 EJEMPLO DE PROGRAMACION LA PRODUCCION DE LAS DISCREPANCIAS INB RIUL OF INCENSA RI ARITM TICA DECIMAL DC HD3 DS DC DC HD
175. 1001110 result B 10010111 X 97 Cp the result p with the character again XI 997 B 10010111 C 4 B 01001110 result B 11011001 X D9 Vemos el resultado R es el valor original Esta propiedad es til en el cifrado programas intenta 1 10 la letra H con el car cter XI el resultado con el car cter de nuevo Mostrar la XI los resultados intermedios 2 11 XI de la letra S con el car cter XI el resultado con el car cter F de nuevo Mostrar la los resultados intermedios 17 3 The OC Carolina del Norte y XC Instruc ciones Hay un SS correspondiente Storage to Storage de instrucciones para cada uno de los anteriores SI instrucciones son OC NC y XC La funci n es el mismo que con las instrucciones anteriores pero en cada caso el segundo par metro es un campo o literal en lugar de un valor inmediato Ejemplo 9 las letras PR con los personajes Esto puede ser consid erado como XC de cifrado C PR X D7D9 B 1101011111011001 X 4EBE B 0100111001011110 result B 1001100110000111 X 9987 Crg 433 17 4 MANIPULACION DE LOS REGISTROS EL SLL Y SRL INSTRUCCIONES D amp P TULO 17 A NIVEL DE BITS DE OPERACIONES 7 el resultado RG con los caracteres considerado como XC descifrado de nuevo Esto puede ser C rg X 9987 B 1001100110000111
176. 1101100 10100111 10 00100100 f 4 5 Escriba el c digo de BAL para cada uno de los siguientes a Si los bits de primer segundo y tercero de FLDA no est n en todos a continuaci n girar a la sexta y bits de sesiones b Si el bit de cuarta o quinta parte de FLDB est apagado a contin uaci n encienda el primer bit de lo contrario apaga el ltimo bit 6 Sobre la base de nuestro an lisis de la utilizaci n de la instrucci n de XC escribir un programa que cifrar un archivo Escribir otro similar programa que descifrar un archivo Usted puede ya sea duro c digo de la clave en el programa o leer desde un archivo Nota Los ejemplos 8 y 9 de este cap tulo han sido cuidadosamente elegidos para dar salida con caracteres no imprimibles Es poco probable que su programa lo har para todos los caracteres Del mismo modo es poco probable que todos los caracteres resultantes de su rutina de cifrado que trabaja en EBCDIC tendr un car cter correspondiente en el juego de caracteres ASCII Por lo tanto aseg rese de que su rutina de cifrado escribe un archivo de EBCDIC y que su programa de descifrado lee un archivo EBCDIC Para ello basta con omitir la instrucci n OI utilizados antes de la macro OPEN El uso de EBCDIC en el PC le da un nivel de de cifrado de todos modos Esta consideraci n vs EBCDIC ASCII fue mencionado en el cap tulo 14 7 en este cap tulo para escribir una copia de rutina q
177. 1111 en todos los bits Esta es tambi n la gama de registros tenemos diecis is registros numerados del 0 al 15 inclusive Asi que estos cuatro bits designar a un registro En todos los tres de las instrucciones de arriba l neas 18 21 y 24 el pr ximo medio byte a ra z de la inmediata valor es D que es el equivalente en hexadecimal a decimal 13 Esto nos dice que el registro 13 se apunta a la operandos o cerca de ellos C mo puede ser esto D nde nos lo inicializar registro de 13 No lo hicimos pero los usos BEGIN macro de registro 13 como el registro de base Esto se hace mediante la instrucci n USING en la l nea 14 que es parte de la expansi n de la macro BEGIN Registro de 13 puntos a HZQKX001 a etiqueta sin sentido generado por la macro BEGIN que es el comienzo del programa El siguiente y uno de bytes de la mitad que es doce bits indica el desplazamiento o la distancia del operando de HZQKX001 En la l nea 18 el desplazamiento es X 097 La direcci n de HZQKX001 es X 000010 en la columna de conciencia a la linea 7 del programa As que si a adimos X 097 a X 000010 tenemos X 0000A7 que es la LOC para E campo En la l nea 21 el desplazamiento es X 091 La direcci n de HZQKX001 es X 000010 en la columna de conciencia a la l nea 7 del programa As que si a adimos X 091 a X 000010 tenemos X 0000A1 que es la LOC para campo El ensamblador nos ahorrar algo de este trabajo E
178. 12 o 12 que es lo mismo que si tuvi ramos que dividido FLDA por cien Continuando con los datos originales SRP FLDA 64 2 5 daria X 0000013C Este cinco dice hacer todo el afio Sacrae ets Esto es a menudo usado en lugar de 62 en el ejemplo anterior Tenga en cuenta que el resultado X 0000013C es igual a PL4 13 o 13 que es lo mismo que si tuvi ramos que FLDA dividido por diez da 127 a adi cinco da 132 y dividido por diez dando 13 318 13 3 REDONIARDICON SBP M S BOLSAS DE ARITM TICA DECIMAL En general SRP con un segundo operando de la forma 64 N es equivalente a multiplicar por el campo 10 N o dividir el campo por 10n Si el tercer operando es cero el resultado no se redondea Si el tercer operando es de cinco se redondea el resultado KOK OK KOK OK KOK OE OE KOK OK KOK EG Volvemos a nuestro problema de programaci n Teniendo en cuenta PRICE DS CL5 contains 00425 representing 4 25 PCTOFF DS CL2 contains 15 representing 15 SALE DC X 402021204B2020 Tanto los primeros campos deber n ser envasados Podemos Pack PCTOFF en el campo de dos bytes PRECIO caben en un tres campos de bytes pero si vamos a multiplicarlo por el por ciento de descuento a dos campos de bytes entonces debe definirse como el campo de cinco bytes PACK PK5 PRICE PACK PK2 PCTOFF MP PK5 PK2 Multiply PRICE by PCTOFF SRP PK5 64 2 5 giving DISCOUNT rounded PACK PK3 PRICE PRICE minus SP
179. 13 000092 98ECDOOC 000 45 LM 14 12 12 1 000096 O7FE 46 BR 14 000098 4000000000000000 47 DBL DC D 0 000040 0005 48 FIVE DC H 5 0000A2 0003 49 THREE DC H3 0000A4 40202120 50 RESULT DC 24020212 000000 51 END BINARY A gt binary T TRACE EP A 07AB ID 370 370 000200 47 0 058 Copyright message appears here TYPE H FOR HELP a ADDR STOP ON A 26a 00026A 48700090 4 700092 4E70D088 DEO3D094 k h m T A ADDR E DATA OR N DATA lt gt a t TRACE SET TRACE EP A 1433 ID BC 370 A 000200 OP 47FOF058 TRACE EP A 1F9B ID STM 370 A 000258 OP 90ECDOOC TRACE EP A 17D1 ID ST 370 A 00025C OP 50D0F014 TRACE EP A OCAD ID LR 370 A 000260 OP 18ED TRACE EP A 1649 ID LA 370 A 000262 OP 41D0F010 TRACE EP A 17D1 ID ST 370 A 000266 OP 50D0E008 ADDR STOP 00026A 48700090 4 700092 4E70D088 DEO3D094 k h m TRACE EP A 1676 ID LH 370 A 00026A OP 4870D090 r R8 F 00000000 00000000 00000000 00000000 00000000 00000210 00000138 00000200 PSW 070 00000000026 ILC 4 CC 0 000266 5000 008 48700090 4 700092 4E70D088 amp k h 1 TRACE LIMIT 1 t TRACE SET LIMIT COUNT TRACE EP A 177D ID SH 370 A 00026E OP 4B70D092 r R8 F 00000000 00000000 00000000 00000000 00000000 00000210 00000138 00000200 PSW 070 00000000026 ILC 4 CC 0 00026A 4870D090 4B70D092 4E70D088 DEO3D094 k h m 363 14 8 VIEWING A REGISTER WHAFITEBOING BINARY ARITHMETIC t TRACE SET LIMIT COUNT TRACE EP A
180. 15 B y DC PL3 6 MP A B es v lido pero MP B A no lo es F T b MP A C es v lido pero MP C A no lo es F T MP C B y C de SRP 1 0 dar el mismo resultado en C F T Si A y B representa el 20 00 a continuaci n representa el 1 5 MP A da una igualdad de X 000000030C que representan a 30 000 SRP A 62 0 y SRP A 64 2 5 dan el mismo resultado en A F T SRP B 63 0 y SRP B 64 1 5 dan el mismo resultado en B F T DP A B da X 00133C003C A igual F T DP A C da X 333C00002C A igual F T i DP C PL1 2 X 003C0C da igual F T DP C PL22 no es v lida Despu s de DP A PLI 5 el resto es de 4 1 F T Despu s de DP A PL2 5 el cociente es A 3 Despu s de DP A PL3 5 el cociente es A 2 2 Te dan las definiciones siguientes campos IREG DS CL3 Input Regional total 999V INAT DS CL4 Input National total 9999V OPCT DS OCL8 Output Percent region to nation BZZ9 99 ONBR DS CL7 Dutput Mask gets moved here BZZ9 99 OSIGN DS CL1 Output Percent sign gets moved here WREG DS PL2 Packed work field Regional total WNAT DS PL3 Packed work field National total DIVIDEND DS OPL16 QUOTIENT DS PL8 REMAINDR DS PL8 DIVISOR DS PL8 Vamos a dividir el total de la regi n por el total nacional que da el por ciento del total de la BZZ9 99 forma Uso de los campos dado s lo escriba las instrucciones para a Mueva el total de aportaciones regiona
181. 21 21 21 24 24 2k R R k k kkk k kkk kk SVSETUP DC F gt 0 SETUP SVPROC DC F 0 PROCESS SVREAD DC F gt 0 READ SVWRAP DC F gt 0 WRAPUP AA AAA R KOR 9k 9k A A A ak k kkk 2k kkk kk Miscellaneous field definitions YK oR ok ok sk sk sk sk sk PK R PK PK AAA ARR A A A EOFSW DC CLi N End of file Y N TOTAL DC Nationwide dollar sales DBLWORD DC D O SAAC AAA AAR A A A A I I I A ORO Input record definition SEA AA AAA 9k 9k A A A A I I I OR ROF 21 24 24 2k OR k k k 2k 2k 2k 2k kkk OR R DS OH Force halfword alignment IREC DS OCL28 1 28 Inventory record IDESC DS CL10 1 10 Product description 419 16 4 PROGRAMA DE EJEMPLO LAS VENTAS EN DOLARES A NIVEL NACIONAL DINDON S CAPITULO 16 MAS ARITMETICA BINARIA ICALIF DS H 11 12 Units sold in Calif TILL DS H 13 14 Units sold in Illinois IUTAH DS H 15 16 Units sold in Utah IWISC DS H 17 18 Units sold in Wisconsin IBEGIN DS H 19 20 Beginning inventory IPURCH DS H 21 22 Purchases throughout year IQOH DS H 23 24 Actual quantity on hand ICOST DS H 25 26 Cost each 99V99 ISELL DS H 27 28 Sell for each 99V99 BESO k ok 5k PK k kk kk I k kk A A kkk 4 4 21 kk k kk kk kk kk k R K KOR K R K K Output message definition gt K k sk ok ok 5k 5k ok OOO k kkk kkk kkk AI I k kk ORO k k k kk kk kk k OR K KOR K K OMSG DS OCL49 DC CL39 COGS16A Nationwide dollar sales are ODOLLARS DC XL10 4020206B2021204B2020 BZZ ZZ9
182. 3K 3K ak ak 3K K ak ak ICRI I III 3K 3K I K 3K A K KOK K K search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 xokokokokekokokokokekekokokolekekelokoekekekokokofekekokokokekekokokolelokokokokelokekokekolekeelolelelekekelelelelekelelelek WRITE Write a single detail line FEO ak ak ak K ak ak ak ak ak ak 3k 3K ak ak 3K 3K K ak 3K 3K OBI aK ak ak III OK K KK K K KRK 3K KK 26 K R WRITE EQU ST R10 SVWRITE 296 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N PUT REPORT RREC AP LNS P 1 L R10 SVWRITE BR RO lt 2K gt lt lt x ok ok ok ook ok ok ok X X ok ok ok FK ok ok K K K 9 X ok K K ok ok ale K ok K ode X oko K ok ok oko ok ale K K ale X K K K K X K K K ale ale Write report line WRITE Write a new master record kokck kk ok 5k ok ke ok ke PK 5k kk kk kk k k 3k akk 3k 2k ak kk k 2k akk 3k 2k 2k k k ak k 2K 3k 2k 3k 2k 2k kk k 2k 3K 2K 3K 2K 2k kk k K 2K 2K 2K OR K WRITENEW EQU ST R10 SVWRITEN PUT MASTEROT OREC AP NEWOUT P 1 L R10 SVWRITEN BR R10 kk kk k k kkk k k R kk k R R kf k k kK k K WRAPUP Those things which happen one time only after all records have been processed K sk bk sk 3k sk ok sk ok ok PK EEE EEE E E EE E E KOR E Ek kk kk kk kkk k kkk kkk kkk K WRAPUP EQU ST R10 SVWRAP At this point we know that at least one of the input files is at EOF Process other file as unmatched u
183. 3PE1511A263931PE151 Los siguientes son los diagramas de flujo y el c digo para TRANSCR2 MLC Este programa produce las transcripciones Hay por dise o diferentes ejemplos de procesamiento de mesa en el programa 15 5 0 1 L nea principal de la secci n La secci n de la l nea principal es el mismo que hemos visto tantas veces antes de START 0 REGS BEGIN BEGIN WTO gt TRANSCR2 Begin execution search main loop SETUP EOFSTUD to EOJ PROCESS WRAPUP 389 395 BAL R10 SETUP MAIN EQU CLI EOFSTUD C Y BE E0J BAL R10 PROCESS B MAIN 15 6 LA RUTINA DE IN amp IXH AUKGN15 TABLA DE PROCESAMIENTO Normal end of program EQU BAL R10 WRAPUP WTO gt TRANSCR2 RETURN EQU RETURN 15 6 La rutina de instalaci n La rutina de instalaci n es muy similar a lo que hemos visto antes de Incluye abre y lee de cebado Lo nuevo es la l gica para cargar los datos del curso el archivo del campo en un tabla interna Esa l gica es el objeto de la siguiente rutina SETUP EQU ST BAL 0I 01 0I OPEN OPEN OPEN BAL BAL L BR 15 6 1 R10 SVSETUP R10 LOADTBL STUDENT 10 X gt 08 GRADE 10 X gt 08 REPORT 10 X gt 08 STUDENT GRADE REPORT R10 READSTUD R10 READGRAD R10 SVSETUP R10 Carga de la tabla de golf Antes de que se procesan los registros de estudiantes cargamos todos los CURSO registros en una tabla interna Verificamos que los cursos son en n mer
184. 3k sk 3k sk ok 3k sk 3k kk KR kkk kkk kk kkk kk kk k k search write REPORT from OREC no line counting SVWRITE return 106 108 4 1 COOKPELUIAT ION OO GEIR OCWRALR IP SFRROGRAMA DE BAL Add FK K KOR FK K R KOK KOR KOR K K R KOK KOR R KOR K FK K ROROR R R OR R OR WRAPUP Those things which happen one time only after all records have been processed BEC CA 5k oR 9k I ICI 9k A ICA ICI OK a kkk kkk kkk kkk k R kk K kk kk kk kk k k WRAPUP EQU ST 10 SVWRAP CLOSE TEACHERS CLOSE REPORT WTO gt Teacher list on REPORT TXT L 10 SVWRAP BR 10 sk sk ok okeokeok ke sk oR PKK ok okeok kk okcoke kk ok KOR Kk kk kkk K Literals if any will go here sk sk ok okeokeok ok sk ok kk ok Rk EE E ok okeoke kk okcokek ook KOR sk KRK ke kkk kk kk kk kkk k kk kk kk kkk K LTORG File definitions 3k 3k ok sk okk ok 519 R 5k oR OAK AI AICI I TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT RAC I IKI KOR KOR IA RETURN ADDRESSES BOAO ROO ICI I ICI II A IA search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 Remainder of program is the same as TEACH3A ML
185. 4 259 MBA Y5664 PHD 5156 260 11 2 LA ESTRUCAR RATOE MA M S BIPHNNCHNTRADA DE ARCHIVO F92PE1511574GYM W93PE1511574GYM F92MA1011626A2 F92MA1012626A2 W93MA1011626A2 W93MA1071626A3 W92EG1021732A1 F92EG1011732A1 F92EG1012732A1 W93EG1021854A1 Estos archivos SRT ser incluido en el par metro de la DCB DDNAME el programa TEACHERS DCB LRECL 29 RECFM F MACRF G EODAD ATENDTCH DDNAME TEACHER SRT OFFER DCB LRECL 18 RECFM F MACRF G EODAD ATENDOFF DDNAME OFFER SRT 11 2 La estructura de la linea principal La estructura de la linea principal del programa es realmente no muy difer ente de lo que hemos visto antes seguimos proceso de registros hasta que o bien el archivo est en EOF Este tipo de cheque requieren de dos de fin de archivo de interruptores EOFTEACH DC CL1 N EOFOFFER DC CL1 N Tenga en cuenta que es posible y de hecho probable que ambos archivos no llegar EOF al mismo tiempo Esta condici n se maneja en el Wrapup de rutina Wrapup El c digo de la l nea principal se repite aqu No es en particular limpio el c digo en comparaci n con el diagrama de flujo pero esto es porque no BAL FIN tienen una estructura o SI search main loop SETUP EOFTEACH EOFOFFER to EOJ PROCESS WRAPUP 260 BAL R10 SETUP MAIN EQU CLI EOFTEACH C Y BE E0J CLI EOFOFFER C Y BE BAL R10 PROCESS B MAIN EOJ EQU BAL R10 WRAPUP 260 11 3 LA RUTINAAIP IIN
186. 4 DS DC DC DC HD5 DS DC DC DC END 7 9 XL2 0D25 OCL62 CL60 gt XL2 0D25 OCL62 CL40 Product CL20 Wisc XL2 0D25 OCL62 Calif 111 TOTAL Utah XL2 0D25 BEGIN Ejemplo de programaci n La producci n de las discrepancias Informe de Inventario Nuestro pr ximo informe las discrepancias de inventario aparecer como sigue 123456 12345678901234567890123456789012345678901234567890123456789012345 Observe que la diferencia resultado es esperar real y esta diferencia se imprime s lo si otros que cero Por lo tanto a fin de completar este programa se necesitan dos instrucciones m s SP restar envasados y CP comp rese con embalaje 7 10 La Instrucci n SP El SP restar envasados la instrucci n se utiliza para restar un n mero de pic nic de la otra Para ejemplo SP A B resta de la A a B con B sin cambios y la diferencia en el A Considere el siguiente ejemplo Habida cuenta de estas definiciones de campo REAL DS CL6 PRESUPUESTO DS CL6 DIFERIR DS CL6 restar reales de dar N tese el uso de PKN campos de trabajo tipo la definici n de lo que deber a ser obvio por nuestro anterior discusi n PRESUPUESTO podr a caber en un campo de cuatro bytes pero ya estaba PK4 retenci n real as que us PK5 en su lugar No debe haber cierta preocupaci n por el hecho de que simplemente quitar el signo de que son diferentes Ciertamente tener m s de presupuesto n
187. 4993 EOF n a 94993 Archivo de transacciones en EOF Escribir el registro a la nueva Leer el siguiente registro de grandes maestros EOF EOF n a EOF Hecho La salida del programa es el siguiente Por supuesto el informe general se dar formato m s completamente en lugar de mostrar una tarjeta de la imagen de los registros en que se hizo aqui Pero nuestro objetivo aqui es demostrar la l gica y la actualizaci n de la salida ha sido intencionalmente simples A MIN gt bqsfu BQSFU Begin execution BQSFU Audit list REPORT TXT BQSFU Normal end of program A MIN gt type report txt Name amp Address Update Program Page 1 Audit Listing 1 2 3 4 12111ARIAS IDA 4028 ELMO LOOP MERCED CA95340 A BEFORE CHANGE 12111ARIAS IDA 2211 APRICOT MODESTO 95356 AFTER CHANGE 41499HILMER DEBBIE 21175 FELIPA BUENA PARKCA90620 A RECORD DELETED 55123JOSEPHSON PEGGY 248 MICHIGAN JAMESTOWN NY14701 A RECORD ON FILE 55123AMBROSE FRANK 220 BARRETT ROCKFORD 1161103 A ADD UNSUCCESSFUL 279 12 1 IOMPBIRLO TY RAUBN CM L NEA ACTUALIZACI N 61627QUALLS CHERYL 201 N EIGHTH WHITTIER CA90605 C CHNG NOT ON FILE 81228 D DLTE NOT ON FILE 82446AMICCI BRUNO 17397 BARCELON CORVALLIS OR97330 A ADD SUCCESSFUL Name amp Address Update Program Page 2 Audit Listing 1 2 3 4 Transactions In 6 Transactions Rejected 3 Old Masters In 10 Old Masters
188. 5 173 START BEGIN CSECT USING B DC DC DC STM ST LR LA ST DROP USING OPERANDS 0 15 KZHQX001 AL1 11 CL11 BEGIN gt 18F gt 0 14 12 12 13 13 HZQKX001 4 14 13 13 HZQKX001 13 8 0 14 15 HZQKX001 13 7 14 DATOS DE ER ADEIHSLOE EJXCHISAR NE ARITM TICA DECIMAL 00006 16 00006A 17 SOC7 MLC BY BILL QUALLS 00006A 18 USING PC 370 V4 2 00006 19 FORCE DECIMAL EXCEPTION 00006 20 00006 FA10DO70DO72 0080 0082 21 SUM ONE 000070 FA10D070D073 0080 0083 22 AP SUM TWO 000076 23 RETURN 000076 58DD0004 0004 24 L 13 4 13 00007A 98ECDOOC 0006 25 LM 14 12 12 13 00007E O7FE 26 BR 14 000080 000C 27 SUM DC PL2 0 000082 1C 28 ONE DC PL1 1 000083 29 TWO DS PL1 2 Error 000000 30 END La direcci n se refiere a la lucha contra la ubicaci n LOC en el extremo izquier do Pero n tese que no hay ninguna 000276 Restamos X200 de la direcci n siempre Esto da una direcci n de 000076 que corresponde a la l nea 23 Pero espere Cuando PC 370 se encuentra con un error de excepci n de los datos le da la direcci n de la siguiente instrucci n que se ha ejecutado el programa no hab a abended As que la instrucci n real en el error est en la posici n 000070 l nea 22 la AP que dijimos har a que la Abend Esa instrucci n se nos hacen mirar a los valores de SUM y dos SUM est bien o no tendr a aben
189. 7 483 1 10 214748364 14 1 COMPARACI N DE DOS GCAAPPOSIBINARBISARY ARITHMETIC daria lugar a una baja lo que claramente no es el caso En su lugar utilice la instrucci n de carga L para el puesto de cada fullword en un registro separado y la instrucci n de comparaci n registro CR para comparar los dos registros L R3 A L R4 B CR R3 R4 Alternativamente se podria cargar uno de estos campos en un registro y luego usar la comparaci n ense anza para comparar ese registro a la fullword otros L R3 A or L R4 B C R3 B C R4 A Qu pasar a si se comparan dos medias palabras Por ejemplo supongamos que es un media palabra con un valor de C 2 y D es una media palabra con un valor de 2 00 02 FF FE C D Podemos utilizar la instrucci n media palabra de carga LH para colocar cada media palabra en un registro separado y la instrucci n de comparaci n registro CR para comparar los dos registros LH R3 C LH R4 D CR R3 R4 Alternativamente se podr a cargar uno de estos campos en un registro y luego usar la comparaci n ense anza media palabra CH para comparar ese registro a la media palabra de otros LH R3 C or LH R4 D CH R3 D CH R4 C Tenga en cuenta que cuando se utiliza la instrucci n de la LH el signo se con serva es decir el bit de signo de la media palabra poco m s a la izquierda se propag por el resto del registro Esto se puede mostrar como 1111 1111 1111 1110 D
190. 70 R4 2 REMARKS Produce list of course offerings for all semesters Includes page break logic x XX 241 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE Multiple level control break example k kkk kk ak k 3k akak ak 2k ak ak ak k 2k 3k 2k 3k 2k 2k k ak ak 2K 3K 2k 3k 2k 2k ak oe 2K 3K K 3K 2K 2k kk 2k K 2K gt K 2K OR K START 0 REGS BEGIN BEGIN WTO OFFER10C Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO 7OFFERIOC Normal end of program RETURN ak 2k ak k 2K 3K 2k 3K 2k 2k k ak k 2K 3K 2k 3K 2K K k K SETUP Those things which happen one time only before any records are processed FKK gt lt KK K dale x K K K 3 ok oko ok ok ok FK ok ale K de KK X ok K K ok ok ale K ok K K ok X 1 K ok ok ale 1 ok K K K ale X 2K K K 2K K K K K K K SETUP EQU ST R10 SVSETUP OI OFFER 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN OFFER OPEN REPORT BAL R10 READ MVC HOLDSEM ISEM Major control break MVC HOLDDEPT IDEPT Minor control break L R10 SVSETUP BR R10 BE AC k kkk kkk kkk I kk k A k kk kk k k k 1 k R KOR R K R kk K K k kK K K HDGS Print headings FE AC k kk kk kk k ok ok kkk
191. 890123456789012345678901234567890 12111 2211 APRICOT MODESTO 95356 41499 D 55123AMBROSE FRANK 220 BARRETT ROCKFORD 1161103 61627QUALLS CHERYL 201 N EIGHTH WHITTIER CA90605 C 81228 D 82446AMICCI BRUNO 17397 BARCELON CORVALLIS OR97330 A El campo de clave n mero de cliente es necesario en todas las transacciones Por agrega todos los dem s campos se siempre tambi n Para los cambios s lo los campos a cambiar est n llenos pulg Por ltimo elimina s lo el n mero de cliente y c digo de transacci n D son necesarios Todas las operaciones anteriores son sint cticamente correcta pero como veremos no todos son l gicamente correcta Tanto los archivos de entrada deben estar en secuencia de teclas para las mismas razones como se discuti en los ltimos cap tulo Dada la naturaleza de la transformaci n el archivo de salida ser autom ticamente en la secuencia de teclas tambi n Empezamos por la lectura de un registro del archivo maestro y un registro de la transacci n archivo Si los campos clave no coinciden entonces el proceso de registro con el tono m s bajo Por ejemplo los datos anteriores ser n procesadas de la siguiente manera 11224 12111 C 11224 Master Baja Escribir el registro maestro de Nueva Maestro Leer el siguiente registro de grandes maestros 12111 12111 C 12111 Claves iguales Cambiar registro existente Escribir cambiado r cord en Nueva Maestro Leer siguiente registro de ambos archivo
192. 9 LINE 80 80 TRANS CODE A C D Y ES OR N O De las federaciones siguiente diagrama de flujo y escribir la correspondi ente viejo BASIC y el c digo de BAL 89 3 7CAR ERCIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS a IF state is Illinois move yes to switch ENDIF b IF state is Utah or California move yes to switch ELSE move no to switch ENDIF IF trans code is other than A C D move yes to switch ELSE move no to switch ENDIF Careful Watch d IF area code 312 the length on the CLC for the city ENDIF 5 Utilizando las definiciones de campo en las paginas 2 3 de este capitulo las federaciones siguiente diagrama de flujo y escribir la correspondiente viejo BASIC y el c digo de BAL a IF ANAME is blank AND CNAME is blank move all File B fields to corresponding work area fields ELSE IF AAGE is greater than or equal to CAGE move all File A fields to corresponding work area fields ELSE move all File C fields to corresponding work area fields ENDIF ENDIF b IF ASEX is male AND AAGE is 18 or over OR ASEX is female AND AAGE is 21 or over move Y to WSWITCH ELSE move N to WSWITCH ENDIF 6 El siguiente es un extracto de un cat logo de la escuela Los individuos en una o m s de las siguientes categor as se colocan en el asesoramiento acad mico los estudiantes que tienen una terminaci n Promedio general por de bajo de 2 40 en cualquiera de l
193. 99 END BEGIN 420 16 5 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTAS DE CAPITULO 16 MAS ARITMETICA BINARIA 16 5 Muestra del Programa Contribuci n de Cal ifornia a las ventas de 421 COGS16B MLC 421 PRINT NOGEN SOO CO ke joke OO I KOR kk kk k kkk kk kk 2k FILENAME COGS16B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce report for COGSWORTH INDUSTRIES California s contribution to sales This is a modification of COGS13B MLC and illustrates binary division SOR CO CO OO I KOR kk kk k kkk kk kk 2k KR X XX x START O REGS BEGIN BEGIN WTO 2COGS16B Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO 2COGS16B Normal end of program RETURN Yc 3k sk sk 5k ok ok ok ke ok ke k 5k joke sk ok k ok R ok ke ke ke ak 9k kk ok ok SKOR ok ke Ok k ak R k 2K 3K 2k 3k 2k ke k ak k OR KOR ROROROROR KOR R OR 2K OR K SETUP Those things which happen one time only before any records are processed lt 2K gt lt 2K dea ale X K K K K ok X ok ok ok ok KK de ok oko ok ok ale K ok ale K ok oko K ok K X FK ok ale K K K FK K K K K K K K K K K SETUP EQU ST R10 SVSETUP OPEN INVENTRY Input is EBCDIC no CR LF DI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN REPORT BAL R10 HDGS BAL R10 READ L R10 SVSETUP BR R10 BEC 5k ok ok 9k Pk ok ok 5k R ok 9k 9k R 9k 9k kkk A I ICICI
194. A da 334 I9 Ejercicio tee t 336 14 Binary Arithmetic 340 14 1 Comparaci n de dos campos binarios 345 14 2 Mover un registro a una Fullword o halfword 347 14 21 Adem s Binario ia As u eka 4 348 14 3 Binario Resta acia G 349 14 4 La conversi n de Bolsas a Binary 349 14 5 Conversi n de binario a Bolsas ECV 350 14 6 Muestra del Programa Datos Dind n Convertir a binario 351 14 7 Muestra del Programa Discrepancias Informe de Inventario del archivo tata dud de ae ae ova 356 14 8 Viewing a Register While 361 14 9 Ejercicios teks oce LOB 3 Sa 365 INDICE GENERAL INDICE GENERAL 15 Tabla de Procesamiento 369 15 1 Definici n de una tabla Sentinel ciclos controlados 370 15 2 Contador de ciclos controlados 373 15 3 Cargando una tabla en tiempo de ejecuci n 375 15 4 Los campos de tablas El procesamiento de un campo de car cter DOL CATACTER C 378 15 5 Muestra del Programa la producci n de transcripciones 382 15 5 0 1 L nea principal de la secci n 389 15 6 La rutina de instalaci n 390 15 6 1 Carga de la tabla de golf 390 15 6 2 Las rutinas de LEA 391 15 6
195. AB DC CL4 CDEF DS CLD DC CL1 END to 212 Qt 29 J OJ x m FJ G O gt La p gina siguiente muestra la asamblea PRN el anuncio de este programa Las porciones de las programa que queremos concentrarnos en la sombra han sido dejamos de lado la expansi n de macros STUFF6A PC 370 LOC 000000 000000 000000 000000 000004 000005 000010 000058 00005C 000060 000062 000066 00006 00006 00006 000070 000074 00007A 00007E CROSS ASSEMBLER ADR1 47 0 058 OB E2E3E4C6C6F6C140 0000000000000000 90ECDOOC 50DOF014 18ED 41D0F010 50D0E008 D502D08ED091 4740D072 D201D095D091 92F1D097 47F0D084 009 00A5 131 OPTIONS LXACE ADR2 LINE LABEL 1 2 STUFF6A 3 0058 4 5 6 7 HZQKXOO1 000 8 KZHQXOO1 0014 9 10 0010 11 0008 12 13 14 00A1 15 0082 16 00A1 17 00 7 18 0094 19 OP BEGIN CSECT USING B DC DC DC STM ST LR LA ST DROP USING CLC BL MVC MVI 1 OPERANDS 15 KZHQX001 AL1 11 CL11 STUFF6A gt 18F gt 0 14 12 12 13 13 HZQKX001 4 14 13 13 HZQKX001 13 8 0 14 15 HZQKX001 13 A B D C B E C gt 1 F CAP TULO 6 QU ES ESTA COSA DE LA IZQUIERDA 000082 00000082 20 D EQU 000082 95C4D091 00A1 21 CLI B C D 000086 4780D084 0094 22 BE F 00008A D201D095D08E 00 5 009 23 000090 92890097 000094 00000094 25 F EQU 000094 26 RETURN
196. ABLA DE PROCESAMIENTO RETURN EQU RETURN gt gt K gt lt gt x K K K FKK K ok FK K KK FK FK K K K FK FK K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK od R OR SETUP SETUP Those things which happen one time only before any records are processed YK ok ok ok sk k sk sk kak IARC I ICICI OR OR R Ik R R 3K KOR K K K K K K AC Hk OR 3K 21 KK K K EQU ST R10 SVSETUP BAL R10 LOADTBL 01 STUDENT 10 X 08 0I GRADE 10 X gt 08 0I REPORT 10 X 08 OPEN STUDENT OPEN GRADE OPEN REPORT BAL R10 READSTUD BAL R10 READGRAD L R10 SVSETUP BR R10 PC 370 ONLY Convert all input from ASCII to EBCDIC PC 370 ONLY Convert all input from ASCII to EBCDIC PC 370 ONLY Convert all output from EBCDIC to ASCII Priming read STUDENT Priming read GRADE gt K ok ok ok 5k sk ok sk kk k k k k k ak ak ak 3k 3k 3k 3k 3K ak ak aK ak ARR ICA ICICI I I I Ik 3K 3K 21 21 K K K A ACA ACA 3K 3K 3K K KR K K LOADTBL Load all courses into table Verify 1 courses are in course nbr sequence and 2 there is enough room in table for all YK k ok ok 5k k sk sk kak IIA GRR I 3K 3K 3K ak R I I IK R R R 3K K K K KOR K K LOADTBL EQU ST R10 SVLOAD DI COURSE 10 X 08 LOADTBL2 OPEN COURSE LA R3 TABLE SR R4 R4 EQU BAL R10 READCOUR CLI EOFCOURS C Y BE LOADTBLX CLC PREVCID CCID BNL LOADTBL3 MVC
197. ACH1D MLC el programa y su producci n de seguir TEACH1D MLC listado de maestros status a consola version completa 32 PRINT NOGEN KK ak 3K 3k ak 5k 5k ok ok 5k I K aK 5k R 9k kk aK 3K A A 3K 5k A 3K 9k a R 3K FILENAME TEACH1D MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS A card image list of teacher records Prologo 23a BEGIN BEGIN TEACH1D MLC primer WTO 31a OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT LOOP GET TEACHERS REC Read a single teacher record PUT REPORT IREC Write the record B LOOP Repeat EOJ processing ATEND CLOSE TEACHERS CLOSE REPORT TEACH1D MLC segundo WTO 31b TEACH1D MLC tercer WTO 31c Epilogo 26a Remainder of program is unchanged 32 1 5 EJERCICIOS CAPITULO 1 PRIMEROS PASOS CON PC 370 A MIN gt teachid TEACH1D Begin execution TEACH1D Teacher list on REPORT TXT TEACH1D Normal end of program A MIN gt type report txt 732BENSON E T PHD 15156 218HINCKLEY G B MBA N5509 854KIMBALL S W PHD Y5594 626Y0UNG B MBA Y5664 574SMITH J MS Y5320 1 5 Ejercicios 1 Verdadero o falso BAL es un acr nimo para el comienzo de Lenguaje Ensamblador T F BAL es un lenguaje de programaci n de primera generaci n T F
198. ACHLOW B WRAPUP3 WRAPUP4 EQU CLOSE TEACHERS CLOSE OFFER CLOSE REPORT WTO TEACH11A Teacher list on REPORT TXT L R10 SVWRAP BR R10 265 11 7 PROGRAMA P T SODUCIOWAS DE UNA ENTRADA DE ARCHIVO 11 6 1 salida del programa F92 Teaching Assignments Page 1 TID Name Course Section Room 218 HINCKLEY G B AC101 1 Bi BU101 1 Bi 574 SMITH J PE151 1 GYM 626 YOUNG B MA101 1 2 F92 Teaching Assignments Page 2 TID Name Course Section Room 626 YOUNG B MA101 2 A2 732 BENSON E T EG101 1 Al EG101 2 Al 11 7 Programa de Soluci n El programa completa y comentada TEACH11A MLC sigue En este pro grama MAXLNS se estableci en 6 por lo de que al menos un maestro joven que span un salto de p gina Esto se hizo con el fin de demostrar que el nom bre de un profesor se muestra en la parte superior de la p gina si los cursos que un maestro abarc un salto de p gina 266 TEACH11A MLC 266 PRINT NOGEN Add KOR R R OR KOK OR FILENAME TEACH11A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce list of F92 teaching assignments This program illustrates matching logic ACR k kkk ok ok PK k ok I kk k a A ACI ak aK kk k 1 k kk K KOR R K START 0 REGS BEGIN search main loop SETUP EOF TEACH EOFOFFER to EOJ PROCESS WRAPUP 260 SETUP BEGIN WTO WTO gt TEACH 11A gt TEACH 11A RETURN F
199. ADOR es par ticularmente rara pero voy a mostrar algunos trucos absolutamente a prueba de tontos para hacerlo En el cap tulo 14 aprender s sobre numeros binarios o la aritm tica de registros En concreto usted aprender Acerca de la suma y resta Las cosas comienzan a ponerse un poco m s confuso aqu pero la recompensa hace que valga la pena Este cap tulo es especialmente importante para las ciencias de la computaci n mayores informaci n sistemas En el cap tulo 15 aprender s acerca del procesamiento usando tablas El Procesamiento usando tablas no se pod a hacer en ensamblador sin aritm tica de registros En el cap tulo 16 aprender s m s sobre binarios o la aritm tica de registros En concreto se aprender a multiplicar y dividir En el cap tulo 17 aprender s sobre las operaciones a nivel de bit Hay algunas aplicaciones interesantes en de este cap tulo incluyendo el cambio de may sculas a min sculas y viceversa la eliminaci n del signo de un campo num rico la codificaci n intercambio de dos campos la multiplicaci n y la la divisi n por potencias de dos y el acceso a la fecha y hora del sistema En el Ap ndice A encontrar s una descripci n de los conjuntos de datos utilizados en este texto En el ap ndice B podr s aprender a convertir tus programas PC 370 para ejecutarse en el MAINFRAME Nota para los instructores Tal vez perdi usted su mainframe as como yo perd la m a Usted reconoce el
200. AL P 0 Initialize the total to zero AP WTOTAL WCALIF and start adding AP WTOTAL WILL AP WTOTAL WUTAH AP WTOTAL WWISC 315 XA 13 2 PROGRAMA DE EJEMPLO LAS VENTAS EN DOLARES A NIVEL NACIONAL JOINPIONISO 13 M S BOLSAS DE ARITM TICA DECIMAL PACK WSELL ISELL Unit sell price ZAP PK5 WTOTAL Length of WTOTAL is PL2 MP PK5 WSELL and length of WSELL is PL3 AP WDOLLARS PK5 so need PL5 for product BAL R10 READ L R10 SVPROC BR R10 k kkk kk k k ak akk ak k k k k k 2k 3k k ak 2k ak k ak ak 2k 3k k 3k 2k 2k ak ak ak k 2K 3K 2k 3K 2k 2k k ak KOR KOR 2K 3K 2k k 2k OR OR OR 2K 2K R K WRAPUP Those things which happen one time only after all records have been processed Paola ok ke Ok k k kk ok ke kk KOR KOR 3K 2K 2k kk k WRAPUP EQU ST R10 SVWRAP ED ODOLLARS WDOLLARS WTO OMSG CLOSE INVENTRY L R10 SVWRAP BR R10 5k akk ak k R k k k 3k 3k k ak 2k k k ak k 2k 3K 2k 3k 2k 2k k 2k k k 2K 3k 2k 3k 2k ak k k k 2K KOR ROROROROROROK OR OR OK OR K Literals if any will go here Ak kkk kk k k 5k 5k 5k sk ok k OR KOR 3K 2K 2k k K 2k K OR OR OK R K LTORG EEE E k E kk kkk k kk kk kk kk kk kkk k kk Kk k R File definitions SOR KI ok add ae R INVENTRY DCB LRECL 41 RECFM F MACRF G EODAD ATEND DDNAME COGS DAT SRR RRR RK kk Kk OR R
201. AL a el lugar de la suma H1 2 en el H3 lugar de la diferencia H1 H2 en el H3 el lugar de la suma H1 5 en el H3 lugar la mayor de las H1 H2 y H3 en el registro 4 el lugar de la suma H1 H2 H3 en el registro 5 lugar de la suma editado H1 H2 H3 en WKS utilizando la m scara X 4020202020202120 4 Habida cuenta de ZD es un n mero decimal dividido en zonas sin embal aje campo definido como CL3 y HW es una media palabra Escribir el c digo de BAL a a a lugar de la suma ZD HW en el registro de 4 Adem s de utilizar binarios Usted tendr que convertir ZD a binario 366 14 9 EJERCICIOS CAPITULO 14 BINARY ARITHMETIC 10 b b lugar de la suma ZD HW en PK3 un campo de Bolsas de tres bytes Uso Bolsas de adici n Usted tendr que convertir a HW de pic nic Similar al ejercicio 8 del capitulo 7 columnas 8 14 de una tarjeta archivo de imagen contiene la saldo de la cuenta del cliente Mostrar el proceso y las secciones Wrapup de un programa que mostrar el n mero de clientes y el total suma de los saldos No toda la aritm tica en binario es decir el uso envasados s lo los campos que sean necesarias para el comando ed Mostrar todos sobre el terreno definiciones Similar al Ejercicio 11 del cap tulo 7 Escribir un programa que muestra un recuento de la n mero de cursos ofrecidos en W93 semestre Utilice el archivo de OFERTA de la peque a ci
202. AP RIHMDPLO AOUEBO IAELAIFECHAOY MESSAGE LR SLL SRL CVD UNPK OI LR SLL SRL MH MVC WTO LR 83 80 SLL 83 16 SRL 83 24 CVD R3 DBL UNPK TIME 6 2 DBL 0I TIME 7 X FO LR 83 80 SLL R3 24 SRL R3 24 CVD R3 DBL UNPK TIME 9 2 DBL 0I TIME 10 X FO CVD R1 DBL UNPK DATE 6 4 DBL 0I DATE 9 X FO LR R3 R2 SRL 83 24 CVD R3 DBL UNPK DATE 2 DBL 01 DATE 1 X FO R3 R2 R3 8 R3 24 R3 DBL DATE 3 2 DBL DATE 4 X gt FO R3 R2 R3 16 R3 24 R3 H 3 R3 A DOWTBL DOW O R3 MESSAGE RETURN LTORG DS DC OCL71 Put time in R3 hhmmssxx becomes ssxx0000 ssxx0000 becomes 000000ss Seconds only Move to output Remove sign Put time in R3 hhmmssxx becomes xx000000 xx000000 becomes 000000xx Hundredths of seconds only Move to output Remove sign Year with century Move to output Remove sign Put date in R3 mmddww00 becomes 000000mm Month only Move to output Remove sign Put date in R3 mmddww00 becomes ddww0000 ddww0000 becomes 000000dd Day of month only Move to output Remove sign Put date in R3 mmddww00 becomes ww000000 ww000000 becomes 000000ww Each day of week is 3 long Displacement into table Move to output After CL18 DATE370 Time is 441 17 6 PROGRAMACAP RIHMDPLO AOUEBO AFLBIFECHAOY ERATORMES DC CL11 hh mm ss xx DC CL11 Date is DATE DC CL10 mm dd yyyy DC CL18 Day of week is DO
203. ARITM TICA DECIMAL ODESC DS DS OCALIF DS DS OILL DS DS OUTAH DS DS OWISC DS DS OTOTAL ODS DS OCRLF DS CL10 CL5 CL3 CL6 CL3 CL6 CL3 CL6 CL3 CL6 CL3 CL6 CL2 1 10 11 15 16 18 19 24 25 27 28 33 34 36 37 42 43 45 46 51 52 54 55 60 61 62 Product description Units Units Units Units Units sold in sold in sold in sold in sold in Calif Illinois Utah Wisconsin all states PC 370 only CR LF En este ejemplo la entrada y salida para las ventas por el estado son del mismo tama o por lo que no hay necesidad de PACK a ellos para imprimirlos la instrucci n MVC funciona bien MVC OCALIF ICALIF MVC 0111 MVC OUTAH IUTAH MVC OWISC IWISC IILL Pero para llegar OTOTAL el total de unidades vendidas en todos los estados se tendr que llevar cada una de las ventas del estado cifras a continuaci n agregue a un total tambi n con embalaje despu s de que UNPK total en OTOTAL y eliminar el signo Por lo tanto la definici n de Unidades WCALIF DC PL2 0 se venden en California SERA Unidades DC PL2 0 vendidos en Illinois El c digo para encontrar las ventas totales es PACK WCALIF ICALIF PACK WILL IILL PACK WUTAH IUTAH PACK WWISC IWISC ZAP WTOTAL P 0 AP WTOTAL WCALIF AP WTOTAL WILL AP WIOTAL WUTAH AP WTOTAL WWISC UNPK OTOTAL WTOTAL MVZ OTOTAL 2 1 X FO and remove the sign Move total to output Unidades WUTAH DC PL2
204. ASTERISK LOOP NO REPEAT UNTIL THEN 372 15 2 CONTADOR DE CICA ICONTBOTAMBOS DE PROCESAMIENTO Explicaci n LA R8 COUNTS Carga la direcci n de los cargos en el registro 8 es decir registro de 8 puntos para el primer byte de la primera entrada en la tabla Pasar a la descripci n de los datos a los que se registran 8 est se alando MVC ODESC 0 R8 El cero indica un desplazamiento de cero es decir el registro de 8 puntos directamente al campo Recordemos que se de termina la longitud de un MVC por la longitud del campo de re cepci n por lo tanto no hay longitud el operador en el segundo operando Editar en el recuento del n mero de pic nic situado a 25 octetos pasado en el que ED OCOUNT 25 R8 Registro 8 est se alando Recordemos que se deter mina la longitud de una ED por la longitud del campo de recepci n por lo tanto no hay longitud el operador en el segundo operando AH R8 H 29 A adir 29 para colocarse 8 es decir registrar el punto 8 a la siguiente fila en el mesa A CLI 0 R8 C ver si el byte al que registran 8 apunta es un asterisco Recall 7 que las instrucciones de inmediato MVI y CLI no utilizan una longitud de Operador la duraci n de estas instrucciones es siempre uno intenta 1 Qu cambios se har an a la definici n de la tabla y el segmento de pro grama si al final de la mesa fue indicado por un signo de d lar en lugar de un asterisco La palabra
205. As que tengo que de alguna manera quitar la se al En un cap tulo posterior cuando hablamos de la ED 152 7 7 LA INSTRUCQII N NIVEO 7 BOLSAS DE ARITM TICA DECIMAL editar la instrucci n le aprender a imprimir el signo Por ahora simplemente lo eliminar Para eliminar el signo hacemos uso de nuestro conocimiento de la zona y los bits num ricos En primer lugar vamos a volver a escribir este n mero en la forma vertical ya vimos anteriormente FFFFC 01801 Y considerar el siguiente campo ZEROES DC CL5 00000 FFFFF 00000 Si me encuentro en ceros a campo de CI por supuesto obtener todos los ceros Pero lo que si me mov a s lo la zona de parte de ceros Me gustar a conseguir el texto siguiente FF FF lt cambiado 01801 lt sin cambios Tenga en cuenta que iba a cambiar el signo de C positivo a F sin firma Este tipo de movimiento es consigue utilizando el MVZ Move Zone la instrucci n Por ejemplo MVZ C los ceros Por supuesto es s lo el ltimo a la derecha la mayor a de bytes que tengo que cambiar as que esto podr a ser codificado como MVZ C 4 1 X F0 Si por alguna raz n usted cambia la longitud del campo C de CL5 tendr que acordarse de cambiar el desplazamiento expl cito 4 en esta instrucci n Hay una manera muy inteligente a este c digo la instrucci n para que usted no tiene que preocuparse por la longitud del campo C Deje el ensamblador determinar que para usted
206. B MP PL1 5 312 13 2 PROGRAMA DE EJEMPLO LAS VENTAS EN DOLARES A NIVEL NACIONAL JOINPIONISO 13 M S BOLSAS DE ARITM TICA DECIMAL es v lido 5 Mostrar por qu MP FLDB PL2 10 no es v lida 6 Mostrar por qu FLDE MP PL2 10 es v lido 7 Mostrar por qu MP FLDE CL2 10 no es v lida 13 2 Programa de ejemplo las ventas en d lares a nivel nacional Dind n s Volvamos ahora a nuestro problema de programaci n original queremos de terminar de d lares en todo el pa s ventas Nuestra producci n aparecer como sigue A MIN gt cogs13a COGS13A Begin execution COGS13A Nationwide dollar sales are 2 955 82 COGS13A Normal end of program que nos aparecer con una de la OMC por lo que define el resultado como OMSG DS OCL49 DC CL39 COGS13A Nationwide dollar sales are ODOLLARS DC XL10 4020206B2021204B2020 BZZ ZZ9 99 De d lares de salida ser de hasta 99 999 99 para un total de 7 d gitos por lo que vamos a utilizar un campo de PL4 de se acumulan las ventas Por lo tanto definir este total como WDOLLARS DC PL4 0O Nationwide dollar sales Vamos a determinar las ventas totales dentro de la secci n de proceso Para cada registro que contiene unidades vendidos por producto las ventas de cada estado se a ade dando el total de unidades vendidas para este producto El total de de unidades vendidas se multiplica por el precio de venta del producto dando las venta
207. BINARY ARITHMETIC Rx FW Copies the value of register Rx to the halfword HW STH Rx HW truncating if necessary and without warning Summary of Binary Add Instructions Add the value of the fullword FW to the value in Rx FW register Rx with the sum in register Rx Add the value of the halfword HW to the value in AH Rx HW register Rx with the sum in register Rx Add the value in register Ry to the value in register AR Rx Ry Rx with the sum in register Rx Summary of Binary Subtraction Instructions Subtract the value of the fullword FW from the value S Rx FW in register Rx with the difference in register Rx Subtract the value of the halfword HW from the value SH Rx HW in register Rx with the difference in register Rx Subtract the value in register Ry from the value in SR Rx Ry register Rx with the difference in register Rx 14 9 Ejercicios 1 Verdadero o falso Teniendo en cuenta H1 y H2 son medias palabras F1 y F2 son fullwords y D1 y D2 son doublewords a Si la F1 comienza en el byte LOC 02010C continuaci n el ltimo de la F1 es en LOC 02010F F T b Si comienza LOC 020100 y D1 se define inmediatamente despu s de la a continuaci n D1 F comienza en la LOC 020108 c Si los campos se definen en el siguiente orden D1 D2 F1 F2 H1 H2 continuaci n F T colectivamente que ocupan 32 bytes d Todos los doublewords son fullword alineados pero no todos son f
208. BZZ9 Con e fin de elaborar este informe el archivo tendr que ser ordenados por ID de grupo SORT DOS comando es crudo pero ser suficiente Escriba lo siguiente en el s mbolo de DOS sort 4 lt donation dat gt donation srt Esto crear un nuevo archivo DONATION SRT que se ordena a partir de la cuarta de columna de cada registro Especifique DONATION SRT como la DDNAME de la DCB de entrada 4 Refer to the Small Town Blood Bank database in More Datasets Pro duce a donor history summary as follows 1 2 3 4 5 12345678901234567890123456789012345678901234567890 SMALL TOWN BLOOD BANK Page BZZ9 First Last Number of Donor ID Donation Donation Donations 10 6 EJERCIC OSLO 10 QUIEBRE DE LA L GICA DE CONTROL DE XXX mm dd yy mm dd yy BZZ9 XXX mm dd yy mm dd yy BZZ9 XXX mm dd yy mm dd yy BZZ9 Total BZZ9 In order to produce this report the file will need to be sorted by donor ID DOS SORT command is crude but will suffice Type the following at the DOS prompt sort 1 lt donation dat gt donation srt This will create a new file DONATION SRT which is sorted beginning with the first column of each record Specify DONATION SRT as the DDNAME for the input DCB Hint reformat the dates from mmddyy to yymmdd The minimum date for a particular donor will be the first donation date and the maximum date will be the last donation date 5 Refer to the Small Town Payroll database in More Datasets
209. C 109 search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 107 113 157 164 SVSETUP DC F gt 0 SETUP SVHDGS DC HDGS SVPROC DC PROCESS SVREAD DC F gt 0 READ SVFORM DC F gt 0 FORMAT SVWRITE DC F gt 0 WRITE SVWRAP DC F gt 0 WRAPUP 4 1 2 La Revisi n de rutina Leer m s Anteriormente se dijo que hab a dos violaci nes de las normas de la pro gramaci n estructurada La segunda regla es cada m dulo debe tener una sola entrada y una salida nica Esto no es del todo posible dadas nuestro con junto de instrucciones limitadas pero algunas t cnicas son mejores que otros Recordemos que la EODAD par metro de la macro DCB indica que el programa debe ir cuando la entrada correspondiente archivo llega al final de su archivo En la TEACH4B MLC EODAD env a el control de nuevo a la l nea principal a 109 4 1 COOKPETIRIAT ION OO GEIR OCWRALR IP SHRROGRAMA DE BAL atEnd es decir que sale de la rutina de LEA de otros que la salida normal la BR al final de la LEA y la regresa a la linea principal sin tener que volver a la rutina de proceso que se invoca en el LEA primer lugar Esta es una violaci n de la ventanilla nica la regla de salida nica Para el beneficio de los programadores de COBOL COBOL consideran el equiv alente a lo que acabamos de visita PROCEDURE DIVISION MAINLINE PERFORM SETUP MAIN LOOP PERFORM PROCESS A RECORD GO TO MAIN LOOP AT END OF FILE PERFORM WRA
210. C DBEGIN WMASK ED OBEGIN WREGIN PACK WPURCH IPURCH Purchases MVC OPURCH WMASK 212 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR ED OPURCH WPURCH PACK WCALIF ICALIF PACK WILL IILL PACK WUTAH IUTAH PACK WWISC IWISC ZAP AP AP AP AP MVC ED ZAP AP SP MVC ED WTOTAL P 0 WTOTAL WCALIF WTOTAL WILL WTOTAL WUTAH WTOTAL WWISC OSALES WMASK OSALES WTOTAL WENDING WBEGIN WENDING WPURCH WENDING WTOTAL OENDING WMASK OENDING WENDING PACK WQOH IQOH MVC ED MVC CP BE BL AP B SHORT EQU AP DODIFF EQU ZAP SP MVC ED FORMATX EQU L BR OQOH WMASK OQOH WQOH OCRLF WCRLF WENDING DODIFF SHORT SOVER P 1 DODIFF SHORT P 1 WDIFF WENDING WDIFF ODIFF WMASK2 ODIFF WDIFF R10 SVFORM R10 Each product s sales must be packed so they can be added to total for this product Initialize the total to zero and start adding Ending inventory Beginning Purchases Sales Actual ending inventory PC 370 only Compare actual vs expected Count overages Count shortages Difference Expected Actual WRITE Write a single detail line KK FK FK K KK FK KOR KOR FK
211. C3D9 X 40206B2020206B202120 2402020204 2020 4 2 gt X 5C2020202020202060 gt 240204 202020202020 gt ue BOQ ih 5 Para cada una de las m scaras de la edici n se muestra en el ejercicio 4 mostrar el resultado si un campo de relleno de la longitud adecuada y con un valor de cero fue editado Repita para un campo repleto de una valor de 1 6 Habida cuenta de las definiciones de los campos siguientes FLDA DC PL3 12 WK6 DS CL6 WK7 DS CL7 WK8 DS CL8 218 9 3 EJERCICIOS CAPITULO 9 LA INSTRUCCION EDITAR Mostrar los resultados de las ediciones siguientes MVC WK6 X 402020202020 ED WK6 FLDA MVC WK6 X 402020202120 ED WK6 FLDA MVC WK6 X 402021202020 ED WK6 FLDA MVC WK6 X 5C2020202120 ED WK6 FLDA MVC WK6 X 5C2021202020 ED WK6 FLDA MVC WK7 X 40202020202060 ED WK7 FLDA MVC WK7 X 5C202020212060 ED WK7 FLDA MVC WK7 X 4020206B202120 ED WK7 FLDA MVC WK8 X 4020206B20212060 ED WK8 FLDA j MVC WK8 X 40206B2021204B20 ED WK8 FLDA gt Qo c gt k MVC WK8 X 5C2021204B202060 ED WK8 FLDA 1 MVC WK8 X 402021202020C3D9 ED WK8 FLDA 7 Escribir un programa que verificar sus respuestas al ejercicio 6 Sugeren cia V ase en este cap tulo EDITS9 MLC 8 Habida cuenta de las definiciones de los campos siguientes MASK DC X 4020206B2021204B202060 WK11 DS CL11 Mostrar los
212. CREACI N DE DIBHIGREEBDSPPASQS CON PC 370 1 SEM Semestre 1 3 3 CH 2 CID ID Curso 4 8 5 CH 3 SECT Secci n 9 9 1 ZD 4 TID ID Profesor 10 12 3 CH 5 ROOM Cuarto 13 16 4 CH OCRLF S lo pc 370 17 18 D CR LF Observe que el n mero de sala se define como cuatro bytes de longitud pero sus valores son s lo dos o tres bytes de longitud por ejemplo A1 o en el gim nasio Desde ese mbito se define como cuatro bytes de longitud cuatro bytes deben de ser teclados En el siguiente ejemplo he pulsado la barra espaciadora dos veces despu s de cada habitaci n de dos bytes y una vez despu s de cada gimnasio antes de pulsar RETURN Pru belo usted mismo Como puede ver el total de n mero de bytes es 252 Esto se debe a 16 2 x 14 18 14 252 A MIN gt copy offer dat con W92EG1021773241 W92MA1071218A2 W92PE1511574GYM F92AC1011218B1 F92BU1011218B1 F92EG1011732A1 F92EG101273241 F92MA1011626A2 F92MA1012626A2 F92PE1511574GYM W93EG102185441 W93MA1011626A2 W9344107162643 W93PE1511574GYM 72 1 archivo s copied A MIN gt dir offer dat Volumen en la unidad A no tiene etiqueta Directorio de A min OFERTA DAT 252 6 23 93 10 25 un 1 archivo s 899072 bytes libres 22 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 1 4 Nuestro Primer Programa de Procesamiento de archivos Para nuestro primer programa de procesamiento de archivos se
213. D Can t add it already exists BAL R10 READTRN Read next transaction B MATCHX MATCH3 EQU Attempt to change BAL R10 CHANGEIT OK to change existing record 291 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N BAL BAL B MATCHA EQU BAL BAL BAL MATCHX EQU L BR R10 READTRN R10 READMST MATCHX R10 DELETEIT R10 READTRN R10 READMST R10 SVMATCH R10 Read next transaction Read next master Attempt to delete OK to delete existing record Read next transaction Read next master K ok K K FK FK K FKK FK dd KOR R R oe R R R R TRANSLOW Transaction without a matching master ok IOI ICI IOI I I AK kk K KOK OR KK kkk k TRANSLOW EQU ST CLI BE CLI BE CLI BE BAL BAL B TRANSLO2 EQU BAL BAL B TRANSLO3 EQU BAL BAL B TRANSLO4 EQU BAL BAL TRANSLOX EQU E BR R10 SVTRNLOW TACD ADD TRANSLO2 TACD CHANGE TRANSLO3 TACD DELETE TRANSLO4 R10 BADCODE R10 READTRN TRANSLOX R10 ADDIT R10 READTRN TRANSLOX R10 BADCHANG R10 READTRN TRANSLOX R10 BADDELET R10 READTRN R10 SVTRNLOW R10 Attempt to add OK since it doesn t exist Attempt to change Can t change doesn t exist Attempt to delete Can t delete not there Error Unrecognized code Read next transaction Attempt to add OK to add not there already Read next transaction Attempt to change Can t change
214. DC CL1 48 49 2 2 DECAGET VIO HBREEINIXBIAINSS AIXWNAIEROCDE CAR CTERES Podemos c digo MVC OHYPHEN WHYPHEN No hay nada malo con este m todo que funciona Pero hay maneras mejores tanto en t rminos de la simplicidad en la codificaci n el tiempo de ejecuci n y la memoria Podemos ahorrarnos algo de tiempo en la codificaci n de utilizando una constante o literal en lugar de definir un campo de trabajo con un valor de Por ejemplo podemos podr a c digo 1 MVC OHYPHEN CLI 2 MVC OHYPHEN C Observe el signo igual es necesario Estos dos m todos con un campo definido vs utilizando un literal son se ilustra en los pr ximos dos programas MOVE2A MLC y MOVE2B MLC MOVE2A MLC mostrar movimiento de caracteres version completa 49 PRINT NOGEN Fla OR K KOK kk FILENAME MOVE2A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Demonstrate character moves Kk kkk K START 0 WTO IPHONE MVC OPFX IPFX MVC OHYPHEN WHYPHEN MVC OLINE ILINE WTO OPHONE RETURN Literals if any will go here LTORG Other field definitions WHYPHEN DC CL1 IPHONE DS OCL7 IPFX DC CL3 555 ILINE DC CL4 1212 OPHONE ODS OCL8 OPFX DS CL3 OHYPHEN DS CL1 OLINE DS CL4 49 2 2 D
215. DEEINI T VIMIOVIMBEXNYO IOR IYAYIOS DHEN R OEBBARACTERES Tenga en cuenta que con la instrucci n de MVC como con la mayor a pero no todas las instrucciones de BAL el primer operando es el campo de recepci n Como se mencion anteriormente la duraci n de la medida est determinada por la longitud de la recepci n de campo En este caso FLDB es de tres bytes de longitud CL3 en la instrucci n DC y tres bytes se moverse independientemente de la duraci n del segundo operando o el env o de campo El resultado es que los tres primeros bytes de ABCDE ser trasladado a FLDB el resultado se FLDB contiene ABC Los mismos doce bytes en memoria ahora deber a contener ABCDEIJKL A B C Vemos que cuando la longitud del campo de recepci n es menor o igual a la longitud del env o de campo MVC BAL funciona igual que MOVE s COBOL Vamos a intentar el segundo ejemplo Para evitar confusiones se comienza con fresco de datos ABCDEFGHIJKL Para mover FLDB a FLDA nos c digo MVC FLDA FLDB En este caso FLDA es de cinco bytes de longitud CL5 en la instrucci n DC por lo que cinco bytes se mover hasta aunque FLDB es de s lo tres bytes de longitud El resultado depender de lo que est en los primeros dos bytes de de memoria inmediatamente despu s de FLDB En este caso es 717 los dos primeros bytes de FLDC Por tanto FLDA contendr FGHIJ Los mismos doce bytes en memoria ahora deber a contener FGHIJKLFGHIJ
216. DEPT X 40202120 ED O DEPT SEM BAL R10 WRITE MVC 40 BLANKS ZAP HSEM P 0 ZAP LNS MAXLNS Change in semester implies change in department as well Reuse this line Reset semester record count Force next sem to new page L R10 SVENDSEM BR R10 FEO OOOO OOO ENDDEPT End department Process minor control break Print a count of courses sections in this department K K K FK K KK FK FK K K R ok ok OE FK FK 251 10 5 INFORMHTIRHSUMIDQUIEBRGBIIPBBIAADIEOCHOG IDKWCGN ONOL DE ENDDEPT EQU ST R10 SVENDDEP BAL R10 CHKLNS MVC OREC 40 BLANKS MVC ODEPT HOLDDEPT Department MVC O DEPT X 40202120 ED O DEPT DEPT How many this department MVC OCRLF WCRLF PC 370 only BAL R10 WRITE ZAP DEPT P 0 Reset dept record count L R10 SVENDDEP BR R10 gt K 5k sk sk skok 5k 5k Pk ok 5k PK oR ok 5k Pk ok ok ok R o I ICI 5k 5k I A kkk kkk k R kk K kk kk k k kk k K CHKLNS Check lines printed Full page gt K 5k sk sk CI 9k R o I ICI kkk kkk k k kk k k kkk k k kk k k search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 gt K ok sk sok ok 5k 5k ok ok k ok ok PK k ok ok k k kkk k k k kk k ak kkk 3k k kk k kk kK k k WRITE Write a single detail line gt K 5k sk sok
217. DGS SVPROC DC PO PROCESS SVREADS DC F 0 READSTUD SVREADC DC F gt 0 READGRAD SVREADG DC F gt 0 READCOUR SVLOAD DC PO LOADTBL 401 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO WRITE WRAPUP FORMAT CRSDATA GRADEVAL DOGPA FKK KK KK K K K K K FK K KK FK FK K FK FK FK K K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K K FKK KK KK K gt K K gt K K KR FK K FKK ok FK R KOR FK K FK KOR KOR KOR FK K FK KOR R RO OR FK OR R K SVWRITE DC F gt 0 SVWRAP DC SVFORMAT DC F gt 0 SVCRSDAT DC SVGRDVAL DC F gt 0 SVDOGPA DC F Q Miscellaneous field definitions WCRLF DC X 0D25 EOFSTUD DC CL1 N EOFCOURS DC CL1 N EOFGRADE DC CL1 N POINTS DC PL2 0 QUALITY DC PL22 02 ATTEMPT DC PL2 02 ACCUM DC PL220 PREVCID DC XL5 00 WK7 DC CET PK2 DC PL2 0 PK3 DC PL3 0 PK4 DC PL4 0 COPY DIVISION KK akak 3K ak 3k A I K K 5k I A 9k 5k R 9k A A 3K 2K Ak K 9k 21 A aK A 2A 2k 3K R KOR 3K K 2k A KOK K OR ak ak K K PC 370 End of End of End of Points ONLY EBCDIC CR LF students file Y N course file Y N grades file Y N for this course Total points Hours attempted Accumulated points Sequence check on course ID gt lt gt K gt lt gt lt gt lt K K K RR KOR FK R OR KOR R OR How much this grade is worth
218. Deleted 1 Old Masters Changed 1 New Masters Added 1 New Masters Out 10 La salida nuevo del archivo maestro BQSFUNEW DAT es el siguiente 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 11224BINFORD DAN 469 N 400 E DESOTO TX75115 A 12111ARIAS IDA 2211 APRICOT MODESTO CA95356 32555RYAN RICHARD 914 FIFTH ST NORMAL IL61761 A 55123JOSEPHSON PEGGY 248 MICHIGAN JAMESTOWN NY14701 A 61626HAVLIK CHERYL 551 WASHINGTON WHITTIER 90605 77271CARPENTER LOIS 326 BEACH BERWYN IL60650 A 81288BLACK KATHY 618 5 ANZA PASADENA CA91106 A 81997 00 APRIL 635 BURNS CAROL STRMIL60187 A 82446AMICCI BRUNO 17397 BARCELON CORVALLIS OR97330 A 94993DIXSON RICHARD 1021 BROWN CHICAGO IL60612 A El diagrama de flujo del programa el c digo ensamblador y se ala a contin uaci n 12 1 La estructura de la l nea principal BEGIN La estructura de la l nea principal de la actualizaci n de el programa es el mismo que vimos en el cap tulo anterior seguimos en SETUP archivos de proceso hasta que el viejo archivo maestro o el archivo de transacci n est en EOF El c digo BAL siguiente 280 search main loop SETUP EOFMAST EOFTRANS to EOJ PROCESS WRAPUP 280 289 BAL R10 SETUP MAIN EQU CLI EOFMAST C Y EOJ CLI EOFTRANS C Y EOJ 280 12 2 CMPREUINAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N BAL R10 PROCESS B MAIN EOJ EQU BAL R10 WRAPUP 12 1 1 La rutina de instalaci n Dentro de la
219. Determine total units AH R3 TILL sold for this product AH R3 IUTAH AH R3 IWISC MH R3 ISELL Multiply units by price 418 16 4 PROGRAMA DE EJEMPLO LAS VENTAS EN DOLARES A NIVEL NACIONAL DINDON S CAP TULO 16 MAS ARITM TICA BINARIA A R3 TOTAL Add total thus far ST R3 TOTAL then save back BAL R10 READ L R10 SVPROC BR R10 Yk 5k sk ek ok ok ok ke ok ke k ak akk ak k ak k ak k 2k ee R K WRAPUP Those things which happen one time only after all records have been processed Yc 3k sk sk sk sk 5k ok PK ok K PK 5k akk ak k R Ok R k PK 3k k 9k 9k OR k ak PR R SKOR 3k 2k Ok R PR 2K ke ke R R KOR ROROROROR OR OR OR OR OK R K WRAPUP EQU ST R10 SVWRAP L R3 TOTAL Must put it in a register CVD R3 DBLWORD to convert it to packed ED ODOLLARS DBLWORD 4 WTO OMSG CLOSE INVENTRY L R10 SVWRAP BR R10 FEA 5k 5k sk k ok IA kkk k ok I kk k a A kk k k Literals if any will go here FEA 5k 5k sk ok ok k I ok PK I I kk kk kk kkk k k k kk k kk CAA kkk k kk kK K k LTORG ett et K 5k 9k ett et ere eT ert etter eT Te k kkk kk kk kk kk kk kkk k kk Kk OR R File definitions EEEE EEEE EE kk kk kk k kkk kk kk k K INVENTRY DCB LRECL 28 RECFM F MACRF G EODAD ATEND DDNAME COGS BIN SRR RRR k kk kk kk kk kk IR kk kk kK RETURN ADDRESSES SEA AAA AA 9k 9k 9k A A A A I I I I
220. E informe txt El nombre del fichero de archivo de disco que contiene los registros de salida es Informe txt Si este archivo ya existe ser borrado y un nuevo archivo ser creado El programa completo TEACH1C MLC y su resultado se muestra en la sigu iente p gina Observe c mo los DOS tipo se utiliza para mostrar el resultado 29 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 xX OK OK OK OK CK ck CK ck CK ck ck ck ck OK ck OK ck KOK 30 TEACH1C MLC listado de maestros a Archivo version completa 30 PRINT NOGEN SKIS AI IIE I OK K FILENAME TEACH1C MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS A card image list of teacher records Prologo 23a BEGIN BEGIN OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT LOOP GET TEACHERS REC Read a single teacher record PUT REPORT REC Write the record B LOOP Repeat EOJ processing ATEND CLOSE TEACHERS CLOSE REPORT Epilogo 26a File definitions TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 29 RECFM F MACRF P DDNAME REPORT TXT In
221. E EJXCHISAR NE ARITM TICA DECIMAL todos los ceros a 15 todos los Pero as como en nuestro la discusi n de MVC y CLC un campo de longitud 0 no tiene ning n sentido As que las longitudes son en realidad de la longitud de cada operando menos uno De esta manera los valores de 0 a 15 indican longitudes de operaci n de suma resta compara etc de 1 a 16 Por ello estas operaciones son decimal empaquetado limitada a los campos de longitud de 1 a 16 Por ejemplo en la l nea 161 que PACK IQOH en WQOH WQOH se defini como PL2 por lo que la longitud de la primera ser 2 1 1 IQOH se defini como CL3 por lo que la longitud del segundo ser 3 1 2 Es por eso que el c digo de operaci n de X F2 es seguido por X 12 Bytes El halfword segundo tercero y cuarto indica que la base y el de splazamiento de la primera octetos operando y la media palabra tercero quinto y sexto indica que la base y el desplazamiento de la segundo operando al igual que con MVC y la CVX Nuestro an lisis anterior de las columnas ADR1 y ADR2 se aplica tambi n intenta 27 Mostrar el c digo de objeto si la l nea 161 supra se cambiaron a UNPK IQOH WQOH 28 Mostrar el c digo de objeto si la linea 169 supra se han cambiado a AP CORTO Z que la 29 Mostrar el c digo de objeto si la l nea 172 supra se han cambiado a AP wdiff Wentling 1 1 30 Mostrar el c digo de objeto si la l nea 174 supra se cambiaron a UNPK ODIFF 2 com
222. ECAGET VIO HREEINIXBIAINSS CAR CTERES END BEGIN A MIN gt move2a 5551212 555 1212 50 MOVE2B MLC mostrar movimiento de caracteres con CL1 version completa 50 PRINT NOGEN BOO ORO kkk FILENAME MOVE2B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Demonstrate character moves kk kk kk kkk K START 0 WTO IPHONE MVC IPFX MVC CL1 MVC OLINE ILINE WTO OPHONE RETURN Literals if any will go here LTORG Other field definitions Note that the field IPHONE DS OCL7 definition for WHYPHEN IPFX DC CL3 555 has been removed ILINE DC CL4 1212 OPHONE ODS OCL8 OPFX DS CL3 OHYPHEN DS CL1 OLINE DS CL4 END BEGIN A MIN gt move2b 5551212 555 1212 intenta Un n mero de tel fono con c digo de rea almacena como se va a imprimir como XXX XXX XXXX XXXXXXXXXX 50 2 2 DEEINIETWINMIOV HREEINIXBIAINSS AIWNAIEROCDE CARACTERES 9 Definir el campo de entrada 10 Definir el campo de salida 11 Escriba las instrucciones necesarias para mover el campo de entrada al campo de salida Incluya el gui n y par ntesis KOK k OK k OE k k OK OE k KOK OK OK OR OE k k K Muchos programadores principiantes est n bajo la equ
223. ECT DS CL1 9 9 Section number ITID DS CL3 10 12 Teacher 1D IROOM DS CL4 13 16 Room number IOCRLF DS CL2 17 18 PC 370 only CR LF ok k kk ok 5k ok ke ok ke k ak akk ak k k k ak k 3k 3k k ak 2k ak k ak ak 2k 3K k 3k 2k 2k 2k 2k ak k 2K 3K 2k 3K 2k 2k KOR k OR KOR ROROROROR OR OR OR OR 2K R K Output line definition Yc 3k 3k sk sk kkk kk ke PK 5k joke sk ok ee OR R o KOR R ok ke k ak KOR KOR 3K 2K K k K 2k K OR KOK R K OREC DS OCL42 1 42 DC CL10 gt 1 10 ODEPT DS CL2 11 12 Department DC CL7 13 19 O DEPT DS CL4 20 23 Number of sections DC CL17 24 40 253 10 5 INFORAM TRHSOVMID Q UIEBQBLBBIAADEOPROG PAMAN ROL DE HD3 HD4 HD5 OCRLF DS CL2 41 42 PC 370 only CR LF Ad adings definitions OR 3K KOR K R K K K OR K 1 2 3 4 FORMFEED DS DC DC DC DC HD1 DS DC HDPGS DC DC HD2 DS DC HDSEM DS DC DC DS DC DC DS DC DC DS DC DC END COURSE OFFERINGS Semester XXX Dept XX XX Total BZZ9 BZZ9 BZZ9 OCL42 X 0C CL39 gt 40C _ X 0D25 OCL42 CL36 CL4 BZZ9 XL2 0D25 OCL42 CL21 CL3 CL16 XL2 0D25 OCL42 40 gt XL2 0D25 OCL42 CL40 XL2 0D25 OCL42 CL40
224. EM PC 370 R4 2 REMARKS List of teachers with headings Prologo 23a BEGIN LOOP ATEND BEGIN WTO TEACH2C Begin execution OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 GET TEACHERS REC Read a single teacher record MVC OTID ITID Move teacher ID Nbr to output MVC OTNAME ITNAME Move teacher Name to output MVC OTDEG ITDEG Move highest degree to output MVC OTTEN ITTEN Move tenure to output MVC OTPHONE ITPHONE Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF PUT REPORT OREC Write report line B LOOP EOJ processing CLOSE TEACHERS CLOSE REPORT WTO TEACH2C Teacher list on REPORT TXT WTO TEACH2C Normal end of program Epilogo 26a File definitions 67 2 4 AGRAP AR VOEN CABFIDACIONDEMOVIMMNMTO DE CARACTERES TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT Miscellaneous field definitions WCRLF DC 20025 gt PC 370 ONLY EBCDIC CR LF Input record definition TEACHER IREC registro de entrada 44 Output line definition OREC DS OCL62 OTID DS CL3 Teacher ID nbr DC gt OTNAME DS CL15 Teacher name DC gt OTDEG DS
225. ENTARIO DEL ARCHIVO BINAR DULO 14 BINARY ARITHMETIC AR R6 R4 Beginning Purchases SR R6 R5 Sales CVD R6 DBL MVC OENDING WMASK ED OENDING DBL 6 LH R3 IQOH Actual ending inventory CVD R3 DBL Reusing register 3 MVC OQOH WMASK Reusing register 3 ED OQOH DBL 6 SR R6 R3 Difference CVD R6 DBL Expected Actual MVC ODIFF WMASK2 ED ODIFF DBL 6 MVC OCRLF WCRLF PC 370 only L R10 SVFORM BR R10 kk kkk kak ak ak ak k 3k 3k ak 3k 2k ak k ak ak 2K 3k 2k 3k 2k 2k ak ak ak K 3k 3k 3k 2k 2k ak k ak k 2K 3K 2K 3k 2k 2k K ak 2k K 3K 3K 3k 3K K 2k k k gt K 2K 2K 2K R K WRITE Write a single detail line FEA AAA ooo oook 2k 2k 2k 2k 2k 2k 2k 24 2 kk search write REPORT from OREC no line counting SVWRITE return 106 SEA AAA AAR A A A A I I kk 21 21 24 24 24 2k OR K WRAPUP Those things which happen one time only after all records have been processed SEO AAA RAR A A 24 2k K k 2k k 2k 2k 2k 2k kkk kk WRAPUP EQU ST R10 SVWRAP CLOSE INVENTRY CLOSE REPORT WTO COGS14B Discrepancies report on REPORT TXT E R10 SVWRAP BR R10 BEA CA I ok ok ok kkk k A kk k k k k kkk k AA k R KOR R K R kk k k k kK K k Literals if any will go here BEA CA OR ok kkk k kkk I k k kkk k k k kk k k 21 R R kk K kk kk K K LTORG BEA ooo ooo A A A A I I I I ooo 2k 2k 2k kkk kk File definitions EO 5k SK PR R R R RO 9
226. ESQAILAQI S DE UNA ENTRADA DE ARCHIVO 11 3 La rutina de instalaci n Dentro de la rutina de instalaci n abrimos todos los archivos y de leer el primer registro de cada fichero de entrada SETUP EQU ST R10 SVSETUP OI TEACHERS 10 X 08 OI OFFER 10 X 08 OI REPORT 10 X 08 OPEN TEACHERS OPEN OFFER OPEN REPORT BAL R10 READTCH BAL R10 READOFF L R10 SVSETUP BR R10 11 4 Las rutinas de LEA En todos los programas que hemos visto hasta ahora hemos ha tenido una rutina de lectura un extremo de archivo MAESTRO interruptor una entrada DCB etc En este programa Nosotros por supuesto tienen dos de cada uno El las rutinas de lectura se muestran a continuaci n Ellos son GET muy similar con la excepci n de que desde MAESTRO ACTA estamos elaborando una lista de clase para el semestre de F92 s lo vamos a saltar todos los registros OFERTA no desde el semestre READTCH EQU ST R10 SVREADT GET TEACHERS TREC B READTX ATENDTCH EQU MVI EOFTEACH C Y READTX EQU L R10 SVREADT BR R10 READOFF EQU ST R10 SVREADO READOFF2 EQU GET OFFER OREC CLC OSEM CL3 F92 BNE READOFF2 B READOX ATENDOFF EQU MVI EOFOFFER C Y 261 11 5 EL PROCKS4PDEUROTIN ENTRADA DE ARCHIVO READOX EQU L R10 SVREADO BR R10 11 5 El proceso de rutina PROCESO ID maestro de los maestros En el momento en que realizamos el archivo supe rior Rutina de proceso tenemos un solo Maestro ID de archi
227. Esta es la similar a un PIC X 29 en COBOL END BEGIN Este es el final del segmento de programa llamado BEGIN La BEGIN se refiere a la etiqueta de comienzo de la macro BEGIN discutido anteriormente Esto siempre ser la ltima declaraci n en su programa OOK CK OK CK CK CK CK ck CK OK CK OK CK CK ck CK ck CK ck ck Cuando hablamos de la WTO el comando anterior se al que se muestran los registros de a doble espacio porque cada registro termin con CR LF y que la WTO macros siempre env a su propio CR LF tambi n Por lo tanto si queremos que estos registros a aparecer a un solo espacio necesitamos a la WTO los primeros 27 bytes del registro solamente Con el fin de hacerlo deben ser capaces de redefinir nuestro registro de entrada de modo que podemos referirnos a todo el registro como el cuando lleguemos a ella pero s lo muestran una parte de ella Para ello tenemos el siguiente c digo 27 28 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 IREC DS OCL29 Teacher record IDATA DS CL27 Teacher data ICRLF DS CL2 PC 370 only CR LF Hemos sustituido C129 con 0CL29 Esto significa que IREC se refiere a la pr x ima veintinueve bytes pero que este mbito se desglosan Tenga en cuenta que se llaman los veinte primeros siete bytes Idata y bytes veintiocho y veintinueve se llaman ICRLF En COBOL se ver a como 01 TREC 05 IDATA PIC X 27 05 ICRLF PIC X 2 Luego de
228. F CL1 R CL2 PR OCL9 CL3 123 CLIP AbC 438 17 5 PROGRAMACAPEJEMPLD A NIVEL DE BITS DE OPERACIONES A MIN gt bitops EXAMPLE 2 Demonstrate use of OI to change lower case letter to upper case R EXAMPLE 3 Demonstrate use of OI to remove the sign from a number following an UNPK 1234N 12345 EXAMPLE 6 Demonstrate use of NI to change upper case letter to lower case T t EXAMPLE 7 Demonstrate use of XI to toggle the sign of a packed number 6789 6789 6789 EXAMPLE 8 Demonstrate use of XI for encryption once to encrypt once to decrypt R EXAMPLE 9 Demonstrate use of XC for encryption once to encrypt once to decrypt PR rg PR EXAMPLE 10 Demonstrate use of XC to swap two values 123 AbC AbC 123 EXAMPLE 11 Demonstrate that SLL is same as multiplying a register by a power of two and that SLR is same as dividing by a power of two 4 32 8 intenta 1 17 Escribir un programa similar para demostrar sus respuestas a todos los anteriores intenta Ejerce 439 17 6 PROGRAMACAP RIHMDPLO AOUEBO AFLBIFECHAOY 17 6 Programa de ejemplo Acceso la fecha la hora El siguiente programa DATE370 MLC utiliza varias de estas instrucciones para recuperar la fecha del sistema y la tiempo Este programa hace uso de la llamada supervisor de 18 que devuelve el tiempo en el registro 0 el ano de con el siglo en el registro 1 y el dia
229. F1 F2 F3 F4 F5 C6 MVZ 6 1 FO X FO F1 F2F Pero jy si FLDA hab a sido negativo Nos han perdido el signo como sigue FLDA DC PL4 123456 01 23 45 6D En ambos casos tiene el mismo valor despu s de la UNPK y MVZ Del mismo modo jqu pasa si FLDA representada en d lares y centavos es decir lo que si quer a ver a 1234 56 Teniendo en cuenta las definiciones de campo IMPORTE DS OCL8 D LARES DS CL5 DECIMAL DS CL1 CENTAVOS DS CL2 195 CAPITULO 9 LA INSTRUCCION EDITAR podriamos hacer lo siguiente CANTIDAD D LARES MVC FO F1 F2 F4 MVI DECIMAL C FO F1 F2 Pero todav a tenemos el problema con la senal Y qu acerca de la supresi n de ceros a la izquierda Y insertar una coma Para lograr estas cosas en el BAL usamos la edici n ED la instrucci n Esto le da nos las mismas capacidades en otros idiomas Por ejemplo en COBOL que el c digo WORKING STORAGE SECTION 01 MISC 05 FLDA PIC S9 5 V99 COMP 3 VALUE 1234 56 05 PRTA PIC ZZ ZZZ 99 PROCEDURE DIVISION MOVE FLDA TO PRTA y en BASIC que el c digo 10 LET FLDA 1234 56 20 LET MASK 30 PRINT USING MASK FLDA En ambos casos el resultado es B1 234 56 9 0 2 Definici n de la m scara de edici n Hay tres pasos para la edici n de un n mero 1 Defina una m scara de edici n 2 Mover la m scara para el campo de destino y 3 Editar un n mero de envasados en ese campo de desti
230. FK FK K FK FK FK FK K FK FK FK K FK oe R OR oe R OR FILENAME OFFER10B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 x x REMARKS Produce list of course offerings for all semesters Includes page break logic Single level control break example gt lt gt K gt lt x gt lt gt lt K KK K K FK K K R K KOR K R FK K R R FK FK K R R BEGIN START 0 REGS BEGIN WTO OFFERIOB Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO OFFER10B Normal end of program RETURN gt K k k ok sk sk sk ok kk I 3k 3k 3K ak ak aK ak ak 3k 3K 3K 3K I 3K 3K ICI I I OR Ik 3K 2k 3K 3K K K K K K ACA AC K 3K 3K K K KRK a SETUP Those things which happen one time only before any records are processed FKK KK KK K x K K gt K FK K R FK K FKK FK FK ok OK FK K K ok FK ok FK ok FK FK FK K FK KOR FK R OR KOR R OR SETUP EQU ST R10 SVSETUP OI OFFER 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN OFFER OPEN REPORT BAL R10 READ MVC HOLDSEM ISEM L R10 SVSETUP BR R10 Control break gt K gt K K K K FK K KK FK FK K RR KOR FK R OR KOR R OR HDGS Print headings 232 10 3 SINGTAH EVED CONQRUIBBRHWKLAPROGIEAMD SOLON T
231. FK K FK FK FK FK K oe R R R K Miscellaneous field definitions BAO AAA ooo A A A A I I I I kk 21 24 2k 2k 3 kk WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N BLANKS DC CL62 gt WCALIF DC PL2 0 Units sold in Calif WILL DC PL2 0 Units sold in Illinois WUTAH DC PL2 0 Units sold in Utah WWISC DC PL2 0 Units sold in Wisconsin WTOTAL DC PL2 0 Units sold in all states DC PL2 0 Input record count WMASK DC X 40202120 BZZ9 YK ok ok ok ok sk sk sk sk PK PK PK AAA R KOR 9k 9k A A A A I I I A 1 2k 2k 2k 2k FOR Input record definition BAO AAA AAR A A A A I I Ik kk IREC DS OCL41 1 41 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS CL3 11 13 Units sold in Calif IILL DS CL3 14 16 Units sold in Illinois IUTAH DS CL3 17 19 Units sold in Utah IWISC DS CL3 20 22 Units sold in Wisconsin IBEGIN DS CL3 23 25 Beginning inventory IPURCH ODS CL3 26 28 Purchases throughout year 209 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR IQOH ICOST ISELL ICRLF OREC ODESC OCALIF OILL OUTAH OWISC OTOTAL OCRLF HD1 HD2 HD3 HD4 HD5 DS DS DS DS DS DS DS DS DS DS DS DS DS DS DS DS DS DS CL3 CL4 CL4 CL2 29 31 Actual quantity on hand 32 35 36 39 Cost each 99V99 Sell for each 99V99 40 41 PC 370 only CR LF
232. GPARK CIONDDEIONRACTER FIELDS XXX X 517 XXXX ili All campus phones begin with 517 RE Y if highest degree is PhD N otherwise Con el fin de extraer los registros tenemos que aprender el equivalente a la BAL SI verbo como en muchos otros idiomas En este programa vamos a necesitar el SI para dos prop sitos Para determinar si un profesor es titular y por consiguiente incluirse en el informe y Para determinar si el instructor tiene un doctorado y para imprimir una Y o una N en consecuencia 3 1 Compara en BAL el c digo de condici n Cuando dos campos son comparados en el BAL un c digo de condici n se pone Eso es todo lo que sucede un c digo de condici n se pone El c digo de estado es una zona especial de cuatro bits de lado en la CPU para este prop sito Otra instrucci n Subdivisi n de la condici n se utiliza para indicar qu medidas deben tomarse con base en el c digo de estado resultante Esta instrucci n se explica m s adelante en este cap tulo Hay tres condiciones posibles como resultado de una operaci n de compara ci n La primera operando es igual al segundo operando El primer operando es menor que el segundo operando o El primer operando es mayor que el segundo operando El c digo de condici n de cada una de las condiciones antes mencionadas ler bit 2ndo bit 3er bit 4to bit Decimal Result
233. HEN REPEAT Explicaci n LA R7 7 De carga en el registro 7 la direcci n del byte s ptimo en la memo ria Pero la direcci n del byte s ptimo es de siete por lo que el n mero siete es cargado en el registro 7 Esta es una manera conve niente de poner una constante en un registro LA R8 L COUNTS R8 De carga en el registro 8 la direcci n del campo que es longitud de CONDES o 29 octetos pasado en registro 8 se se ala actualmente En Dicho de otro modo apuntan a la siguiente fila Esta es la raz n por la que utiliza en 0 1 29 CUENTA arriba BCT R7 LOOP El BCT o sucursal en el c mputo de instrucciones es muy com n en la tabla transformaci n Piense en ello como el equiv alente a un BAL DE siguiente ciclo Cada vez que el BCT es ejecutado se decrementa el registro especificado por uno Si el re sultado es mayor que cero entonces el programa se ramifica a la etiqueta especificada intenta 1 3 Qu cambios se har an a la definici n de la tabla y el segmento de programa si una cuenta nueva se agregaron a la mesa El campo nombre es TRANSOK y la descripci n es Transacciones utilizados El nuevo campo de seguir el campo rechaza 2 4 Cada cuenta se define como PL4 Qu cambios deben introducirse en la definici n de tabla y de segmento del programa si cada cuenta se ha cambiado de PL4 a PL5 15 3 Cargando una tabla en tiempo de ejecuci n En el ejemplo anterior el contenido de l
234. HOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce list of course offerings for all semesters Includes page break logic K KK FK FK K K K FK K KK FK FK K FKK FK FK KK FK FK START 0 REGS BEGIN BEGIN WTO OFFER10A Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO gt OFFER OA Normal end of program RETURN kk ok ok ke ok ok ke 2k 2k ak ak k 2K 3K 2K 3K 2k 2k k ak 2k K 3K 2K 3K 2K 2k k K 2k gt K 2K 2K 2K R K SETUP Those things which happen one time only before any records are processed gt lt gt K gt gt lt KK K oe K K gt K FK K KK FK FK K K OR ok ok K K ok FK K FKK K FK K K KR FK K R R FK FK R OK FK FK K FK KOR KOR FK FK FK K FK KOR R R OR R R R K SETUP EQU ST R10 SVSETUP DI OFFER 10 X 08 01 REPORT 10 X 08 OPEN OFFER OPEN REPORT BAL R10 READ PC 370 ONLY Convert all input from ASCII to EBCDIC PC 370 ONLY Convert all output from EBCDIC to ASCII FKK KK gt x x dd RR RR KOR ORO R KKK K FK K FK FK K K FK FK K KK FK FK K L R10 SVSETUP BR R10 HDGS Print headings HDGS EQU ST R10 SVHDGS AP PGS P 1 Add 1 to page
235. I A I 2k 21 OFFER DCB LRECL 18 RECFM F MACRF G EODAD ATEND DDNAME OFFER DAT REPORT DCB LRECL 42 RECFM F MACRF P DDNAME REPORT TXT SEA AAA AGRA A A A A I I I kk 2k 2k 2k 2k R 6 k k k kkk kkk OR R RETURN ADDRESSES EAA AA AA AR 9k 9k A A ACA search SVSETUP S VHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 SVCHKLNS DC F gt 0 CHKLNS BEA AAA A 9 9k 9k A A A A I I kk ORO 2k 24 2k 2k oo k k 2k 2k R 2k kkk OR R Miscellaneous field definitions k k k 3k akak k I 3k 3k 3k ak ak ak ak ak 3k 3K 3K 3K I I ICICI ICI I Ik 3K 3K 3K 3K K K K KOR AA AC K 3K 3K 3K 3K KK K a WCRLF DC 20025 gt PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N PGS DC PL2 0 Nbr of pages printed LNS DC PL2 10 Lines printed on this page MAXLNS DC PL2 10 Max nbr lines per page My line counts exclude hdgs BLANKS DC 40 gt Input record definition lt TREC DS OCL18 1 18 Offer record ISEM DS CL3 1 3 Semester ICID DS OCL5 4 8 Course ID IDEPT DS CL2 4 5 Department DS CL3 6 8 Course number ISECT DS CL1 9 9 Section number ITID DS CL3 10 12 Teacher ID IROOM DS CL4 13 16 Room number IOCRLF DS CL2 17 18 PC 370 only CR LF
236. IC Ik R R 3K 3K K K K KOR K K AC AK K 3K KKR K K Copy the entire record with sort key appended Sort key consists of student ID year portion of semester 71 for W inter or 2 for F all and the course ID This appended sort key is used to overcome limitations of DOS SORT command which allows a single sort field only The recoding of the semester was done so Fall classes will come after winter classes For example semester W92 becomes 921 while semester F92 becomes 7922 k k k ak Kak k k k k ak aK ak aK 3k 3k 3K 3k 3K ak aK ak ak ak ak 3K 3k 3K 3k 3K K 3K 3K ak ak ak ak ak 3K 3K 3K 3K 3K K K K K K K K K K 3K 3K 3K 3K KK K K FORMAT EQU ST R10 SVFORMAT MVC SORTDATA GREC MVC SORTSID GSID MVC SORTSEM 2 GSEM 1 CLI GSEM C F BNE FORMAT2 MVI SORTSEM 2 C 2 B FORMAT3 FORMAT2 EQU MVI SORTSEM 2 C 1 FORMAT3 EQU MVC SORTCID GCID MVC SORTCRLF WCRLF FORMATX EQU XX L R10 SVFORMAT BR R10 FEA AA AAR A A A A I I Ik READGRAD Read a Grade record FKK K KK 2g ok ok ok ok K K K K ok oko ok ok ok ok ok ale K K KK 2K ok K K ok ok ale K ok ale K ok oko K ok ok oko ok K K K ale X 2K K 2K ok ale ale K ale ale READGRAD EQU ST R10 SVREADG GET GRADEIN GREC B READGX ATENDGRA EQU MVI EOFGRADE C Y READGX EQU L R10 SVREADG BR RO 386 XX X X x 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITULO 15 TABLA DE PROCESAMIE
237. IDEPT to ENDDEPT SVCHKDEP 239b 241 249 CHKDEPT EQU ST R10 SVCHKDEP CLC HOLDDEPT IDEPT Compare w current BE CHKDEPTX Same department get out BAL R10 ENDDEPT Process department break MVC HOLDDEPT IDEPT Update control break field CHKDEPTX EQU L BR R10 SVCHKDEP R10 En m ltiples niveles de control de procesamiento de descanso siempre evaluar el control campos de ruptura de mayor a menor 2 Si el semestre ha cambiado extremo que el semestre y empezar otro El tratamiento aqu es el mismo que en el programa anterior salvo un 239 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE cambio en el semestre implica un cambio en el departamento As que lo primero que hacemos dentro de ENDSEM es poner fin a la anterior y el departamento comenzar el siguiente departamento ENDSEM EQU ST R10 SVENDSEM BAL R10 ENDDEPT Change in semester implies change in department as well MVC OREC 40 BLANKS This area used several ways MVC 6 25 Sem BZZ9 sections ENDDEPT se discute a continuaci n En m ltiples niveles de control de procesamiento de descanso una ruptura en un nivel implica una ruptura en todos los niveles m s bajos 3 Si el Departamento ha cambiado entonces fin de que los departamentos y comenzar otra Vemos a partir de que si el Departamento ha cambiado es decir si HOLDDEPT no es igual a IDEPT a continua
238. IMAL 7 3 La Instrucci n AP El a adir envasados la instrucci n se utiliza para a adir un n mero de envasados a otro Por ejemplo AP A B agrega B a A con B sin cambios y la suma de A Ambos operandos deben ser v lidos envasados n meros Por ejemplo dada Un CL4 1234 DC DC CL3 567 gt C DC PL4 0 para a adir A y B dando C A y B deber n ser envasados Al menos un campo de trabajo se requiere PACK C A PACK PK2 B AP C PK2 d nde PK2 DC PL2 0 A menudo se definen los campos como la PK2 arriba como campos de trabajo Por ejemplo PK3 es DC PL3 0 es DC PL4 0 etc partir de ahora si me refiero a un campo de PKN entonces se debe entender que yo soy referencia a un tipo de trabajo de campo P de tamano n El uso de esta convenci n simplificar muchos de nuestros ilustraciones 7 4 Instrucci n ZAP En la codificaci n del ejemplo anterior a adir y dando C que podr a haber usado utilizar dos campos de trabajo como Un siguiente PACK PK3 A PACK PK2 B C C O AP C PK3 AP C PK2 Tenga en cuenta que mover un cero a C a continuaci n anadir PK3 a C es el mismo que si simplemente hab a trasladado a PK3 C Hay una instrucci n de BAL que hacer precisamente eso la ZAP cero y agregar relleno la instrucci n es utiliza para mover un campo lleno hasta la otra Por ejemplo yo podr a sustituir PACK C C0 AP C PK3 con ZAP C PK3 Tambi n podr
239. ITIZEN EQU X 40 Second bit indicates citizenship Other bits unused at this time intenta 1 18 Si el ltimo bit del primer byte de A est encendido y el primer bit del ltimo byte de est apagado luego girar a la en el primer bit del primer byte de la C 2 19 Habida cuenta INFO MALE y ciudadano como se define anterior mente y SWITCH DC CL1 Si INFO indica un mujer ciudadana mover para cambiar De lo contrario mover N para cambiar 444 17 8 EJERCICIOSCAPITULO 17 A NIVEL DE BITS DE OPERACIONES 17 8 Ejercicios 1 Verdadero o falso Un hecho y DC CL2 5H gt DC CL2 IQ a Para activar el ltimo bit en el ltimo byte de A dejando a todos los otros bits sin cambios nos F T c digo de OI A 1 X 08 b Para desactivar el primer bit en el ltimo byte de A dejando a todos los otros bits sin cambios F T que el c digo NI A 1 X 80 c Para desactivar el bit de la izquierda en el primer byte de A si est encendido y que a su vez en esa F T si est fuera de bits c digo XI A X 80 d Para cambiar la Q de la A a min sculas que el c digo NI A 1 B 10111111 F T e Para intercambiar A y B que el c digo XC A B tres veces F T f El valor de B puede haber sido un resultado de UNPK B PK3 donde PK3 es un pic nic F T n mero que contiene 158 g L B 1 X F0 dar B igual a CL2 58 h Dado TM A 0 y BZ PASE la rama de que se adopt
240. K FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K K MVC ED WTO MVC ED WTO MVC ED WTO WK10 X 4020206B2020214B2020 WK10 FLDA WK10 MASK4 WK7 POS MASK4 NEG A Rd Rod R OR WTO SEE PAGE 9 7 FKK KK KK K KK K K FK K KK FK FK dd dll R OR R K MVC ED WTO MVC ED WTO WK8 MASK5 WK8 POS WK8 WK8 MASK5 WK8 NEG WK8 Ad oe FK K OK KOR KOR FK oe oe KOR KOR FK FK FK K OK KOR OR ok K WTO SEE PAGE 9 8 FKK KK KK K FK K K K dd KOR R R oe R R R K MVC ED WTO MVC WK9 CR WK9 POS WK9 WK9 CR 203 9 1 MUESTRA DEL PROGRAMIA TULO 9 LA INSTRUCCI N EDITAR ED WK9 NEG WTO WK9 MVC WK9 DB ED WK9 POS WTO WK9 MVC WK9 DB ED WK9 NEG WTO WK9 MVC WK10 CHKA ED WK10 FLDA WTO WK10 MVC WK7 CHKB ED WK7 FLDB AR RR dd R R OR WTO ALL DONE AR Rd OK R R ok Epilogo 26a WK6 WK7 WK8 WK9 WK10 FLDA FLDB POS NEG MASK MASK2 MASK3 MASK4 MASK5 CR DB CHKA CHKB Other field definitions DS CL6 DS CL7 DS CL8 DS CL9 DS CL10 DC PL4 123456 DC PL3 0 DC PL3 4123 DC PL3 123 DC X 4020202020202020 DC X 402020202020 DC X 402020202120 DC X 402021204B2020 DC X 402021204B202060 DC X 402021204B2020C3D9 DC X 402021204B2020CAC2 DC X 5C20206B2021204B2020 DC X 5C2021204B2020 END BEGIN 204 BZZZZZZZ BZZZZZ BZZZZ9 BZZ9 99 BZZ9 99 BZZ9 99CR BZZ9 99DB
241. K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK R R R OR 357 14 7 MUESTRA DEL PROGRAMA DISCREPANCIAS INFORME DE INVENTARIO DEL ARCHIVO BINAR DULO 14 BINARY ARITHMETIC HDGS EQU ST R10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 PUT J REPORT HD5 L R10 SVHDGS BR R10 BEA AAA OR KOR 9k ARR A A A PROCESS Those things which happen once per record BEA AAA oook 2k k k 2k 2k 2k 2k kkk OR OR PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 BEA AAA RA 9k 9k 9k A A A A I I OR ORO 21 21 24 24 2 2 k k k 2k 2k 2k kkk kk READ Read a record FEA AAA RARER A A A A I I A 21 21 21 24 24 2k 2 2 search read INVENTRY into IREC EOFSW SVREAD return 314 BAO AAA ARR A A A A I I I I kk 2k 2k 2k 2k oo K 2k 2k k k kk 2k 2k kkk kk FORMAT Format a single detail line SEA AAA ARR A A A A I I I I 2k 1 21 FORMAT EQU ST R10 SVFORM MVC OREC BLANKS MVC ODESC IDESC LH R3 IBEGIN CVD R3 DBL MVC OBEGIN WMASK ED OBEGIN DBL 6 LH R4 IPURCH Purchases CVD R4 DBL MVC OPURCH WMASK ED OPURCH DBL 6 LH R5 ICALIF AH R5 IILL AH R5 IUTAH AH R5 IWISC CVD R5 DBL MVC OSALES WMASK ED OSALES DBL 6 LR R6 R3 Description Beginning inventory Each product s sales by state must be added to get total for product Ending Inventory 358 14 7 MUESTRA DEL PROGRAMA DISCREPANCIAS INFORME DE INV
242. K FK dd R K OR HD1 DS OCL67 DC CL40 COGSWORTH INDUSTRIES DC CL25 gt DC XL2 0D25 HD2 DS OCL67 DC CL40 Inventory Discrepancies R DC CL25 eport DC XL2 0D25 HD3 DS OCL67 DC CL65 gt DC XL2 0D25 HD4 DS OCL67 DC CL40 Product Begin Purch Sales Exp DC CL25 ect Actual Diff DC XL2 0D25 HD5 DS OCL67 DC CL40 Ses T 222 DC CL25 XL2 0D25 END BEGIN A MIN gt cogs9b COGS9B Begin execution COGS9B Discrepancies report on REPORT TXT COGS9B Normal end of program A MIN gt type report txt COGSWORTH INDUSTRIES Inventory Discrepancies Report Product Begin Purch Sales Expect Actual Diff GIZMOS 17 99 90 26 23 3 WIDGETS 22 34 37 19 19 JUNQUE 30 52 73 9 10 1 3 records processed 1 indicate shortage 1 indicate overage 9 2 1 Resumen El n mero debe estar en formato decimal empaquetado para ser editada con formato Para editar un n mero debe definir una m scara Esta m scara La m scara debe tener la misma longitud que el campo de destino El primer byte de la m scara es siempre el car cter de relleno 216 9 3 EJERCICIOS CAPITULO 9 LA INSTRUCCION EDITAR Este car cter de relleno que sustituye a ceros a la izquierda suele ser un espacio en blanco X 40 Utilice un asterisco X 5C para la protecci n de cheques La m scara puede incluir una coma X 6B si lo desea y cuando proceda La m scara pu
243. K K KK FK FK K K R FK K FKK ok FK K OK FK FK K ok KOK FK ok FK FK FK K OK KOR FK R OR K R R K GREC DS OCL26 1 26 Grade record GSID DS CL3 1 3 Student ID nbr GSEM DS CL3 4 6 Semester GCID DS CL5 7 11 Course ID nbr GSECT DS CL1 12 12 Section number GGRADE DS CL1 13 13 Grade earned GKEY DS CLit 14 24 Sort key see TRANS1 MLC GGCRLF DS CL2 25 26 PC 370 only CR LF Ad RR ok ok KOK ok ok FK FK K KOR oe K ok R Course table KK x gt gt lt gt ok ook gt K ok KK FK FK K K K FK FK K K FK FK K FKK K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK FK FK FK FK FK K ok OR ROWS DC H 0 Entries in course table MAXROWS DC H 10 Max entries in course table TABLE DS 10CL21 Each row consists of 1 5 Course ID 6 20 Course description 21 21 Hours packed FKK KK KK K FKK K ok ok K FK FK K FKK K FK K OK FK FK K ok FK FK FK ok FK FK FK K FK KOR FK R ok K Output line definition aooo OREC DS OCL62 1 62 Report record DC CL2 gt 1 2 OSEM DS CL3 3 5 Semester DC CL5 gt 6 10 OCID DS CL5 11 15 Course ID DC gt 16 18 OCDESC DS CL15 19 33 Course Description DC CL4 gt 34 37 OGRADE DS CL1 38 38 Grade DC CL4 gt 39 42 OCHRS DS CL4 43 46 Course Hours BZZ9 DC CL3 gt 47 49 OPOINTS DS CL4 50 53 Quality Points BZZ9 DC CL7 gt 54 60 OCRLF DS CL2 61 62 PC 370 only CR LF FKK KK KK K K K K K FK K KK FK FK RR KOR
244. K R od OR SETUP EQU ST OI OI OI OI R10 SVSETUP MASTERIN 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC TRANSIN 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC MASTEROT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN MASTERIN OPEN TRANSIN OPEN MASTEROT OPEN REPORT BAL BAL L BR R10 READMST R10 READTRN R10 SVSETUP R10 FKK KK gt x K K FK K KK FK FK K RR dd KOR R K oe OK R OR HDGS Print headings FEA AC k kkk ok ok kkk k k kk k k kk k kk kk kk kkk k k k kk k ak KOR k R HDGS EQU ST AP MVC ED PUT PUT PUT PUT PUT ZAP L BR R10 SVHDGS PGS P 1 Add 1 to page count HDPGS X 40202120 Edit pattern for page count HDPGS PGS Move page count to heading REPORT FORMFEED PC 370 ONLY REPORT HD1 REPORT HD2 REPORT HD3 REPORT HD4 LNS P 0 Reset line count to zero R10 SVHDGS R10 FKK KK KK gt KK K gt K gt x K KK FK FK RR KOR KOK KOR KOR FK OR KOR O R OR R R R OR PROCESS Those things which happen once per record 5k 5k ok ok A Pk ok ok PK R ok I kkk k kkk a I I kkk kk kk kkk k k k kkk R KOR R K kkk k k k kk k k 290 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N PROCESS EQU ST R10 SVPROC CLC INBR TNBR Attempt match on customer nbr BH PROC2 Transaction low BL PR
245. K ak ak ak 3K 3K 3K 3K 3K 3K K K K K K K K K 3K 3K 3K 3K KK K K WRAPUP Those things which happen one time only after all records have been processed Yc 3k bk kkk kk k k 5k kk 9k ok kk R PK ok akk ak ke ke ok ke k ak K OR KOR 2K 2K 2k kk k WRAPUP EQU ST R10 SVWRAP MVC OREC BLANKS MVC OCRLF WCRLF PC 370 only BAL R10 WRITE Skip a line MVC OREC 22 CL22 XXX records processed UNPK OREC 3 IN Count MVZ OREC 2 1 X FO Remove sign BAL R10 WRITE MVC OREC 22 CL22 XXX indicate shortage UNPK OREC 3 SHORT Count MVZ OREC 2 1 X FO Remove sign BAL R10 WRITE MVC OREC 22 CL22 XXX indicate overage gt UNPK OREC 3 0VER Count MVZ OREC 2 1 X FO Remove sign BAL R10 WRITE CLOSE INVENTRY CLOSE REPORT WTO 5 Discrepancies report on REPORT TXT L R10 SVWRAP BR R10 FAA k k ak ak ak ak 3k 3k 3k 3k 3K K aK aK ak aK 3k 3k 3K 3K K 3K I 3K 3K ak OR OR I II 3K 3K 3K KOR K K KOR AAC ACA 3K 3K R K KK K K Literals if any will go here 167 7 12 EJEMPLO DICRR GHAMA CI NSAB WISI ARDIMETICA DECIMAL K sk k sk K sk oK sk ok KRK kkk K LTORG kk okcokeoke sk ok Pk KRK OR EE E kk KOK R KOR k kk KOR kk kkk k rere et kkk K File definitions
246. K ck CK OK CK OK OK CK ck CK OK OK x 2 3 Longitud expl cita y el Desplazamiento Recordemos que la longitud de una instrucci n MVC est determinada por la longitud del campo de recepci n Ya hemos observado lo que puede suceder si el env o y recepci n de los campos son de diferentes longitudes En consecuencia hemos sido cuidadosos para definir nuestros campos de recepci n en el informe 58 MVC MVI MVC OPFX 1 OHYPHE OLINE Literals if any will LTORG Other field definitic EQU DS DC DC DS DS DS DS END c OCL7 CL3 5 CL4 12 OCL8 CL3 CL1 CLA BEGIN 2 3 LON amp P UDLEOXPL SHITINACRUNDESIPDXYMNITENTOE CAR CTERES de salida que se de la misma longitud que los campos de envio Pero esto no siempre es posible Por ejemplo usted puede tener un programa que tiene dos archivos de entrada que llamaremos A y y un archivo de salida que llamaremos C El campo del nombre con nombre y apellido se define como 25 bytes en los archivos de A y C pero como 20 bytes B A veces en el archivo C obtendr el nombre de A mientras que otras veces se recibe el nombre de B Mover el nombre de A a C es f cil MVC CNAME aName pero ese no es el caso del traslado del nombre de B a C No podemos utilizar MVC CNAME bname porque desde el nombre de C es de cinco octetos ya que el nombre de B los cinco octetos inmediatamente despu s del nombre en la letra B se mueve como bien Lo que necesitamos es
247. K k k k KOK OE k KOK OK OK K K k k K Ejemplo Z 2 Un n mero de seguro social almacena como XXXXXXXXX se va a imprimir como XXX XX XXXX Este ejemplo es similar al ejemplo 1 anterior y se deja como ejJercicio KOK k k KOK k k OK k k k k OK OK k K k k K Ejemplo 3 A la fecha almacenada como YYMMDD se va a imprimir como MM DD 19YY Definici n de todos los campos y el uso de los AT s lo sin literales 37 456a 62b gt MVC OMM IMM MVC OSLASH1 SLASH MVC ODD IDD MVC OSLASH2 SLASH MVC 019 NINETEEN MVC OYY IYY donde ex 37 462a 62cp IDATE DS OCL6 IYY DS CL2 IMM DS CL2 IDD DS CL2 ODATE DS 0 1 10 OMM DS CL2 OSLASH1 DS CL1 ODD DS CL2 OSLASH2 DS CL1 019 DS CL2 OYY DS CL2 SLASH DC CL1 NINETEEN DC CL2 19 Definici n de todos los campos pero el uso de los AT y MVIS con literales ex 37 462b 63a MVC OMM IMM MVI OSLASH1 C MVC ODD IDD MVI OSLASH2 C MVC 019 CL2 19 MVC OYY IYY 62 63a 63b 2 4 AGRAP AR VOEN CAIBIFIAADKOSNDIE NOVIMINNTO DE CAR CTERES en todos los campos se definen como antes Usando el desplazamiento ex pl cito y longitud solamente y los valores equiparados utilizando ez 37 462c 63bp MVC ODATE 2 IDATE 2 MVI ODATE 2 SLASH MVC ODATE 3 2 IDATE 4 MVI ODATE 5 SLASH MVC ODATE 6 2 CL2 19 MVC ODATE 8 2 IDATE donde ez 37 463a 65b gt IDATE DS CL6 ODATE DS CL10 SLASH EQU C Usted probarlo Dado A CL8 DC y B DC
248. KK K OFFERLOW Course offering without matching teacher k k 3k akk 3k 2k ak k ak k 2k 3k k 3k 2k 2k ak 2k k k 2K 3k 2k 3k 2k ak eS OFFERLOW EQU ST R10 SVOFFLOW MVC HOLDTID OTID Current teacher MVC HOLDNAME CL15 Unknown BAL R10 DOTHIS1 Do this one teacher L R10 SVOFFLOW BR R10 xokokokokokokokoolelokokolekekekekekokokokolokokolololeleleleleelekekelekokokokolokokokokokekekekekekokekekelelokolokolelelek DOTHIS1 Do this one teacher lt 2K KKK K K K KK ok ok K K K 3 ok oko ok ok ok ok ok ok ook K KK 2K ok oko ok ok ok K ok ok ode ok X X K ok ale ale o X K K K ale X ok K K K ok ale ale K K DOTHIS1 EQU ST R10 SVTHIS1 MVC RREC BLANKS MVC RTID HOLDTID First line for each teacher MVC RTNAME HOLDNAME will show ID and name DOTHIS2 EQU This loop for each offering BAL R10 CHKLNS for this teacher CP LNS P 0 BNE DOTHIS3 MVC RTID HOLDTID Also shown on first line MVC RTNAME HOLDNAME of each page 268 11 7 PROGRAMA P T SODUCIOWAS DE UNA ENTRADA DE ARCHIVO DOTHIS3 EQU MVC RCID OCID MVC RSECT OSECT MVC RROOM OROOM BAL R10 WRITE MVC RREC BLANKS BAL R10 READOFF Read next offerings record CLI EOFOFFER C Y If EOF then done BE DOTHIS4 CLC HOLDTID OTID Still the same teacher BE DOTHIS2 Yes continue this one DOTHIS4 EQU MVC RREC BLANKS Blank line between teachers BAL R10 WRITE L R10 SVTHIS1 BR R10
249. KK KK KK K FK K K K FK K KK FK FK K FK K FK FK K K FK FK K FKK FK FK K K FK FK K KK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK 2K K K SETUP Those things which happen one time only EQU ST Begin execution Normal end of program before any records are processed YK k ok ok 5k k sk k kk k k IAA I I ICICI I OR I Ik R R 3K 3K K K K K K K K ACAI R K K KK K K R10 SVSETUP 266 11 7 PROGRAMA P T SDDUTIQW S DE UNA ENTRADA DE ARCHIVO OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI OFFER 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN OFFER OPEN REPORT BAL R10 READTCH BAL R10 READOFF L R10 SVSETUP BR R10 BECCA CARR I CA I ICI kkk k R kk 4 kk kk k k kk K K HDGS Print headings kk kk k k k kk k k KOR R A K KOR K K A kK k R HDGS EQU ST R10 SVHDGS AP PGS P 1 Add 1 to page count MVC HDPGS X 40202120 Edit pattern for page count ED HDPGS PGS Move page count to heading PUT REPORT FORMFEED PC 370 ONLY PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 ZAP LNS P 0 L R10 SVHDGS BR R10 FEA 5k 5k sk Pk kk IO k I ok kkk k A A IK a k k kkk k k A k R KOR k R K kk k k k kK K k Reset line co
250. L20 XL2 0D25 BEGIN Teacher ID nbr Teacher name PhD Y N Phone nbr Phone nbr PC 370 only CR LF LIST OF TENURED INSTRUCTORS d Name PhD Phone 99 4 1 COOKPELIIAT ION OO GEIR OCWRALR IP SHRROGRAMA DE BAL La l gica que impulsa a estas secciones de c digo se refiere com nmente como la l nea principal Con el fin de para la estructura de nuestro programa necesitamos una instrucci n que nos permitir invocar subrutinas que es decir algo comparable a GOSUB BASIC o PERFORM COBOL seg n la cual pode mos ir a una subrutina y luego volver una vez que la subrutina ha terminado En BASIC cada GOSUB deben tener una retribuci n La rentabilidad es una declaraci n requerida En COBOL el regreso est impl cito en la final de la des ignada procedimiento ya sea un p rrafo o secci n La aplicaci n de BAL de este proceso es m s similar a la B sico que en COBOL en que la devoluci n debe ser codificado El equivalente a un GOSUB BAL es BAL o Subdivisi n y Link No confunda BAL Basic Asamblea Language con BAL la rama y la instrucci n Link El equivalente a un retorno BAL es BR o Subdivision de Registro A fin de comprender el BAL y las instrucciones de BR debemos entender un poco poco acerca de los registros Un registro es una zona especial de conservaci n dentro de la CPU unidad central de proceso El tama o de un registro de depender de la de la CPU Mayor a de los PC por ejemplo tienen dos reg
251. L5 LMNOP CLA4 QRST 6 5 EJERCICIOSP TULO 6 QU ES ESTA COSA DE LA IZQUIERDA b Usted es el equipo cu les son los valores de X Y Z despu s de este programa de corre 5 Ejercicios 5 a Llene los espacios en blanco l neas 15 19 y 25 27 STUFF6C PC 370 LOC 000000 000000 000000 000000 000004 000005 000010 000058 00005C 000060 000062 000066 00006 00006 00006 000070 000074 000078 00007C 000080 000080 000080 000084 000088 00008 00008C 00008D 000090 CROSS ASSEMBLER OPTIONS LXACE ADRi ADR2 LINE 1 2 3 47FOF058 0058 4 OB 5 E2E3E4C6C6F6C340 6 0000000000000000 7 90ECDOOC 000C 8 50D0F014 0014 9 18ED 10 41D0F010 0010 11 50D0E008 0008 12 13 14 ____DO7CDO7A 008 008A 15 ____DO6C 007C 16 ____DO7D 008D 17 ____D070 0080 18 ____DO7C 008C 19 00000080 20 21 58DD0004 0004 22 98ECDOOC 0006 23 O7FE 24 C4C5 25 C4 26 C6C5C4 27 28 LABEL STUFF6C HZQKX001 KZHQX001 H G PAGE BEGIN CSECT USING B DC DC DC STM ST LR LA ST DROP USING CLC BL MVI B MVI EQU RETURN L LM BR DC DC DC END b Usted es el equipo cu les son los valores de F D y E despu s de este programa corre 6 Ejercicios 6 141 OPERANDS 15 KZHQX001 AL1 11 CL11 STUFF6C 18F 0 14 12 12 13 13 HZQKX001 4 14 13 13 70 001 13 8 0 14 15 HZQKX001 13 D F H E C D G D C F 13 4
252. LL REPORT FOR WEEK ENDING 01 09 93 ENUM Type Hours Rate Gross XXX X BZZ9 99 BZZ9 99 BZZ9 99 XXX X BZZ9 99 BZZ9 99 BZZ9 99 TOTALS BZZ9 99 BZZ ZZ9 99 b Modificar el programa de la parte a para anexar los resultados de este per odo de pago 01 09 93 para el archivo hist rico Para ello ser necesario crear un archivo nuevo lo llaman HISTORY NEW 339 Capitulo 14 Binary Arithmetic Objetivos Al t rmino de este cap tulo usted ser capaz de Explique qu se entiende por la palabra doble fullword y la alineaci n de la frontera media palabra Dado LOC un campo indican si es palabra doble fullword y o media palabra alineados a Utilice las siguientes instrucciones binarias L LH LR A AH AR S SH SR C CH y CR Usar la Oficina de Turismo de la instrucci n para convertir una serie de pic nic a binario y la a Utilice la instrucci n de las ECV para convertir un n mero binario de pic nic Introducci n Los equipos System 370 s lo puede hacer dos tipos de arit m tica embalado y binarios Hemos ya mir la aritm tica envasados en detalle En este cap tulo hablaremos de la aritm tica binaria La aritm tica binaria es tambi n conocido como registro de la aritm tica ya que cada operaci n arit m tica binaria participar n al menos un registro Hay varias razones por las que habr a que saber binario la aritm tica adem s de la aritm tica embalado El archivo que est leyendo pueden
253. LOOP Repeat EOJ processing ATEND CLOSE TEACHERS RETURN Literals if any will go here LTORG File definitions TEACHERS DCB LRECL 29 RECFM F MACRF G EODAD ATEND DDNAME TEACHER DAT Input record definition IREC DS CL29 Teacher record END BEGIN A MIN gt teachia T32BENSON E T PHD N5156 218HINCKLEY G B MBA N5509 854KIMBALL S W PHD Y5594 626Y0UNG MBA Y5664 574SMITH J MS Y5320 BEGIN BEGIN El primero BEGIN asigna un nombre a la declaraci n algo m s que un asterisco en una posici n indica una etiqueta como un 24 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 nombre de campo o de Nombre del parrafo La BEGIN segunda es una macro que guarda los valores de los registros de modo que cuando el programa haya terminado el funcionamiento sistema sera capaz de volver a donde vino Al igual que con los regs macro esto es tan com n que una macro similar se encuentra la mayor a de BAL tiendas Puede llamarse de muchas cosas lo he visto como BEGIN BASE13 y G NESIS Para nuestros prop sitos el c digo es as como se ve aqu OI MAESTROS 10 X 08 No voy a explicar las instrucciones en este mo mento excepto para decir que este comando debe ser utilizado para todos los archivos Recordemos que las PC utilizan el ASCII conjunto de caracteres para representar los datos mientras que los mainframes de IBM y por lo t
254. Longitud expl cita y el 58 2 4 Agregar y encabezados de columna 63 2 0 Ejercicios Bd A ae a ea ee ek 69 3 IFS en BAL Comparaci n de car cter FIELDS 74 3 1 Compara en BAL el c digo de condici n 75 3 2 Compara en BAL La Instrucci n CLC 76 3 3 Compares BAL The CLI Instruction 79 3 4 Compares BAL The BC Instruction 80 3 5 Compares in BAL Sample IFs 81 3 6 Sample Program cR oe melee gas aha 85 Os ke escuche es ek B eee a 88 4 Como estructurar un Programa de BAL 96 41 CONFIGURACI N PROCESO y Wrapup Secciones 97 4 1 1 La Revisi n de rutina PROCESO 103 4 1 2 La Revisi n de rutina Leer m s 109 4 2 Ejercicios e o oe A a a ee 116 5 Representaci n de datos 118 5 1 Una mirada m s cercana a nuestro Sistema de numeraci n deci pal o ode euet A AS 118 INDICE GENERAL INDICE GENERAL 5 2 El sistema binario 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 conversion 122 5 3 2 Hexadecimal a decimal de conversi n 123 5 3 3 Decimales a hexadecimal de conversi n 124 5 3 4 Hex
255. M P 0 Reset counter ZAP LNS MAXLNS Force next sem to new page L R10 SVENDSEM BR R10 a Imprimir el n mero de secciones para este semestre Observe c mo se formatea el recuento En primer lugar la la l nea est desacti vada Esta es la misma superficie que se utiliz para los detalles pero podemos volver a utilizarlo para que muestra la cuenta si nos gusta Por supuesto cuando nos movemos espacios en blanco para OREC lo hacemos de una longitud de 40 s lo para no destruir el CR LF De lo contrario tendr amos que recordar para mover X 0D25 a OREC 40 2 Se aleja una descripci n de la cuenta Observe c mo un etiqueta larga fue usado con XXX indica que el semestre se van y que indica BZZ9 cuando el recuento se ir n Que no es nece sario hacerlo de esta manera Me parece que esta t cnica a ser muy util ya que es un poco auto documentado Esto es particularmente importante si vamos a utilizar el desplazamiento expl cito y longitud como se muestra arriba Sin embargo la siguiente es funcionalmente equivalente y probablemente m s com nmente utilizadas MVC OREC 6 7 C Sem MVC OREC 14 3 HOLDSEM MVC OREC 18 4 X 40202120 ED OREC 18 4 SEM MVC OREC 23 8 C sections Despu s de haber utilizado la linea de detalle de esta manera debe mos recordar que limpiar despu s de nosotros mismos que es decir una vez m s espacios en blanco para mover OREC 40 Usted podr a sentirse inc
256. Masters In 10 Old Masters Deleted 10 Old Masters Deleted 6 Old Masters Changed 5 Old Masters Changed 7 New Masters Added 15 New Masters Added 8 New Masters Out 60 New Masters Out 12 4 En el programa de ejemplo BQSFU MLC asumimos un campo en blanco en una transacci n de cambio de indic que el campo correspondiente en el registro maestro no debe ser cambiado Pero C mo nos indican que un campo debe ser cambiado a los espacios en blanco Por ejemplo podemos sabemos que un cliente se ha mudado a una nueva ciudad pero no sabemos el nuevo c digo postal Uno soluci n com n a este tipo de problemas es la designaci n de algunos caracteres especiales tales como signo de d lar que si se encuentra en la primera posici n de un campo en el registro de transacciones indica que los espacios en blanco deben ser trasladados al campo correspondiente en el registro maestro Cambiar el programa de la muestra para incluir esta caracter stica Prueba con las siguientes operaciones 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 changed 12111 2211 APRICOT MODESTO C 41499 D 55123AMBROSE FRANK 220 BARRETT ROCKFORD IL61103 A 61627QUALLS CHERYL 201 N EIGHTH WHITTIER 90605 81228 D new 81997 KEVEN WEST CHGO IL60185 C 82446AMICCI BRUNO 17397 BARCELON CORVALLIS OR97330 A 304 12 3 KXARICIQIOSI2 CUENCIAL DEL ARCHIVO DE ACTUALIZACI N 5 In the sample program BQSFU MLC deleted records were phy
257. NTO Ak kkk kk k k 3k akak ak ak ak ak ak k 2k 3k k 3k 2k ak ak ak ak k 3K k 3k 3k 2k ak ak ak k 2K 3K 2k 3K 2k 2k k ak 2k K 3K 2K 3K 2K 2k 2k K 2k gt K 2K 2K 2K R K WRITE Write a single output record kkk kk k PK 5k akk ak k ak ok 2k 9k ok ke KOR KOR KOR 3K 2K 2k k K OR K OR OR OK gt K K WRITE EQU ST R10 SVWRITE PUT GRADEOUT SORTREC AP 4OUT P 1 L R10 SVWRITE BR R10 YK k ok ok ok sk sk 3k akak ak K k k ak ak ak ak 3k 3k 3K 3k 3K ak aK aK ak ak 3K 3K 3K 3K I I I 3K aK ak OR I OROR 3K 3K 3K 3K a K R KOR A A AC Ak 3K K K KR K K WRAPUP Those things which happen one time only after all records have been processed kokck kk kkk kk k k 5k 5k 5k sk ok ak k OR k ok ke k 3k 9k Ok ak R OR KOR 3K 2K 2k kk k K OR OR OK gt K K WRAPUP EQU ST R10 SVWRAP CLOSE GRADEIN CLOSE GRADEOUT ED MSG OUT OUT WTO MSG L R10 SVWRAP BR R10 Literals if any will go here IAB IA LTORG KIKI A IA KK File definitions Note is common DOS extension for temporary file Yk 3k sk 5k sk 5k ok kk PK 2k 3k akk ak k ak ak ak k 3k 3k k 3k 2k ak k ak ak 2k 3K 2k 3k 3k 2k ak ak ak k 2K 3K 2k 3K 2k ak KOR R O
258. NVENTRY DCB LRECL 41 RECFM F MACRF G EODAD ATEND DDNAME COGS DAT REPORT DCB LRECL 67 RECFM F MACRF P DDNAME REPORT TXT BAA ooo oook RETURN ADDRESSES BEA eddie k k k kkk kkk OR R search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 K K FK K KK FK FK K ok ok ok K K FK FK K KK oe oe ook ok FK ok FKK ok KOR KOR FK K ok FK ok FK ok FK FK FK K FK KOR FK R OK R OR Miscellaneous field definitions EEEE sk oR PK K kok Kok oR OR EE E EEE EE E kk KOK k kkk kk kk kk kkk k kkk kkk kkk K WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N BLANKS DC CL67 gt WCALIF DC PL2 0 Units sold in Calif WILL DC PL2 0 Units sold in Illinois WUTAH DC PL2 0 Units sold in Utah WWISC DC PL2 0 Units sold in Wisconsin WTOTAL DC PL2 0 Units sold in all states 214 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR WBEGIN DC PL2 0 Beginning inventory WPURCH DC PL2 0 Purchases WENDING DC PL2 0 Ending inventory expected WQOH DC PL2 0 Ending inventory actual WDIFF DC PL2 0 Difference DC PL2 0 Input record count OVER DC PL2 0 Records showing overage SHORT DC PL2 0 Records showing shortage WMASK DC X 40202120 BZZ9 WMASK2 DC X 4020202060 BZZZ FEA AC kkk k ok kkk ok ok kk k I ICI ak A kk k k k kk k k KK A A R KOR R K R kk K A k K 2K K K Input record definition BEA AC CA I kk k ok I kkk a k kk k k kk k
259. Nota este programa es una modificaci n de COGS9B MLC que produjo el mismo in forme de la coma decimal por zonas de archivo El registro de entrada contiene medias palabras por lo que debe ser half word alineados al igual que cuando la El registro fue creado DS OH Force halfword alignment IREC DS OCL28 1 28 Inventory record La LRECL del archivo de entrada DCB debe coincidir con la duraci n se muestra en el disefio de registro de entrada 28 INVENTRY DCB LRECL 28 RECFM F MACRF G EODAD ATEND DDNAME COGS BIN El archivo de entrada se cre en forma EBCDIC por lo que omite la in strucci n de OI que estamos acostumbrados a ver antes de la instrucci n OPEN OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII 356 14 7 MUESTRA DEL PROGRAMA DISCREPANCIAS INFORME DE INVENTARIO DEL ARCHIVO BINAR DULO 14 BINARY ARITHMETIC OPEN INVENTRY NOTE Input in EBCDIC OPEN REPORT Todos los c lculos se hacen en binario Vea la secci n de formato Usamos cuatro registros de estos c lculos Podr amos haber utilizado los reg istros de menos si hubi ramos estado dispuestos a almacenar algunos los resultados intermedios Deber a ser evidente al examinar el c digo en la secci n de formato que el c digo podr a convertirse en muy confuso con bastante rapidez El uso liberal de comentarios significativos es esencial El programa completo COGS14B MLC sigue 357 COGS14B
260. O 15 TABLA DE PROCESAMIENTO A MIN gt transcr1 TRANSCR1 Begin execution TRANSCR1 22 grade records reformatted TRANSCR1 Normal end of program A MIN gt sort 14 lt grade gt grade srt A MIN gt sort 1 lt student dat gt student srt A MIN gt sort 1 lt course dat gt course srt A MIN gt transcr2 TRANSCR2 Begin execution TRANSCR2 Transcripts on REPORT TXT TRANSCR2 Normal end of program A MIN gt type report txt TRANSCRIPT FOR 125 MORALES L A Semester Course Description Grade Hours Points F92 MA101 ALGEBRA F 3 0 W93 MA101 ALGEBRA 3 6 TOTAL 6 6 GPA 1 00 TRANSCRIPT FOR 263 HAVLIK Semester Course Description Grade Hours Points W92 PE151 AEROBICS 1 2 F92 PE151 AEROBICS B 1 3 W93 PE151 AEROBICS A 1 4 TOTAL 3 9 GPA 3 00 TRANSCRIPT FOR 402 FOOTE A K Semester Course Description Grade Hours Points TOTAL 0 0 GPA 0 00 TRANSCRIPT FOR 421 QUALLS G E Semester Course Description Grade Hours Points F92 EG101 ENGLISH I B 3 9 W93 EG102 ENGLISH II A 3 12 TOTAL 6 21 GPA 3 50 383 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITULO 15 TABLA DE PROCESAMIENTO TRANSCRIPT FOR 626 MERCIER J L Semester Course Description Grade Hours Points W92 EG102 ENGLISH II A 3 12 TOTAL 3 12 GPA 4 00 TRANSCRIPT FOR 701 ARIAS I L Semester Course Description Grade Hours Points F92 MA101 ALGEBRA B 3 9 F92 PE151 AEROBICS A 1 4 W93
261. OC3 Master low BAL R10 MATCH Otherwise a match was found B PROCESSX PROC2 EQU No master for this transaction BAL R10 TRANSLOW B PROCESSX PROC3 EQU No transaction for this master BAL R10 MASTLOW PROCESSX EQU L R10 SVPROC BR R10 a kkk kk k k 3k akk ak k k k k k 2k akk ak 2k ak k ak k 2k 3K 2k 3k 3k 2k k 2k ak k 2K 3K 2k 3k 2k 2k k k k 2K 3K 2K 3K 2k 2k k k k k 2K OR 2K OR K MASTLOW No updates for this master record Just write this record and go to next lt gt lt KK K K KK ale K X K K 2K ok ok ok ok ok ok K 9 KK 2K ok oko ok ok ale K ok K K ok 2K FK 2K ok ok ale K ok K K K K ode 2K K K 2K X K K K K ale MASTLOW EQU ST R10 SVMSTLOW MVC OREC IREC Move input to output BAL R10 WRITENEW Write new master record BAL R10 READMST Read next master record L R10 SVMSTLOW BR R10 BE AC COR ok 5k oR 9k I kkk A ICI k k kkk k k k kk k R KOR k A K KOR K R A kK k K MATCH Transaction for existing master record FEA 5k sk 5k Pk ok IC ICI I OK kkk kkk k ACA I k k kk k k kkk k A k ak KOR R K MATCH EQU ST R10 SVMATCH CLI TACD ADD Attempt to add BE MATCH2 Can t do it already exists CLI TACD CHANGE Attempt to change BE MATCH3 OK to change existing record CLI TACD DELETE Attempt to delete BE MATCH4 OK to delete existing record BAL R10 BADCODE Error unrecognized code BAL R10 READTRN Read next transaction B MATCHX MATCH2 EQU Attempt to BAL R10 BADAD
262. OI FLD X 80 or OI FLD B 10000000 Ejemplo 2 Conecte un bit de FLD Todos los otros bits mantienen sin cam bios OI FLD X 40 or OI FLD B 01000000 Pero tenga en cuenta X 99 B 10011001 Cer X D9 B 11011001 CR As Ejemplo 2 ilustra c mo podemos cambiar una letra en min sculas a may sculas 430 17 2 EL OI NI YOARVEUNOTIRUGCNOWEB DE BITS DE OPERACIONES Ejemplo 3 Conecte bits cero uno dos y tres de FLD OI FLD X FO or OI FLD B 11110000 Asi Ejemplo 3 ilustra un m todo por el cual podemos quitar el signo de un despu s de un n mero UNPK intenta 1 Escriba las instrucciones para girar a la derecha la mayoria de los bits en el primer byte de FLD 2 Escriba las instrucciones para activar bits de dos y tres del ltimo byte de X Uso de la longitud de operador para indicar el ltimo byte de X 3 Ejemplo 2 muestra c mo se puede cambiar una letra min scula a may s cula Qu pasa si el byte en el cuesti n contiene un n mero es decir X F0 a trav s de X F9 Qu efecto si lo hubiere el OI la instrucci n como se muestra en la que han byte 4 Ejemplo 3 muestra c mo se puede quitar el signo de un n mero despu s de una UNPK Qu instrucci n hicimos antes de su uso para hacer esto Cu l es la longitud de estas instrucciones Por qu podr a este m todo OT se prefiere en la otra Ejemplo7 4 Apague los bits de la izquierda y la derecha de la FLD NI FLD X
263. OINAME DS 15 WTOIDEG DS CL4 DC CL1 WTOMSG2 DS OCL47 DC CL21 TEACH15A Output lt WTOONAME DS CL25 DC CL1 akk k I 9k akak ak PK K ak ak 3k 3k ak 3K A 3K 3K ak I I 1 1 21 21 21 21 3K K K K R KOR K K K 3K KOK KKR K K K K Input record definition Teacher 381 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITULO 15 TABLA DE PROCESAMIENTO DO gt lt K KK KK K K K FKK FK K K FK FK K K FKK FK K FK FK FK FK K FK FK Rd OK OK KK TREC DS OCL29 1 29 Teacher record TTID DS CL3 1 3 Teacher ID nbr TTNAME DS CL15 4 18 Teacher name TTDEG DS CL4 19 22 Highest degree TTTEN DS CL1 23 23 Tenured TTPHONE DS CLA 24 2T Phone nbr TTCRLF DS CL2 28 29 PC 370 only CR LF END BEGIN 15 5 Muestra del Programa la producci n de transcripciones Vamos a incluir otros dos programas en este cap tulo Nuestro objetivo es producir las transcripciones de todos los los estudiantes de la pequena ciudad universitaria de la Comunidad Con el fin de hacerlo necesitamos los siguientes los campos de los siguientes archivos ESTUDIANTES DE GRADOS DEL CURSO Las transcripciones ser n producidos en los De secuencia de identificaci n para que el estudiante y los archivos GRADO tendr que ser ordenados en conse cuencia Anexar especie clave para grabar en Adem s para cada estudiante los cursos permiten ordenar por identificaci n del estudiante semestre carta del aiio semestre des
264. OLDDEPT dentro de la rutina de instalaci n despu s de la imprimaci n l ase 10 4 2 La producci n de OFFER10C MLC Ejemplo de nivel m ltiple romper el control de COURSE OFFERINGS Page 1 Semester W92 Course Section Teacher EG102 1 732 MA107 1 218 PE151 1 574 Sem W92 3 sections 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE COURSE OFFERINGS Page 2 Semester F92 Course Section Teacher AC101 1 218 BU101 1 218 EG101 1 732 EG101 2 732 Dept EG 2 sections MA101 1 626 COURSE OFFERINGS Page 3 Semester F92 Course Section Teacher MA101 2 626 Dept MA 2 sections PE151 1 574 Sem F92 7 sections COURSE OFFERINGS Page 4 Semester W93 Course Section Teacher EG102 1 854 101 1 626 MA107 1 626 Dept MA 2 sections PE151 1 574 Sem W93 4 sections BAL R10 READ MVC HOLDSEM ISEM Major control break MVC HOLDDEPT IDEPT Minor control break Como se procesa cada registro vamos a comprobar si hay cambios en el semestre o el departamento Desde que este es un hecho de verificaci n para cada registro que estar dentro de la rutina PROCESO Vamos a invocar a CHKSEM para ver si el semestre ha cambiado e invocar CHKDEPT para ver si el departamento ha cambiado Es importante se alar que un cambio en e semestre implica un cambio en el departamento Para ejemplo si el departamento que figuran en el ltimo semestre fue W92 PE y el p
265. OSA DE LA IZQUIERDA f Mostrar el c digo objeto si esta l nea se ha cambiado a MVC Y X g Mostrar el c digo objeto si esta l nea se han cambiado a la CVX X Y h Mostrar el c digo objeto si esta l nea se han cambiado a la CVX Y 3 X 1 4 Ejercicios 4 a Llene los espacios en blanco l neas 15 21 y 27 STUFF6B PAGE PC 370 CROSS ASSEMBLER OPTIONS LXACE LOC ADR1 ADR2 LINE LABEL OP 000000 1 BEGIN 000000 2 STUFF6B CSECT 000000 3 USING 000000 47 0 058 0058 4 000004 DC 000005 E2E3E4C6C6F6C240 6 DC 000010 0000000000000000 7 20 001 DC 000058 90ECDOOC 000C 8 KZHQX001 STM 00005 50DOF014 0014 9 ST 000060 18ED 10 LR 000062 4100 010 0010 11 LA 000066 0 008 0008 12 ST 00006A 13 DROP 00006A 14 USING 00006A D201D086D088 0096 0098 15 MVC 000070 92F9D08D 009D 16 MVI 000074 95D3D086 0096 17 CLI 000078 4780D07C 008C 18 niis 00007C D501D086D08D 0096 009D 19 000082 4740D07C 008 20 BL 000086 D203D08DD088 009D 0098 21 00008 0000008C 22 W EQU 00008C 23 RETURN 00008C 58DD0004 0004 24 E 000090 98ECDOOC 000C 25 LM 000094 O7FE 26 BR 000096 1 2 27 X DC 000098 D3D4D5D6D7 28 Y DC 00009D D8D9E2E3 29 Z DC 0000A8 30 END 140 OPERANDS 15 KZHQX001 AL1 11 CL11 STUFF6B gt 18F 0 14 12 12 13 13 HZQKX001 4 14 13 13 70 001 13 8 0 14 15 70 001 13 she Z ic EOS G 21 2 W X Z Zn 13 4 13 14 12 12 13 14 2 2 C
266. OSP TULO 6 QU ES ESTA COSA DE LA IZQUIERDA 000000 3 USING 15 000000 47FOF058 0058 4 B 2 0 001 000004 DC AL1 11 000005 E2E3E4C6C6F6C540 6 DC CL11 STUFF6E 000010 0000000000000000 7 70 001 DC 18F 0 000058 90ECDOOC 000C 8 KZHQX001 STM 14 12 12 13 00005 50DOF014 0014 9 ST 13 HZQKX001 4 000060 18ED 10 LR 14 13 000062 41DOF010 0010 11 LA 13 HZQKX001 000066 50DOE008 0008 12 ST 13 8 0 14 00006 13 DROP 15 00006 14 USING HZQKX001 13 00006 D501D07FD081 008F 0091 O A an 000070 4720D072 0082 Oa Mcr E 000074 D201D081D07C 0091 008C 66 mtem 00007A 92F2D081 0091 48 07 ee ee 00007E 47FODO5A 006A 19 ae 000082 00000082 20 Q EQU 000082 21 RETURN 000082 58DD0004 0004 22 L 13 4 13 000086 98ECDOOC 000C 23 LM 14 12 12 13 00008A OTFE 24 BR 14 00008C F1F2F3 25 T ux _ cL 00008F F3F3 2019 eee Nes 000091 F3F3 26d bssan 000098 28 END b Usted es el equipo cu les son los valores de T S y R despu s de este programa corre 143 Capitulo 7 Bolsas de aritm tica decimal Objetivos Al t rmino de este cap tulo usted ser capaz de Dado un campo en hexadecimal identificar la zona y los bits num ricos Dado un n mero decimal por zonas muestran su representaci n hexadec imal Dado un n mero decimal por zonas paquete de ese n mero y mostrar la representaci n hexadecimal de que colmaron el n mero Dado un n mero de pic nic
267. Output record definition Grade w sort key BEA AAA AAR 9k 9k 9k ACA A SORTREC DS OCL26 1 26 Sort record SORTDATA DS CL13 1 13 Grade record without CRLF SORTKEY DS OCL11 14 24 Sort key including SORTSID DS CL3 14 16 Student ID nbr SORTSEM DS CL3 17 19 Semester recoded SORTCID DS CL5 20 24 Course ID nbr SORTCRLF DS CL2 25 26 PC 370 only CR LF END BEGIN 388 389 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITULO 15 TABLA DE PROCESAMIENTO Output from TRANSCR1 MLC GRADE Input to TRANSCR1 MLC GRADE DAT 626W92EG1021A 896W92PE1511A 263W92PE1511C 896F92AC1011C 896F92BU1011C 896F92EG1011A 713F92EG1012C 421F92EG1012B 713F92MA1011B 896F92MA1011B 125F92MA1012F 701F92MA1012B 263F92PE1511B TO1F92PE1511A 713W93EG1021B 421W93EG1021A 896W93EG1021B 125W93MA1011C 713W93MA1071B 896W93MA1071A 701W93MA1071D 263W93PE1511A Input to TRANSCR2 MLC 626W92EG1021A626921EG102 896W92PE1511A896921PE151 263W92PE1511C263921PE151 896F92AC1011C896922AC101 896F92BU1011C896922BU101 896F92EG1011A896922EG101 713F92EG1012C713922EG101 421F92EG1012B421922EG101 713F92MA1011B713922MA101 896F92MA1011B896922MA101 125F92MA1012F125922MA101 701F92MA1012B701922MA101 263F92PE1511B263922PE151 701F92PE1511A701922PE151 713W93EG1021B713931EG102 421W93EG1021A421931EG102 896W93EG1021B896931EG102 125W93MA1011C125931MA101 713W93MA1071B713931MA107 896W93MA1071A896931MA107 701W93MA1071D701931MA107 263W9
268. PK2 Por supuesto seria bueno tener una manera facil de incluir estos campos de la divisi n en un programa de sin introducir ellos o copiar de otro programa Bueno ah est Podemos hacer uso de PC 370 s funci n de copia Simplemente crear un archivo que contiene las instrucciones que desea copiar Esto archivo debe tener la extensi n CPY Aqu est mi DIVISION CPY Kok k sk ok lotojokak This is DIVISION CPY BQ s Easy Divides Usage COPY DIVISION with COPY in column 10 Kok k 3k ok ok ok sk OKO DIVIDEND DS OPL16 QUOTIENT DS PL8 REMAINDR DS PL8 DIVISOR DS PL8 Luego en mi programa la Divisi n 1 COPIA tipo con copia en la columna 10 En el tiempo de montaje el archivo de con ese nombre y extensi n CPY se fusion con el MLC archivo que es la entrada a la M370 programa creando el archivo ALC archivo que entra en el programa A370 Nota los miembros de copia no pueden contener macros o miembros de la otra copia el programa no M370 de verificaci n de anidado declaraciones COPIA o macros en las declaraciones de copia 325 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL son tiles no s lo para las definiciones de campo com n de este tipo pero para los dise os de registro de COPIA como as Por ejemplo puedo crear COGS CPY como
269. PL3 0 Sum inistro de las instrucciones para dividir x por y dando Z igual a X 00567C que representa 5 67 R4 R5 1 9 Teniendo en cuenta Un F 20 DC DC F 42 B y C DC PL3 0 Suministro de las instrucciones para dividir A por B da C igual a X 00048C que representa el 48 Sugerencia 20 000 42 476 R8 R6 R7 Para ilustrar estos conceptos se presentan dos programas COGS16A MLC y COGS16B MLC que se son modificaciones de COGS13A MLC y COGS13B MLC respectivamente Estos programas fueron presentados en el cap tulo 13 COGS16A MLC determinar las ventas en d lares a nivel nacional para las Industrias Dind n mientras que COGS16B MLC elaborar un informe que muestra la contribu ci n de California a las ventas Ambos programas se leer COGS BIN que es el equivalente binario a COGS DAT COGS BIN fue creado por COGS14A MLC como se muestra en el cap tulo 14 El listado de programas de seguimiento Los cambios en las versiones anteriores han sido sombreado La ejecuci n y la salida no se muestran como son los mismos que se muestran en el cap tulo 13 417 R4 R5 R6 R7 418 16 4 PROGRAMA DE EJEMPLO LAS VENTAS EN DOLARES A NIVEL NACIONAL DINDON S CAP TULO 16 MAS ARITM TICA BINARIA 16 4 Programa de ejemplo las ventas en d lares a nivel nacional Dind n s COGS16A MLC 418 PRINT NOGEN SOO CO OO OR I KOR kk kk k kkk kk kk 2k FILENAME COGS16A MLC AUTHOR Bill Qualls
270. PORT 10 X 08 TEACHERS REPORT REPORT HD1 REPORT HD2 REPORT HD3 REPORT HD4 TEACHERS IREC ITTEN C gt Y LOOP OTID ITID OTNAME ITNAME ITDEG CL4 gt PHD YESPHD OPHD C N OTHERS OPHD C Y gt 0517 CL4 517 OTPHONE ITPHONE OCRLF WCRLF REPORT OREC 86 Begin execution PC 370 ONLY Convert all input from ASCII to EBCDIC PC 370 ONLY Convert all output from EBCDIC to ASCII Read a single teacher record Is teacher tenured No then skip this record Move teacher ID Nbr to output Move teacher Name to output Highest degree PhD Yes branch No Show PhD N Branch around YES logic Highest degree is PhD so Show PhD Y Continue moving other fields All phone nbrs begin w gt 517 Move phone nbr to output PC 370 ONLY end line w CR LF Write report line 3 6CSRMIPLD BROERANBAL COMPARACI N DE CAR CTER FIELDS B LOOP EOJ processing ATEND CLOSE TEACHERS CLOSE REPORT WTO TEACH3A Teacher list on REPORT TXT WTO gt TEACH3A Normal end of program Epilogo 26a File definitions TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT Miscellaneous field definitions WCRLF DC gt 0025 gt PC 370 ONLY EBCDIC CR LF Input record definition TEACHER IREC registro de entrada 44 Output line definition OREC DS OCL62 OTID DS CL3 Teacher ID nbr DC CL3
271. PROCESSX No then skip this record BAL 10 FORMAT Otherwise format report line BAL 10 WRITE and write report line PROCESSX EQU BR 10 FECA kk I PK oR 9k 9k I ok ok PK A ok ok 21 3 9k a READ A RECORD CGI I ok ok PK A A 9k SKOR 4 4 21 21 1 3 4 24 RR 3 kkk kk kkk kkk kkk k kkk READ EQU GET TEACHERS IREC Read a single teacher record BR 10 Yk 3 sk ok ok ok ok ok ok 5k I Pk oR 9k 9k I CK A ok 1 24 24 21 1 kkk kk kkk kkk kkk k kk FORMAT A LINE KK FK FK K FK RR oe oe OK K OK OK FORMAT EQU MVC OTID ITID Move teacher ID Nbr to output MVC OTNAME ITNAME Move teacher Name to output CLC ITDEG CL4 PHD Highest degree PhD BE YESPHD Yes branch MVI OPHD C N No Show PhD N B OTHERS Branch around YES logic YESPHD EQ Highest degree is PhD so MVI OPHD C Y Show PhD Y OTHERS EQU Continue moving other fields MVC 0517 CL4 517 All phone nbrs begin w 517 MVC OTPHONE ITPHONE Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF EEEE o o oo kkk kk kk kk kkk kkk kkk k kkk WRITE A LINE aooo oo ooo kkk kk kk kk kkk kkk kkk k kkk WRITE EQU PUT REPORT OREC Write report line BR 10 Pero esto no funcionar Cuando se invoca un m dulo la mayor a de idiomas como el COBOL y PERFORM BASIC GOSUB utilizan una pila a fin de que las invocac
272. PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE 10 1 Single Level Control Break Problema de programaci n Observe que el informe anterior es en la secuencia semestre Vamos a mod ificar el informe de modo que s lo hay un semestre por p gina Debido a que habr s lo un semestre por p gina ser a redundante que incluyen el semestre en las l neas de detalle as que vamos a dejar que la columna y mostrar el semestre en el partidas en su lugar Adem s vamos a mostrar un recuento del n mero de secciones en un semestre en la final de la cada semestre El nuevo informe aparecer como sigue COURSE OFFERINGS Page 1 Semester W92 Course Section Teacher EG102 1 732 MA107 1 218 PE151 1 574 Sem W92 3 sections COURSE OFFERINGS Page 2 Semester F92 Course Section Teacher 101 1 218 BU101 1 218 EG101 1 732 EG101 2 732 MA101 1 626 MA101 2 626 PE151 1 574 Sem F92 7 sections COURSE OFFERINGS Page 3 Semester W93 Course Section Teacher EG102 1 854 MA101 1 626 MA107 1 626 PE151 1 574 Sem W93 4 sections 227 10 2 SINGCAH EVED CONQROIBRRHNKLALDOGIAA DE CONTROL DE 10 2 Single Level Control Break L gica Los cambios necesarios para producir este informe es la siguiente 1 Compruebe si hay un cambio en el semestre Con el fin de ver si el semestre en un registro difiere de el semestre en el registro anterior tendremos una variable en donde se puede mantener la semestre d
273. PUP GOBACK PROCESS A RECORD PERFORM READ A RECORD IF extract criteria met PERFORM FORMAT A RECORD PERFORM WRITE A RECORD READ A RECORD READ TEACHER FILE INTO WS TEACHER RECORD AT END GO TO AT END OF FILE Es m s com n en un programa en COBOL para utilizar un fin de archivo in terruptor Tambi n es com n que incluya un resanador leer como la ltima instrucci n dentro de la configuraci n y otra leer como la ltima instrucci n de el p rrafo PROCESO Esto se ilustra en el segmento de programa siguiente WORKING STORAGE SECTION 01 WS MISC 05 END OF FILE SW PIC X 1 VALUE N 88 END OF FILE VALUE Y PROCEDURE DIVISION MAINLINE PERFORM SETUP PERFORM PROCESS A RECORD UNTIL END OF FILE PERFORM WRAPUP GOBACK SETUP PERFORM READ A RECORD 110 4 1 COOKPETIRIAT ION OHO GEIR UCMRAPRU IP SEEKOQNBASMA DE BAL PROCESS A RECORD IF extract criteria met PERFORM FORMAT A RECORD PERFORM WRITE A RECORD PERFORM READ A RECORD READ A RECORD READ TEACHER FILE INTO WS TEACHER RECORD END MOVE Y TO END OF FILE SW FORMAT A RECORD No podemos igualar este en BAL pero podemos acercarnos El BAL problema es que no tiene 111 search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 113 157 164 187 207 211 223 232 241 BAL R10 SETUP MAIN EQU CLI EOFSW C Y BE EOJ BAL R10 PROCESS B MAIN EOJ EQU BAL R10 WRAPUP kkk k kak k I 3K 9k IORI 9k 9k 9k I 3K 3K 3K ak I I I Ik 9k 3K 3K 3K 3K
274. Product description 424 16 6 EJERCICIOS CAPITULO 16 MAS ARITMETICA BINARIA DS CL7 11 17 OTOTAL ODS CL4 18 21 Units sold Nationwide DS CL9 22 30 OCALIF ODS CL4 31 34 Units sold in Calif DS CL8 35 42 OPCT DS CL4 43 46 Percent sales from Calif DS CL14 47 60 OCRLF DS CL2 61 62 PC 370 only CR LF FAA A R OR R RO 9k 9k 9k 9k A A ACA I I I 1 1 SR Headings definitions BEA A R R OR KOR 9k A 9k 9k ACA A ACI I OR ORO HD1 DS OCL62 DC CL60 COGSWORTH INDUSTRIES DC XL2 0D25 HD2 DS 0CL62 DC CL60 California s Contribution to Sales DC XL2 0D25 HD3 DS OCL62 DC CL60 gt DC XL2 0D25 HD4 DS OCL62 DC CL40 Nationwide California DC CL20 Percent of DC XL2 0D25 HD5 DS OCL62 DC CL40 Product Sales Sales DC CL20 National gt DC XL2 0D25 HD6 DS OCL62 DC CL4O 722A C Sees DC CL20 2 DC XL2 0D25 END BEGIN 16 6 Ejercicios 1 Verdadero o falso a es incluso un par impar de registros F T RA R3 b Todas las instrucciones de multiplicaci n binaria utilizar al menos un registro c El primer operando de una instrucci n M debe especificar el registro de un extrano F T incluso par impar 425 16 6 EJERCICIOS CAPITULO 16 MAS ARITMETICA BINARIA d El primer operando de una instrucci n debe especificar la MH incluso registro de un F T incluso par impar A ra z de una instrucci n M el producto va a ocupar incluso un par impar de F T reg
275. Programacion 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 Indice general 1 Primeros pasos con PC 370 11 1d Instalaci n eee ed k da Pott 12 1 2 Nuestro primer programa 370 13 1 8 Creaci n de conjuntos de datos de 370 17 1 4 Nuestro Primer Programa de Procesamiento de archivos 23 Ejercicios 5205222 m n ee EE Ru ecc RTL 33 2 Definici n y movimiento de Car cteres 36 2 1 Definir y movimiento de Datos de Car cter 37 2 2 Definir y mover literales alfanum ricos s 47 2 2 1 La Instrucci n 52 2 2 2 Valores equiparados 55 2 3
276. R KOR 3K 2K 2k 2k 2k gt k OR OR OR OK R K GRADEIN DCB LRECL 15 RECFM F MACRF G EODAD ATENDGRA DDNAME GRADE DAT GRADEOUT DCB LRECL 26 RECFM F MACRF P DDNAME GRADE lt 2K K K ok ok ok ok 2K K ok 2K KK K 2K 2K 2K ok 2K 2K x x x K K K X K K K X X K K K K K K K K K K K K K K K K K K ale K RETURN ADDRESSES BAA AAA AA I I I I ORO 21 21 24 OR OR R SVSETUP DC F 0 SETUP SVPROC DC F gt 0 PROCESS SVREADG DC READCOUR SVWRITE DC F 0 WRITE SVWRAP DC F 0 WRAPUP SVFORMAT DC F 0 FORMAT EEEE Eoo ooo ooo oook 2k 2k 2k R kkk kkk Miscellaneous field definitions BEA A R R R ooo ooo kkk kkk WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF 387 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITULO 15 TABLA DE PROCESAMIENTO EOFGRADE DC CL1 N End of grades file Y N HOUT DC PL2 0 MSG DS 0 1 43 DC CL12 TRANSCR1 MSG OUT DC XL4 40202120 DC CL27 grade records reformatted BEA AAA ARACEAE A ACA I I OR OR RR 21 21 1 2 OR K R Input record definition Grade BEA AA AARC A I A A GREC DS OCL15 1 15 Grade record GSID DS CL3 1 3 Student ID nbr GSEM DS CL3 4 6 Semester GCID DS CL5 7 11 Course ID nbr GSECT DS CL1 12 12 Section number GGRADE DS CL1 13 13 Grade earned GGCRLF DS CL2 14 15 PC 370 only CR LF kkk OR OK R
277. R Y WTO MESSAGE MVI LETTER Z WTO MESSAGE RETURN DS OCL24 DC CL22 DATABA Letter is lt LETTER DC CL1 gt DC CL1 W EQU X EQU Y EQU B 11000001 Z EQU 193 END BEGIN A MIN gt m370 databa A MIN gt a370 databa lx A MIN gt 1370 databa lx A MIN gt data5a DATA5A Letter is lt A gt DATA5A Letter is lt A gt DATA5A Letter is lt A gt DATA5A Letter is lt A gt 125 5 4 ARITM TICA BINARIMP TULO 5 REPRESENTACI N DE DATOS 5 4 Aritm tica binaria miramos Adem s s lo es realmente muy simple Es muy similar a la suma decimal excepto que usted tiene que recordar que igual que llevar a la cada vez que llegue a las diez de decimales Adem s se llevan una cada vez que llegue a las dos de la adicci n binaria Por ejemplo 1 11010 1011 1 0 1 1 gt no desbordamiento 1 2 11010 1011 01 1 1 2 gt 2 no es un d gito v lido introduzca 0 y llevar el 1 3 11010 1011 101 1 O O 1 gt no desbordamiento 4 11010 1011 0101 1 1 2 gt escriba 0 y llevar el 1 5 11010 1011 100101 1 1 2 gt escriba O y llevar el 1 La respuesta es 11010 2 1011 2 100101 2 Si usted convertir esos valores en decimal ver este es equivalente a 26411 37 Usted probarlo 17 10101 2 1101 2 ____________ 2 18 11011 2 11011 2 ____________ 2 19 10011011 2 11110001 2 2 5 5 Aritm tica hexadecimal Aritm tica he
278. R6 P I Mover un lleno hasta los cuatro bytes situado m s all de seis bytes 6 registro donde est se alando Al igual que en la nota anterior 6 es el el desplazamiento 4 es la longitud y R6 es el registro El ZAP comando requiere un operador de longitud para ambos operadores por lo tanto el 4 Valores por defecto P 1 a una longitud de uno El c digo para imprimir la tabla es la siguiente Esta es probable que aparezcan en alg n lugar dentro de la Wrapup secci n del programa LA R6 TITLES Point R6 to start of table R7 TTLS Nbr table entries to R7 CH R7 H 0 No entries yet BE DONE Then no titles to print LOOP EQU BAL R10 CHKLNS Check for full page MVC OTITLE 0 R6 Move title to output MVC OCOUNT X 40206B2020206B202120 ED OCOUNT 6 R6 Edit count to output BAL R10 WRITE Write line LA R6 L TITLES R6 Point to next row BCT R7 LOOP Repeat for all titles DONE EQU intenta 1 5 Qu cambios deben introducirse en la definici n de tabla y segmentos de programa para permitir a 200 t tulos diferentes 2 6 Qu cambios deben introducirse en la definici n de tabla y segmentos de programa para permitir la los t tulos hasta el ocho bytes de longitud 3 7 Qu cambios deben introducirse en la definici n de tabla y segmentos de programa si el recuento de fueron cambiados de PL4 0 relleno de H0 binario Nota la tabla debe ser halfword alineados Cada cargo ser a autom tica
279. RAMACION LA PRODUCCION DE LA CR NICA DE VEN ASITULO 7 BOLSAS DE ARITM TICA DECIMAL BR R10 kokkekekekekekeleleekeeekekekekekekkeketoleleleleleleejejejekekekekekekkekelelolololokelejejejejekekekekelelelelelelelek WRITE Write a single detail line ok sk sk ok sk ok ok ke ok ke PK 5k joke ke ok OR k ak ok ke 3k 3k 3k 2k 2k ak ak ak K 3K 3K 3k 2k 2k 2k k ak k 2K 3K 2K 3K 2k 2k k ak k K 3K 3K 3K 3K 2K 2k 2K K K OR KOK R K search write REPORT from OREC no line counting SVWRITE return 106 k ok ak ak ak k 5k joke sk ok OR ak ak ok ke ke ke 5k 9k kk ok ok ok ke 3k ke Ok OR k ak ko ke ke ok ke k ak R K ee KOK R K WRAPUP Those things which happen one time only after all records have been processed OR ak ak ok K ok ke 3k ke 2k ak k ak R K KOR WRAPUP EQU ST R10 SVWRAP MVC OREC BLANKS MVC OCRLF WCRLF PC 370 only BAL R10 WRITE Skip a line MVC OREC 22 CL22 XXX records processed UNPK OREC 3 IN Count MVZ OREC 2 1 X FO Remove sign BAL R10 WRITE CLOSE INVENTRY CLOSE REPORT WTO gt 0657 Sales recap on REPORT TXT L R10 SVWRAP BR R10 BEC ok 5k PK ok ok 9k Pk ok ok 9k R ok OAR I IOI a I I CK AK a A IC IKK A kkk kkk k R kk K R kkk k kkk k K Literals if any will go here gt K 5k sk 3k skok sk 5k ok ok 5k PK oR ok 9k Pk ok ok 9k R ok ok 9k oR 9k 9k IO I kkk k R
280. RD 64 1 5 PK2 DBLWORD 240202120 2 422 Determine total units sold for this product R3 Nationwide Add nationwide so far and save it back Convert to packed for printing R5 California only Add California so far and save it back Convert to packed for printing Dividend will be in R4 R5 Divisor nationwide in R3 Quotient is in R5 16 5 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTAS DE CAPITULO 16 MAS ARITMETICA BINARIA MVI OPCT L OPCT PERCENT MVC OCRLF WCRLF PC 370 only L R10 SVFORM BR R10 READ Read record SEA AAA R KOR 9k 9k 9k A A A A 24 2k 2k R PK ok kk 2k 2k 2k 2k 2k OR OR R search read INVENTRY into IREC EOFSW SVREAD return 314 BEA AAA WRITE Write a single detail line SEA AAA OR Rok 9k 9k 9k 9k A A ACA I Ak ORO 21 24 24 2k k k 2k 2k 2k kkk OR R search write REPORT from OREC no line counting SVWRITE return 106 BEA A R OR R ARR A A I I I I I kk 2k 2k 2k 2k 2k 2k R KOR OK WRAPUP Those things which happen one time only after all records have been processed BEA AAA R KOR 9k 9k 9k A A A WRAPUP EQU ST R10 SVWRAP PUT REPORT HD6 MVC OREC BLANKS MVC ODESC 6 C TOTALS L R3 TTOTAL R3 Nationwide total CVD R3 DBLWORD Convert to packed ZAP PK2
281. RETURN EOJ y el xodo Nosotros usan en todos nuestros programas 26a Epilogo 26a 28 30 32 45 61 67 72 86 97 202 26b gt RETURN LTORG Este comando le indica al ensamblador para colocar cualquier lit erales generado aqu Los literales se genera cuando se utiliza una constante literal en lugar de la definici n de un campo con el mismo valor Yo siempre este lugar despu s de la VOLVER declaraci n La raz n para ello tiene que ver con addressibility algo que no vamos a discutir en este momento significa de control de datos de bloque 26b Epilogo 26a 28 30 32 45 61 67 72 86 97 202 lt 26a Literals if any will go here LTORG TEACHERS DCB Hay una DCB para cada archivo en el programa Dado que este DCB tiene una etiqueta de los profesores que ser el nombre de por la que me refiero a este DCB La macro DCB tiene muchos par metros pero normalmente s lo unos pocos de ellos se utilizan Son LRECL RECFM MACRF EODAD y DDNAME 26c TEACHERS DCB EODAD ATEND 26c 28 30 45 61 67 86 97 107 113 187 TEACHERS DCB LRECL 29 RECFM F MACRF G EODAD ATEND DDNAME TEACHER DAT 26 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 LRECL 29 significa l gico Longitud de registro El incluye el CR Lr LRECL LRECL discutido anteriormente l ase como forma REC sig nifica Record Format RECFMT F Formato de grabaci n RECFM podr a ser F fijo o V
282. ROL DE HDGS EQU ST R10 SVHDGS AP PGS P 1 Add 1 to page count MVC HDPGS X 40202120 Edit pattern for page count ED HDPGS PGS Move page count to heading PUT REPORT FORMFEED PC 370 ONLY MVC HDSEM HOLDSEM PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 PUT REPORT HD5 ZAP LNS P 0 Reset line count to zero L R10 SVHDGS BR R10 SEA AAA ARCA A A PROCESS Those things which happen once per record BEA AA AAA 9k 9k 9k A A A A I I I OR FOR 24 24 24 2k 2 R 2k 2k k k 2k 2k 2k 2k kkk kk PROCESS EQU ST R10 SVPROC BAL R10 CHKSEM See if new semester AP HSEM P 1 Count sections by semester BAL R10 CHKLNS BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 SAA AA ooo A A ACA I A OR ORO 21 24 24 2k 2 k 2k k 2k 2k 2k kkk kk READ Read a record k 5k sk sk skok sk 5k Pk ok 5k Pk oR ok 9k Pk ok ok 9k R ok I 5k OR a ICICI 5k a IKK a 1 kkk A A k k kk k kk kk kk kk k k search read OFFER into IREC EOFSW SVREAD return 222 gt K 5k sk sk skok 5k 5k 9k 5k oR 9k 9k OAR I CK a I ICI kkk kkk kkk k R kk K kk kk k k kk k K CHKSEM Check for change in semester control break FEA OOOO RA IC OAK kk search CHKSEM HOLDSEM vs ISEM to ENDSEM SVCHKSEM 229 Add dll R OR R OR
283. S logic YESPHD EQU Highest degree is PhD so MVI OPHD C Y Show PhD Y OTHERS EQU Continue moving other fields MVC 0517 CL4 517 All phone nbrs begin w 517 MVC OTPHONE ITPHONE Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF PUT REPORT OREC Write report line PROCESSX EQU BR 10 BEA 5k 5k ok ok CA kkk kkk kkk KOR A k R kk A K kkk k k kk k K WRAPUP Those things which happen one time only after all records have been processed Add K KOR KOR KOR K R K ROR R K FK K R OK R OK WRAPUP EQU CLOSE TEACHERS CLOSE REPORT gt Teacher list on REPORT TXT WTO BR 10 Remainder of program is the same as TEACH3A MLC 102 4 1 COOKPETIRIAT ION GEIR OC WIR A DE BAL 4 1 1 La Revisi n de rutina PROCESO Programa de TEACH4A MLC contiene dos violaci nes m s grave de las normas de estructura de programaci n En primer lugar cada m dulo o funci n debe tener un nico objetivo bien definido Esta es la no es el caso con nuestro m dulo de proceso este m dulo se lee un registro se eval a que el historial de acuerdo a los criterios de extracci n formatos de una l nea de informe y escribe una l nea de informe A RR Rd dd OK OK OK PROCESS Those things which happen once per record gt K 3k sk ok ok 5k k ok AACR I OKI A ok 1 1 OR 4 4 1 2
284. S y DC para definir las l neas Nota Existen cuatro l neas de partida la segunda es los espacios en blanco Cada uno debe ser definida como 62 bytes desde LRECL 62 y Cada l nea de partida debe terminar con CR LF PC 370 solamente Hay muchas maneras de las partidas en formato La elecci n es simplemente una cuesti n de preferencia personal I mostrar varios de los m todos m s comunes as como el m todo que prefiera Me centrar en la tercera l nea de partida las t cnicas utilizadas se aplicar a las otras l neas tambi n Por lo general mi etiqueta partidas como HD1 HD2 etc Una t cnica para la definici n de lo anterior el tercero la partida es el siguiente ff 40 4 461 5 HD3 DS 0CL62 DC CL3 ID DC CL8 gt DC CL4 Name DC CL9 gt DC CL4 Degr DC CL2 DC CL3 Ten DC CL2 gt DC CL5 Phone DC CL20 DC XL2 0D25 64 Q N Q N FO 5 O O N No 62 65a 65b 65 2 4 AGRAP AR DOENCAREIBACI N DENOVININXTO DE CARACTERES Nota M s de un DC se utiliza para definir el t tulo por lo que HD3 es un DS no DC con un multiplicador de cero suma de las longitudes de campo es de 62 y de Posiciones 61 62 de la partida se define como un CR LF De vez en cuando se utiliza el m todo anterior pero cuando lo hago prefiero incluir las posiciones de impresi n como comentarios Esto mejora la manteni bilidad del programa ff 40 464 67
285. TDEG Move highest degree to output MVC OTTEN ITTEN Move tenure to output MVC Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF L R10 SVFORM BR R10 BEC 5k R oR ok 9k Pk CK KOR A I k kkk k k k kkk R R kk K kk kk k k kK k k CHKLNS Check lines printed Full page BEA IC ARORA 9k 5k IOI A ICI kkk kkk k K kk A kk kk k k kk k K search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 gt K 5k sk 3k skok sk 5k Pk ok 5k PK ok ok 9k CK AK a I ICI kkk kkk kkk k k kk K R OR kk kk kk k k WRITE Write a single detail line gt K 5k sk sk skok AC IC I I I I A 5k oR 9k a A ACI Ka A kkk kkk kkk kkk k R kk k R kk k k kk K k search write REPORT from OREC LNS SVWRITE return 185 FEA AC CA Pk ok ok PK k ok I 5k oR k I kkk kkk k kk kk k k kkk kk k kk k K kkk K R kk K R A kK k k WRAPUP Those things which happen one time only after all records have been processed BE k kkk k kkk k ok ok kk k k k kk ak k kk GK k kk k k k kk k k R 1 k 188 8 2 INCLUYENDO EL NUMERO DE PAGINA EN LAS LINEAS DE DEFINICION CAPITULO 8 LOGICA DE SALTO DE PAGINA WRAPUP EQU ST R10 SVWRAP CLOSE TEACHERS CLOSE REPORT WTO TEACH8A Teacher list on REPORT TXT L R10 SVWRAP BR R10 BEA ok ok 9k Pk ok ok 9k I I kkk k ICICI k k kk k kk kk k k K R
286. TEM PC 370 R4 2 REMARKS Demonstrate character moves FAG AAA RARER A A A A I I OR ORO k k k kkk kkk kk START 0 BEGIN BEGIN WTO IPHONE MVC OPFX IPFX MVI OHYPHEN C MVC OLINE ILINE WTO OPHONE RETURN Literals if any will go here LTORG Other field definitions IPHONE DS OCL7 IPFX DC CL3 555 ILINE DC CL4 1212 OPHONE DS OCL8 OPFX DS CL3 OHYPHEN DS CL1 OLINE DS CL4 END BEGIN 53 54 2 2 DECAGE VIO HREEINIXBIAINSS CAR CTERES out 54 A MIN gt move2c 5551212 555 1212 Si examinamos el archivo PRN se puede comparar a la PRN archivos pro ducidos por MOVE2A MLC y MOVE2B MLC podemos ver que La instrucci n de la MVI para mover el gui n s lo ocupa cuatro bytes frente a los seis bytes para el MVC la instrucci n Esto se puede ver mirando el c digo objeto que se muestra en formato hexadecimal ya la izquierda de la instrucci n en la lista PRN Es igual a 9260D0A2 Estos ocho hex d gitos ocupan cuatro bytes Esta es la cantidad de memoria requerida por todas las instrucciones de la MVI El valor de los literales en este caso es en realidad una parte de la instrucci n Si examinamos la de c digo objeto m s de cerca vemos que el segundo byte 60 en 9260D0A2 es el hexadecimal equivalente a un gui n Cuando un MVI se utiliza el ensamblador no genera un campo que se colocan despu s de la LTORG Ya que acabamos de ver no
287. TER CHANGE R10 WRITE CHANGED P 1 R10 SVCHGIT R10 12 2 6 Escribir nuevo Master nuevo MASTER Recordemos que el nuevo archivo maestro es independiente de la ESCRIBIR NUEVO el archivo maestro de edad No hay nada inusual en el Master esta rutina Se incluye un recuento de los registros de por escrito WRITENEW EQU ST R10 SVWRITEN PUT MASTEROT OREC AP NEWOUT P 1 L R10 SVWRITEN BR R10 12 2 7 La rutina Wrapup La rutina de Wrapup para este programa es muy similar a la mostrada en el cap tulo anterior Recordemos que seguimos el proceso hasta que los registros del archivo maestro o el archivo de transacci n est en EOF Por lo tanto cuando lleguemos a Wrapup es probable que uno de estos archivos no est en EOF Nosotros por lo tanto ejecutar uno de los siguientes ciclos 288 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N archivo maestro de edad no est en EOF entonces el proceso todos los registros de archivo que queda MASTER como sin precedentes es decir bajo maestro Recuerde estos registros se escriben en el MASTER nuevo archivo de sin cambios De lo contrario si el archivo de transacci n no est en EOF entonces Wrapup procesamos todos los registros de los archivos restantes de transac ci n como sin precedentes es decir baja de transacci n Recu rdese MAS TER AGREGA incomparable ser a adido mientras que incomparable son errores WRAPUP EQU
288. VC y la CVX instrucciones Describir el formato de instrucci n RX tal como se utiliza con la instruc ci n antes de Cristo Dado un parcial PRN con el c digo fuente determinar el c digo de objeto perdido y Dado un parcial PRN con el c digo objeto determinar el c digo fuente que falta Introducci n Ahora vamos a dedicar alg n tiempo a la lista de montaje en detalle Para PC 370 esta es la PRN archivo producido por A370 Nue stro prop sito al hacerlo es conseguir una mejor comprensi n de la proceso de montaje y para aprender acerca de los tipos de instrucciones Este conocimien to es importante para prop sitos de depuraci n Incluso aprender a invertir el montaje un programa es decir teniendo en cuenta algunos c digo objeto determinar las instrucciones de origen K k k OK k OE k K OK k k k K k k OR OK k K K Cada instrucci n tiene un tipo de instrucci n Hasta ahora hemos visto a las cinco instrucciones en detalle MVI MVC CLI CLC y BC Recuerde que todas las instrucciones de varias sucursales son variaciones de la BC la instrucci n macros como la OMC y GET constar de m ltiples instrucciones no se discutidos aqu Considere lo siguiente sin duda sin sentido del programa STUFF6A MLC que utiliza estas instrucciones 130 CAPITULO 6 QU ES ESTA COSA DE LA IZQUIERDA STUFF6A CLC BL MVC MVI B EQU CLI BE MVC MVI EQU RETURN DC CL3
289. VC ODESC CL25 01d Masters In MVC OCOUNT EDCOUNT ED OCOUNT OLDIN etc MVC ODESC CL25 New Masters Out MVC OCOUNT EDCOUNT ED OCOUNT NEWOUT BAL R10 WRITE Tal c digo redundante puede estar bien si s lo tiene siete cargos de imprimir como en el ejemplo anterior pero lo que si usted tiene uno o m s cuenta para cada estado Lo que se necesita es una manera de repetir el mismo c digo pero con difer entes cargos y etiquetas es decir alguna forma de proceso de estos aspectos como parte de una tabla o matriz Por ejemplo en BASIC lo anterior se podr a haber hecho de la siguiente manera Este programa utiliza un car cter especial un asterisco para indicar el final de la tabla Cuando un personaje es usado de tal manera que se refiere a veces como un centinela 100 REM Initialize Counts In BASIC numerics 110 REM are automatically initialized to zero 120 DIM DESC 8 COUNT 7 130 DESC 1 Transactions In 140 DESC 2 Transactions Rejected 150 DESC 3 Old Masters In 160 DESC 4 Old Masters Deleted 170 DESC 5 Old Masters Changed 180 DESC 6 New Masters Added 190 DESC 7 New Masters Out 200 DESC 8 500 REM Print counts 510 MASK N BE HHH 520 LET I 1 520 WHILE DESC I lt gt x 530 PRINT USING MASK DESC I COUNT I 540 LET I I 1 550 WEND II qu entonces es la soluci n en ensamblador En primer lugar queremos definir los campos
290. W DC CL3 ddd DBL DS D DOWTBL DC C SunMonTueWedThuFriSat END 442 17 7 BITS DE INS ARWIVGIONEBITS DE OPERACIONES A MIN gt date370 DATE370 Time is hh mm ss xx Date is mm dd yyyy Day of week is ddd DATE370 Time is 08 49 54 44 Date is 01 06 1994 Day of week is Thu kx k OK OK OK OK OK CK ck CK OK CK OK OK CK ck CK OK OK x La capacidad de activar desactivar bits seleccionados significa que podemos usar bits como interruptores En particular cualquier condici n binaria una condici n con s lo dos estados posibles puede ser representado con un solo bit en lugar de un byte entero Esto puede resultar en un ahorro considerable de espacio en disco y el tiempo y el costo de las telecomunicaciones Algunos ejemplos de las condiciones binario son OFTEN CAN ALSO BE CONDITION REPRESENTED AS REPRESENTED AS Female O Female GENDER Male 1 Male W No 0 No TENURED Y Yes 1 Yes D Check 0 Check CHECKING ACCOUNT D Deposit 1 Deposit TRANSACTION TYPE gt No O No OUT OF STOCK Yes 1 Yes gt No O No MARKED FOR DELETION Yes 1 Yes as used in dBASE III 17 7 Bits de cheques La Instrucci n TM Como ya hemos visto podemos utilizar la OI NI XI y las instrucciones para activar desactivar bits De Por supuesto no nos hacen ning n bien a utilizar un poco como un interruptor si no tambi n pue
291. X OK 14 3 Binario Resta Para la resta binaria como con la suma binaria en primer lugar utilizar el L LH o la instrucci n LR colocar una operando en un registro A continuaci n utilice el sustrato S restar media palabra SH o restar registro SR instruc ci n en funci n de si el segundo operando es fullword media palabra o registro respectivamente Para ejemplo dado 9 gt nnn mp para calcular A A B C en primer lugar reconocer que esto es equivalente a A ABC A continuaci n el c digo L R3 A S R3 B SH R3 C ST R3 A intenta 6 Habida cuenta de Fl y F2 son fullwords y H1 y H2 son medias palabras Escriba el c digo necesario para calcular F1 F1 F2 H1 H2 14 4 La conversi n de Bolsas a Binary CVB Suponga que los datos de entrada es de car cter decimal zonas o en forma de pic nic C mo se puede convertir estos n meros a su equivalente binario Esto se hace con la instrucci n de convertir a binario CVB Esta instrucci n se convierte un n mero envasados almacenados en una palabra doble en un n mero binario almacenados en un registro Por ejemplo dada IAMOUNT DS CL4 Input amount unpacked 99V99 OAMOUNT DS H Output amount binary 99V99 DBLWORD DS D Doubleword work area Tenemos el siguiente c digo PACK DBLWORD IAMOUNT Must be packed to use CVB CVB R3 DBLWORD Binary equivalent in R3 STH R3 0AMOUNT Binary equivalent to output 349 14 5 CONVERSI N DE
292. ZEND EQU 11 Escriba el BASIC viejo y el BAL para el siguiente diagrama de flujo Nota G y H se define como mientras que J y K se define como CL1 Identificar las partes del diagrama de flujo y el c digo que nunca se ejecutar GBEGIN TO J 12 Escriba el BASIC viejo y el BAL de los diagramas de flujo siguiente Suponga que todos los campos se definen como CLI XBEGIN YBEGIN a b N MOVE D N J gt L C lt B Y TO E MOVE J 13 Write the BAL code for the following pseudocode a IF X gt Y IF X gt Z MOVE Z TO W ELSE IF X Z MOVE W TO Z ENDIF MOVE Y TO W ENDIF ENDIF 93 3 7CAR ERUTIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS IF A B AND C D b MOVE X TO Y ELSE IF A gt B OR C lt D MOVE W TO Y ENDIF MOVE X TO Z ENDIF 14 Los chicos Chi Psi han pedido una lista de solo mujeres estudiantes Es criba el programa para producir una tal lista del archivo de estudiante El informe debe aparecer como sigue 1 2 3 123456789012345678901234567890123 ELIGIBLE PARTIES FOR OUR NEXT PARTY ID Student Name Sex Mar XXX XXXXXXXXXXXXXXX X X XXX XXXXXXXXXXXXXXX X X XXX XXXXXXXXXXXXXXX X X 15 Escribir un programa que producir una lista formateada de los cursos que est n a menos de 3 horas semestrales de cr dito El informe debe aparecer como sigue 1 2 3 4 1234567890123456789012345678901234567890 COURSES WITH LESS THAN 3 HOURS CREDIT Course Descriptio
293. _______ Q R _________ N mero y montamos este programa Utilice PC 370 s laborato rio para detener el programa en 9 y verificar sus respuestas a la parte b Nota Las l neas 1 14 del programa son la expansi n de la macro de empezar y las l neas de 21 24 son la expansi n de la macro RETORNO c digo de las declaraciones de macro como usted u 16 Ejercicios 16 a Llene los espacios en blanco l neas 15 19 y 24 27 STUFF7B PAGE PC 370 CROSS ASSEMBLER OPTIONS LXACE LOC ADR1 ADR2 LINE LABEL OP 000000 1 BEGIN 180 7 15 EJERCICIOS CAPITULO 7 BOLSAS DE ARITMETICA DECIMAL 000000 000000 000000 47 0 058 000004 OB AL1 11 000005 E2E3E4C6C6F7C240 000010 0000000000000000 000058 90ECDOOC 00005 50D0F014 000060 18ED 000062 41DOF010 000066 50D0E008 00006A 00006A 00006A F823D08BD091 000070 F322D08ED08B 000076 D300D090D088 00007C D201D089D08F 000082 FB32D091D08B 000088 000088 58DD0004 00008C 98ECDOOC 000090 000098 000098 FO 000099 00009B F5F5F5 00009E C1C2C3 0000A1 0001234C 0000A8 009 009 0030 0099 00A1 0058 000C 0014 0010 0008 00A1 009B 0098 009F 009B 0004 000C 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 24 25 26 2T 28 29 b b Usted es el equipo qu son los valores de W X Y 2 despu s de este programa se ejecuta N mero y montamos este programa Utilice PC 370 s laboratorio para detener el programa antes de la vuelta
294. a Con el fin de elaborar este informe ambos archivos deben ser en la secuencia de identi ficaci n de cliente escriba lo siguiente en el s mbolo de DOS Ordenar 1 lt cust dat gt cust srt Ordenar 4 lt locker dat gt locker srt Especifique CUST SRT y LOCKER SRT como la DDNAME para la DCB de entrada 4 Consulte el auto de pueblo peque o de almacenamiento en la base de datos m s conjuntos de datos Producir un armario informe de s ntesis de la disponibilidad de la siguiente manera 1 2 3 4 1234567890123456789012345678901234567890 SMALL TOWN self storage Locker Disponibilidad Resumen X XXXXXXXXXX BZZ9 99 229 X XXXXXXXXXX BZZ9 99 BZZ9 X XXXXXXXXXX BZZ9 99 BZZ9 Usted necesitar la taquilla y archivos con una velocidad Con el fin de elaborar este informe ambos archivos deben ser en la secuencia de tipo Locker escriba lo siguiente en el s mbolo de DOS Ordenar 3 lt locker dat gt locker srt Ordenar 1 lt rate dat gt rate srt Especifique LOCKER SRT y RATE SRT como la DDNAME para la DCB de entrada Nota Este es un resumen el informe de uso de la l gica de control de descanso Usted no est lista cada casillero disponible s lo el n mero de de taquillas disponibles de cada tipo Un armario se considera disponible si el ID de cliente en el LOCKER el archivo est en blanco 5 Consulte la base de datos Small Town Banco de Sangre en m s conjuntos de datos Producir un donante de resumen de la historia
295. a el literal Por ltimo la duraci n total del programa es el mismo la direcci n del primer byte del ltimo campo de cada programa es 0000BC Tomado de MOVE2A PRN 00007C D202D0OA8DOA1 00 8 00 1 29 000082 D200DOABDOAO OOBB 00 0 30 000088 D203D0ACDOA4 00 00B4 31 OOOOAA 42 0000AA 43 0000AA 44 0000 0 45 0000 0 46 0000 0 47 0000 0 48 51 IF OHYPHEN MVC OLINE I Literals if any will g LTORG Other field definitior 2 2 DECAGE VIO HBREEINIXBIAINSS CAR CTERES 0000 0 60 49 WHYPHEN 0000 1 50 0000 1 1 0000 1 F5F5F5 52 IPFX 0000 4 F1F2F1F2 53 ILINE 0000 8 0000 8 55 0000 8 56 0000 57 0000 58 OLINE 000000 59 Tomado de MOVE2B PRN 00007C D202D0OA8DOA1 00 8 00 1 29 000082 D200DOABDOAO 00 00 0 30 000088 D203DOACDOA4 00 00B4 31 0000AA 42 0000AA 43 0000AA 44 0000B0 45 0000 0 60 45 0000 1 46 0000 1 47 0000 1 48 0000 1 49 IPHONE 0000 1 F5F5F5 50 IPFX 0000 4 F1F2F1F2 51 ILINE 0000 8 2 0000 8 53 OPHONE 0000 8 54 0000 55 0000 56 OLINE 000000 57 2 2 1 La Instrucci n MVI Cada vez que un car cter literal de longitud uno se mueve debe utilizar la instrucci n de la MVI en lugar de la instrucci n de MVC La MVI o paso inmediato la ense anza difiere de la instrucci n de MVC en de varias maneras
296. a la m scara El valor de esta m scara que va desde 0000 todos los bits apagados a 1111 en todos los bits est determinado por la regla mnemot cnica BE BL etc y corresponde a los valores posibles del c digo de condici n que hemos discutido en un cap tulo 136 6 4 INSTRUGCADKEISIIOEGD E EIU CHO KITA INMOSASDE LA IZQUIERDA anterior Por ejemplo nos dijo que si se comparan dos campos A y B y A es inferior a el resultante c digo de condici n seria 01002 X 4 En la l nea 16 anterior queremos poder D si es menos de As que la m scara es X 4 que aparece inmediatamente despu s del c digo de operaci n de X 47 El pr ximo medio byte indica el registro de ndice Un registro de ndice es como un desplazamiento cuyo valor depende de un registro Considerando que los otros desplazamientos vimos fueron constante el valor del registro y por lo tanto el desplazamiento total pueden variar Cuando el ndice de registro es el 0 se ignora Esto suele ser el caso En todas las ramas de arriba el ndice de registro es cero Hemos visto que un BL se muestra como X 4740 una B incondicional como X 47F0 y un BE como X 4780 Para completar se muestra el siguiente cuadro BE 24780 gt 24720 gt BL 24740 gt BNE 24770 gt X 47D0 gt BNL 247 0 gt X 47F0 Como antes la palabra la segunda mitad de la ensenanza da la base y el de
297. a ocupa octetos 000000 000003 inclusive la segunda pal abra ocupa octetos 000004 000007 inclusive la tercera palabra ocupa octetos 000008 00000b inclusive Esto contin a hasta e incluyendo la ltima palabra que ocupa octetos FFFFFC FFFFFF inclusive Recuerde que en un debate anterior que cada registro tambi n ocupa cuatro bytes y que es el Tama o de registro que determina el tama o de palabra de un ordenador Si el d gito m s a la derecha de la direcci n del primer byte de un campo es 0 4 8 o C entonces decimos que el campo de es fullword alineados o alineado en un l mite de fullword En el siguiente ejemplo los campos A y el D son fullword alineados Por qu LOC 020104 A DS PL3 020107 B DS CL2 020109 C DS CL3 02010C D DS CL4 Utilizamos una especificaci n del tipo de campo de la F para definir una fullword Por ejemplo FIVETHOU DC F 5000 Un campo definido con una especificaci n del tipo de F se ve obligado a un l mite de fullword Esto puede ser una muy consideraci n importante en la definici n de dise os de registro Considere el siguiente ejemplo Puede usted suministro de los campos que faltan LOC 341 CAPITULO 14 BINARY ARITHMETIC 020117 INREC DS OCL80 tees INZIP DS PL3 INCODE DS CLi eee INAMT DS F eee INJUNK DS CL6 INLIMIT DS F Usted debe terminar con INLIMIT a partir de las LOC 020128 porque 02011B 020126 y 020127 se omitido Puedo resolver el problema de sal
298. a tabla es decir el recuento y etiquetas eran conocidos en el momento de El programa fue escrito No es raro tener que construir una tabla mientras que el programa es funcionamiento Considere el siguiente escenario Columnas 1 6 de un disco contiene un t tulo Sr Sra Etc Necesito un recuento de cada t tulo que aparece en el archivo pero no tengo idea de qu t tulos se utilizar n Hay despu s de todo algunas abreviaturas muy extra o para los t tulos militares Voy a dejar de lado el espacio para un n mero arbitrario de t tulo digamos de hasta 100 En cada registro se lee voy a chequear la tabla para ese t tulo Si lo encuentra entonces 375 15 3 CARGANDO UNA CABILAUINDTIEE MPG DA MIENTO voy a a adir 1 a la cuenta para ese t tulo Si el t tulo ISNot encontrado entonces Lo a adir al final de la tabla y Inicia el conteo para que el t tulo 1 Voy a definir la tabla como sigue TTLS DC H 0 MAXTTLS DC H 100 TITLES DS 100CL10 Positions 1 6 are title CL6 Positions 7 10 are count PL4 El c digo para buscar en la tabla y a adir si es necesario es la siguiente Esta es probable que aparezcan en alg n lugar dentro de la secci n de proceso del programa LA R6 TITLES Point R6 to start of table LH R7 TTLS Nbr table entries to R7 CH R7 H 0 No entries yet BE NOTFOUND Then add title to table LOOK EQU CLC 0 6 R6 ITITLE Is table title EQ input BE FOUND Yes Incr
299. acher ID Nbr to output MVC OTNAME ITNAME Move teacher Name to output CLC ITDEG CL4 PHD Highest degree PhD BE YESPHD Yes branch MVI OPHD C N No Show PhD B OTHERS Branch around YES logic YESPHD EQU Highest degree is PhD MVI OPHD C Y Show PhD Y OTHERS EQU Continue moving other fields MVC 0517 CL4 517 All phone nbrs begin w 517 MVC Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF L R10 SVFORM BR R10 gt K gt K gt lt gt lt KK WRITE Write a single detail line YK k ok k ok 5k sk sk OO k k ak ak 3k 3k AARC I 3K 3K ak OR I II 3K 3K 3K KOR K K K KOR A AAC K 3K OR 2k KK K K search write REPORT from OREC no line counting SVWRITE return 106 RR OK R OK kk kk kkk kk IK WRAPUP Those things which happen one time only after all records have been processed 114 4 1 COOKPELUIAT ION OHO GEIR OCWRALR DE BAL lt 2K gt lt al ok ok al ok K K X ok K K K ale FK ok ale K de KK de ok ok ale ok ok ale K ad K ode de FK FK K ok ok oko ale K ode K ale X 2K ok X ok ale ale K ale ale WRAPUP EQU ST R10 SVWRAP CLOSE TEACHERS CLOSE REPORT WTO TEACHAC Te
300. acher list on REPORT TXT L R10 SVWRAP BR R10 gt K 5k sk sk skok ok ok 9k Pk ok ok 9k R ok 9k 5k OR 9k 9k IOI A I ICICI AK a A I kk K kk kk k kkk k K Literals if any will go here sk 5k Pk ok 5k PK ok ooo ICRA PK ICICI k K kk k kk kk k k kk K k LTORG K sk ok sk sk ok oK sk ok ok Pk sk oR PK 8k ok Crete CrLrecrrrrrrrrrrrrrrrrrrrrrrrrrerrr rere et ef 27 File definitions K sk ok sk sk sk oK 5k 5k ok Pk sk OK KOR kk kk kkk K TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT kk kk kk kk kkk k kk kk kk kkk K RETURN ADDRESSES EEEE sk oR PK R 9k ok EEE E kk R OR ok ok KOR EEk k kkk kk kk kk kkk k kk kk kk kkk K search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 FKK gt lt gt lt KK K FK K K ok ok K KK FK FK K KK FK ok KK R FK K KK K FK oe KOR FK K ok FKK FK K KOR oe K FK ok FK ok R FK FK K 2K OK K oe R R OR R OR Miscellaneous field definitions SAA aooo ooo oook 2k 2k 2k 2k 2k kkk kk WCRLF DC gt 0025 gt PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N 3k 5k sk 3k skok AC A I I 5k oR 9k a I ACI 5k a A IKK a kk k kk kk k kkk k k Input record definition BEC 5k PK o ok 5k PR ok 9k 5
301. ad course ID in Grade file B RETURN CRSDATAX EQU L R10 SVCRSDAT BR R10 donde TABLE DS 10CL21 1 5 Course ID 6 20 Course description 21 21 Hours packed 15 6 5 OBTENER GRADO DE VALOR rutina Esta rutina usa una b squeda en la tabla a la determinar los puntos de calidad para un determinado grado Nota esta b squeda utiliza una bucle con trolado centinela GRADEVAL EQU ST R10 SVGRDVAL LA R7 GRADETBL 393 15 6 LA RUTINA DE INGIAR ACI N15 TABLA DE PROCESAMIENTO GRADEVA2 EQU CLC 0 1 R7 GGRADE GRADEVAX LA R7 L GRADETBL R7 CLI O R7 X FF BNE GRADEVA2 WTO TRANSCR2 Invalid grade in grade file B RETURN GRADEVAX EQU ZAP VALUE 1 1 R7 L R10 SVGRDVAL BR R10 donde VALUE DC PL1 0 GRADETBL DS OCL2 DC CL1 A PL1 4 DC CL1 B PL1 3 DC CL1 C PL1 2 DC CL1 D PL1 1 DC CLi F PL1 0 DC X FF 15 6 6 DO GPA de rutina Puntos de la calidad Esta rutina se mueve el total de horas intentado y total para este estudiante a la transcripci n determina el Programa de Acci n Mundi al por los puntos divisorios de la calidad total por el total de horas intentado y se mueve del PAM a la transcripci n DOGPA EQU ST R10 SVDOGPA CP ATTEMPT P 0 BE DOGPA2 PUT REPORT HD4 DOGPA2 EQU MVC TATTEMPT X 40202120 ED TATTEMPT ATTEMPT MVC TQUALITY X 40202120 ED TQUALITY QUALITY PUT REPORT TREC ZAP DIVIDEND QUALITY SRP DIVIDEND 3 0 ZAP DIVISOR ATTEMPT
302. adecimal a binario de conversi n 124 5 3 5 De binario a hexadecimal de conversi n 124 5 4 Aritm tica binaria uo ert us OE 126 5 5 Aritm tica hexadecimal 126 5 0 Ej rcici S u Qa S 4 a 127 6 Qu es esta cosa de la izquierda 130 6 1 El formato de instrucci n 61 133 6 2 El formato de instrucci n SS 0 134 6 3 El formato de instrucci n RX 136 6 4 Instrucciones de Definici n de Datos 137 6 5 Ejercicios aE etre Be eee We ERR 138 7 Bolsas de aritm tica decimal 144 7 1 Presentaci n de Dind n Industrias 145 7 2 Bolsas de Formato Decimal 146 Tar La Instrucci n 26A xeu RRs u 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 TL La I str cei 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 105 La Instrucci n 2 A a aa 161 711 La Instrucci n CP ei a a 162 7 12 Ejemplo de programaci n Revisited 163 7 13 El SS formato de instrucci n R
303. ado A B 1 0 0 0 8 equal A lt B 0 1 0 0 4 low A gt B 0 0 1 0 2 high Tenga en cuenta que en el BAL no hay equivalente a una prueba para la igualdad o una prueba para el superior etc No es s lo una comparaci n que establece un c digo de condici n Le corresponde entonces a probar el c digo de condici n y tienen la rama del programa o Ir a la ubicaci n deseada en su programa en consecuencia 79 76a 76b 76c 3 2CAR NDARA EN BEN BAIINSOHDAGKSNGNADE CAR CTER FIELDS 3 2 Compara en BAL La Instrucci n CLC El formato general para comparar es un personaje CLC opl op2 significa Comparar car cter l gico Funciona de la misma manera como la instrucci n de MVC en CLC que la duraci n de la comparaci n el n mero de bytes en comparaci n est determinada por la longitud del primer operando en este caso OP1 independientemente de la duraci n del segundo operando Un m ximo de 256 bytes se puede comparar con un nico CLC Vamos a tratar algunos compara y determinar el c digo de estado resultante Nos referiremos a los siguientes datos a trav s de nuestra discusi n de IFS en BAL Field A 76a AREC DS OCL28 1 28 ANAME DS OCL16 1 16 AFIRST DS CL8 1 8 ALAST DS CL8 9 16 AZIP DS CL5 17 21 AAGE DS CL2 22 23 DS CL2 24 25 ASEX DS CL1 26 26 ACRLF DS XL2 PC 370 Only 27 28 Field B 76b BREC DS OCL28 1 28 BNAME DS OCL18 1 18 BFIRST DS CL9 1 9 BLAST DS CL9 10 18 BZIP DS
304. amos a buscar la forma de mover las constantes de car cter o literales Los siguientes ejemplos ayudan a ilustrar la necesidad de hacerlo Un n mero de tel fono almacenados como XXXXXXX se va a imprimir como XXX XXXX El gui n es el constante Un n mero de seguro social almacena como XXXXXXXXX se va a imprimir como XXX XX XXXX Una vez m s la guiones son constantes Una fecha almacenada como YYMMDD se va a imprimir como MM DD 19YY Aqu las diagonales y el 19 son constante Le mostramos varias maneras de desplazarse literales Nos concentraremos en los ejemplos primero y tercero El segundo ejemplo es muy similar a la primera y se deja como ejercicio KOK OK OK OE OK OK KOK OE OE KOK OK OK OR KOK EG ok Ejemplo Z 1 Un n mero de tel fono almacenados como se va a imprimir como XXX XXXX XXXXXXX Vamos a definir primero la entrada y salida de la siguiente manera ff 40 442a 48 IPHONE DS OCL7 IPFX DS CL3 ILINE DS CL4 OPHONE DS OCL8 OPFX DS CL3 OHYPHEN DS CL1 OLINE DS CL4 47 48a 48b 2 2 DEEINIETWINMIOV HBREEINIXBIAINSS CAR CTERES Mover el prefijo y la l nea no son ning n problema simplemente utilizar la instrucci n MVC como ya hemos discutido ff 40 447 48bp MVC IPFX MVC Pero qu acerca de c mo mover el gui n Una soluci n ser a la de definir un campo de trabajo nuevo ff 40 448a 53D WHYPHEN
305. anto PC 370 utilizan el conjunto de caracteres EBCDIC En consecuencia todas las entradas deben se convierte de ASCII a EBCDIC medida que se leen y todas las salidas de se debe convertir de EBCDIC a ASCII como se escriben Esto la instrucci n es el medio por el que dices PC 370 para hacer esto El archivo MAE STROS nombre en este caso se corresponde con el nombre de un archivo en una declaraci n de DCB v ase m s abajo Esto es para PC 370 solamente No hagas esto con mainframe BAL OPEN TEACHERS Este comando abre el archivo MAESTROS Como con toda la programaci n idiomas un archivo debe ser abierto antes de que pueda ser utilizado La macro OPEN 370 para no incluye un modo como entrada o salida que tendr que especificar un modo al abrir un archivo con mainframe BAL El par metro de MACRF de la DCB correspondiente indica el modo indica abierto a la entrada G GET mientras que MACRF P indica MACRF G abierto a la producci n P put Esto difiere ligeramente de la de mainframe BAL Por ahora usted puede estar pensando que PC 370 es muy diferente de BAL mainframe Realmente no lo es La mayor a de las diferencias tienen que ver con la la estructura de archivos y macros que se discute aqu Convertir de PC 370 para mainframe BAL es realmente trivial LOOP GET TEACHERS IREC Este es el bucle principal del programa por lo tanto la etiqueta conseguir maestros IREC macro lee un registro nico de los
306. ar de uno Nuestro an lisis anterior de las columnas ADR1 y ADR2 se aplica tambi n Usted probarlo 4 Mostrar el c digo objeto para la l nea 15 si esa l nea se cambi a la CVX B A 5 Mostrar el c digo objeto para la l nea 15 si esa l nea se cambi a la CVX A1 2 B2 6 Mostrar el c digo objeto para la l nea 23 si esa l nea se cambi a MVC 3 6 3 El formato de instrucci n RX ume E A A AA lr ees 1 de halfword 2 halfword 3 halfword 2 PD Se s Loa RX Op C digo R 1 X2 B2 D2 quida Ea A A Todas las instrucciones que utilizan la RX o de registro de ndice formato de instrucci n ocupan dos medias palabras o de cuatro bytes como se muestra en la ilustraci n anterior Una vez m s la primera de estas cuatro bytes es el c digo de operaci n BC es Op C digo X 47 Mira nuestra programa de ejemplo se puede ver el c digo de operaci n de 47 00006 D502DO8EDO91 009 00 1 15 CLC A B 000070 4740D072 0082 16 BL D 000074 D201D095D091 00 5 00A1 17 MVC C 00007A 92F1D097 00 7 18 MVI E C 1 00007E 47 00084 0094 19 BF 000082 00000082 20 D EQU 000082 95C4D091 00 1 21 B CD 000086 4780D084 0094 22 BE F 00008a D201D095D08E 00A5 009E 23 MVC A 000090 92F9D097 24 MVI E C 9 gt 000094 00000094 25 F EQU El pr ximo medio byte cuatro bits corresponde
307. ar el bot n derecho del bit m s en el primer byte de FLD 2 6 Escriba las instrucciones para desactivar los bits de dos y tres del ltimo byte de X Uso de la longitud de operador para indicar el ltimo byte de X 3 7 Ejemplo 6 se muestra c mo podemos cambiar una letra en may sculas a min sculas Qu pasa si el byte en cuesti n contiene un n mero es decir X FO a trav s de X F9 Qu efecto si lo hubiere la NI la instrucci n como se muestra en la que han byte 4 8 Ejemplo 7 muestra c mo podemos cambiar el signo de un n mero de pic nic Se podr a lograr lo mismo al multiplicar el n mero por 1 Dado PK3 contiene X 00012D el uso tanto m todos para cambiar el signo 432 17 3 THE CAROPINALDEI7 NOINIVEY INSBHUCORERACIONES 5 9 Refi rase a la pregunta anterior Por qu puede este m todo XI se prefiere en la otra MP Sugerencia Qu pasa si queremos cambiar el signo de PK3 que contiene X 12345D X k OK OK OK OK OK CK ck CK OK CK OK OK CK ck OK OK OK x La instrucci n XI tiene una curiosa propiedad de que si un campo es con un valor y la resultante campo es con el mismo valor el campo regresa a su valor original Esta propiedad es til en los programas de cifrado como se demuestra en el siguiente ejemplo la letra R con el car cter Ejemplo 8 el resultado con el car cter CR X D9 B 11011001 C 4 B 0
308. aracteres a un registro retorno de carro CR y salto de l nea LF Estos son los verdaderos caracteres cada uno de los cuales ocupa un byte de memoria o de almacenamiento como har a con cualquier otro car c ter como una A o El CR LF debe tomarse en cuenta en la determinaci n de la longitud de un registro cuando se utilizan PC 370 En el siguiente ejemplo el comando COPY de DOS se utiliza para crear el archivo maestro en el directorio MIN CON es un nombre de dispositivo de DOS de la consola o el teclado Esta es una forma conveniente de crear peque os conjuntos de datos utilizando DOS Entradas de usuario se muestran en negrita Tenga en cuenta que Z se lee como control Z y se introduce pulsando Z 20 13 CREACI N DE DBHIGEEBDSPPASQS CON PC 370 mientras mantiene presionada la tecla Ctrl o pulsando la tecla de funci n F6 Pulse RETURN despu s de cada l nea incluso despu s de z A 1 gt cd min A MIN gt copy con teacher dat 732BENSON E T PHD N5156 218HINCKLEY G B MBA N5509 854KIMBALL S W PHD Y5594 626 YOUNG B MBA Y5664 574SMITH J MS Y5320 72 1 File s copied A MIN gt dir teacher dat Volume in drive A has no label Directory of A MIN TEACHER DAT 145 6 23 93 8 01a 1 File s 932864 bytes free A MIN gt type teacher dat T32BENSON E T PHD N5156 218HINCKLEY G B 15509 854KIMBALL S W PHD Y5594 626Y0UNG Y5664 574SMITH J MS Y5320 No
309. as palabras los ceros a la derecha de la X 21 se imprimir Por ejemplo dada FLDB DC PL3 0 MASK3 DC X 402020202120 gt tenemos el siguiente c digo WK6 MVC WK6 MASK3 40 20 20 20 21 20 ED WK6 FLDB 40 40 40 40 40 FO bbbbbO Nota el n mero total de X 20 y X 21 siempre ser extra o intenta Habida cuenta de escribir la instrucci n s para mover PJS a PJS PL3 DC 49 5 WK6 de tal manera que se C bbb049 WK6 6 WK6 de tal manera que WK6 se C bb0049 f WK4 tal que WK4 se C bb49 WK4 se C 004R Sugerencia 8 De tal manera que WK4 9 0 4 Impresi n Decimal Puntos Qu pasa con los puntos decimales Nosotros ni siquiera mencion los pun tos decimales en nuestra discusi n de concentrado de la aritm tica decimal Eso es porque no hay en el BAL es decir toda la aritm tica en BAL es un n mero entero aritm tica Depende de usted como el programador para realizar un seguimiento del lugar en el decimal impl cita es Esto complica cualquier aritm tica como veremos en un cap tulo posterior y el formato Para imprimir un decimal punto se a ade un punto X 4B en la posici n adecuada dentro de la m scara Por ejemplo dada nuestros anteriores definiciones de FLDA y FLDB MVC WK9 X 4020202020214B2020 ED WK9 FLDA MVC WK7 X 402020214B2020 ED WK7 FLDB Tenga en cuenta que las m scaras se est n m s C mo va a mostrar ceros cuando la impresi n de d lares y ce
310. ate Modify COGS7A MLC to use ED instruction kk 3k 3k 3k akak k K k k ak ak ak ak 3K 3K 3K 3K 3K ak ak ak ak ak aK 3K 3K I K 3K ICICI I I Ik 3K 3K 21 3K 3K K R KOR ROROROROR 3K K K KK a XX START 0 REGS BEGIN BEGIN WTO gt 0659 Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO gt 0659 Normal end of program RETURN 2k 2k ak ak aK K 3K 3K 3k 2k 2k 2k k ak k 2K 3K 2K 3K 2k 2k K 2k 2K K 3K 3K 3k 3K 2K 2k K gt k K 2K gt K 2K R K SETUP Those things which happen one time only before any records are processed FKK gt lt gt lt KK K FKK K ok FK K search setup ascii INVENTRY and REPORT HDGS prime READ SVSETUP return 206 FKK gt gt lt gt gt lt gt ok K K gt K FK K R R FK K FKK K FK K OK FK FK K FK FK FK FK ok FK FK FK K FK FK FK FK RO OR KOR R K HDGS Print headings BAA AAA ooo HDGS EQU ST R10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 PUT REPORT HD5 L R10 SVHDGS BR R10 BEA AC kkk ok ok PK k ok ok kkk k k kk k A kk k k PROCESS Those things which happen once per record BRE kk kkk ok ok PK kk kk k k k kk ak I k k OR A k
311. bjetivos Al t rmino de este capitulo usted ser capaz de Describir los sistemas de numeraci n binario y hexadecimal Dado un n mero en una de base 2 10 16 convertir ese n mero a su equivalente en la otra bases Adem s de realizar con un n mero binario y hexadecimal y Demostrar c mo el personaje se almacena internamente usando el EBCDIC O ASCII cotejo secuencias Introducci n Lo hemos hecho sobre el ensamblador lo que podamos sin aprender m s acerca de c mo los datos se representados internamente En este cap tulo hablaremos de los sistemas de n mero binario y hexadecimal Pero primero tenemos que tomar una breve mirada a nuestro sistema de numeraci n decimal 5 1 Una mirada m s cercana a nuestro Sistema de numeraci n decimal Hora de que alg n tipo de revisi n aritm tica muy b sica Esto puede tomar un tiempo de vuelta Tenga en cuenta la n mero 1956 Sabemos que este es un n mero decimal v lido pero por qu Es un n mero decimal v lido porque est compuesto de d gitos es v lida para los decimales o en base 10 sistema num rico en concreto 0 al 9 inclusive Es decir el sistema de base 10 el n mero consta de diez d gitos Recordemos que el 10 no es un d gito pero es un n mero decimal v lido formado por los d gitos 1 y 0 Consideremos de nuevo el n mero 1956 Sabemos que esta cifra sea un mil novecientos cincuenta y seis pero por qu Veamos esto m s de cerca Recorde m
312. campo a otro La instrucci n es muy diferente de la instrucci n de movimiento o su equivalente en otros idiomas En concreto Cuando se utiliza la instrucci n MVC se determina la duraci n de la medida estrictamente por la longitud del campo de recepci n salvo que se reemplaza y un m ximo de 256 caracteres se puede mover Para ilustrar esto vamos a definir tres campos FLDA es de cinco bytes de largo y contiene ABCDE FLDB es de tres bytes de longitud y contiene FGH y FLDC es de cuatro bytes de longitud y contiene FLDA FLDB y FLDC luego ocupar 5 3 4 12 bytes contiguos de la memoria Esto puede ser mostrado como sigue ABCDEFGHIJKL Queremos definir estos campos en el BAL como sigue ex 37 55ap FLDA DC CL5 ABCDE FLDB DC CL3 FGH FLDC DC CLA IJKL 37 2 1 DEEINI T VIMJOVIMBENXNYO IOR IYANIOS DHEMRA OEBBARACTERES significa Definir constante Su prop sito es 1 para asignar el espacio 2 para asignar un nombre a la DC el espacio 3 para indicar el tipo de datos del espacio se destina a mantener y 4 para dar a ese espacio un valor inicial ascii 38 FLDA DC CL5 ABCDE Initial value is ABCDE Value is always enclosed in apostrophes Length of field is five L5 d ORT Field is intended to hold character data Ere Spa Define Constant Sz gum Leld tfe Field name is FLDA Para el beneficio del lector que sabe COBOL COBOL el equivalente ser a la siguiente
313. cendente ser incluido en la secuencia en la que Ordenar Anexar n mero as W93 viene despu s de F92 pero fueron tomadas Este es un problema El semestre antes de F93 y el ID del curso consta de una carta y un a o por ejemplo F92 Pero la caida 1992 se sittia despu s del invierno de 1992 por lo que necesitamos el semestre para ser ordenados en la parte del ano ascendente luego de la temporada porci n descendente Esto no es un problema con un paquete de tipo decente pero no podemos hacer con tipo de comando de DOS As que tipo clase 14 1 clase 1 necesidad de escribir un programa que anade un especie clave para el archivo de grado El semestre se a la codificaci n W92 ser 921 y F92 se 922 Tambi n incluir el curso de identificaci n en esta clave de ordenaci n para que dentro de cada semestre Los cursos est n enumerados en secuencia Para cada uno supuesto que quieren que la descripci n del curso Producir Tambi n ser necesario las horas del curso en las transcripciones de orden para determinar la hora y el grado de tentativa el promedio de puntos Por lo tanto vamos a ordenar la Iranscripciones CURSO archivo de ID del curso y la carga en una en el disco como Informe txt mesa en el programa de transcripci n Aqu est una lista de los comandos para producir las transcripciones as como las transcripciones de s mismos 382 ID de 15 5 MUESTRA DEL PROGRAMA LA PRODUCCION DE TRANSCRIPCIONES CAPITUL
314. ceso tenemos un registro de estudiante Esta rutina procesar todos los registros de Grado para ese estudiante Empezamos por producir la transcripci n de la partida Para cada registro de grado hemos formato de una l nea de discurso nico y acumular horas de intento y la calidad de los puntos v ase la rutina de formato inferior Despu s de procesar todos los registros de Grado para este estudiante se calcula e imprime el PAM A continuaci n leer el registro siguiente estudiante antes de regresar a la l nea principal FORMAT EQU ST R10 SVFORMAT MVC OSEM GSEM MVC OCID GCID MVC OGRADE GGRADE BAL R10 CRSDATA MVC OCDESC 5 R3 ZAP PK2 20 1 R3 MVC OCHRS X 40202120 ED OCHRS PK2 AP 2 BAL R10 GRADEVAL ZAP PK4 PK2 MP PK4 VALUE MVC OPOINTS X 40202120 ED OPOINTS PK4 2 QUALITY PK4 MVC OCRLF WCRLF BAL R10 WRITE FORMATX EQU L R10 SVFORMAT 392 15 6 LA RUTINA DE INSGIAR ACI N15 TABLA DE PROCESAMIENTO BR R10 WRITE EQU ST R10 SVWRITE PUT REPORT OREC L R10 SVWRITE BR R10 15 6 4 GET Informaci n del Curso de rutina Esta rutina usa una b squeda en la tabla para determinar la descripci n del curso y las horas de un curso determinado de identificaci n Nota esta b squeda utiliza un contador de bucle controlado CRSDATA EQU ST R10 SVCRSDAT LA R3 TABLE LH R4 ROWS CRSDATA2 EQU CLC GCID 0 R3 BE CRSDATAX LA R3 L TABLE R3 BCT R4 CRSDATA2 WTO TRANSCR2 B
315. ci n CHKDEPT invocamos a romper la rutina de control ENDDEPT Esta rutina de nue vo a imprimir el n mero de de las secciones de este departamento si dos o m s de acuerdo con las especificaciones dadas arriba b imprimir una l nea en blanco sin importar el n mero de secciones de este departamen to y c restablecer el departamento de secciones de nivel el contador a cero gt K ok sk ok ok 5k 5 ok k kkk k k k kk k CI ok 9k ak 3k ak I CK KA 1 1 21 4 k ak 21 ORO ROROR 21 2A K KOR R R KOR K R K K ENDDEPT End department Process minor control break Print count of sections in department if that count is two or more Regardless skip a line gt K ok sk ok ok ok 3k ok kkk kk kkk ok ok kk kk k kkk k k kk k kkk 4 k kk k k ENDDEPT EQU ST R10 SVENDDEP CP VDEPT P 2 BL ENDDEPT2 MVC OREC 40 BLANKS This area used several ways BAL R10 WRITE Blank line before count MVC OREC 7 24 C Dept BZZ9 sections MVC OREC 15 2 HOLDDEPT MVC OREC 18 4 X 40202120 ED OREC 18 4 DEPT BAL R10 WRITE ENDDEPT2 EQU MVC OREC 40 BLANKS 240 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE BAL R10 WRITE ZAP DEPT P 0 Reset counter L R10 SVENDDEP BR R10 Si queremos un conteo por departamento o no lo que cuenta es mayor que uno entonces s lo tenemos que quitar la CP
316. ci n Este c digo se incluye en el siguiente completo Wrapup listado del programa 164 COGS7B MLC 164 PRINT NOGEN Kk akak 3K ak k 3k 3K aK 3K ak K K 3K aK 3K 3K 2k aK 3K aK aK 3K 3K aK 3K 3K ak aK 3K 3K aK 3K 2K gt K aK 3K aK 3K 3K 3K aK 3K K K aK 3K K 3K 3K 2K K 3K K K K OR ak ak K R 164 7 12 EJEMPLO DICRR GAHAMA CI NSAB WISI ARDIMETICA DECIMAL FILENAME COGSTB MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce report for COGSWORTH INDUSTRIES showing inventory discrepancies YK k ok ok 5k sk sk k kak k k k k 9k ak Ok 9k 9k 3k 9k 9k ak Pk PK R KOK 9k I 3K 3K 3K ak I I I Ik 3K 3K 2k 3K K K R KOR ACA ACAI OR OR K KK K K x START 0 REGS BEGIN BEGIN WTO 2C0GS7B Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO COGS7B Normal end of program RETURN FEA k kkk kkk kkk k kkk k k kk k kk kk I k kkk k k k kk k R KOR R 4 kk K K OR kK OR K SETUP Those things which happen one time only before any records are processed K KK ok K K K K X ok K X ok K ok ok ok ale K K KK ok ok oko ok ok ale K ok K 9 X X K 2K ok ok ale FK ok K K K ale X ok K K 2K K K K K K K SETUP EQU ST R10 SVSETUP OI INVENTRY 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN INVENTRY OPEN REPORT BAL R10 HDGS BAL R10 READ L R10 SVSETUP BR
317. cipal 280 12 1 1 La rutina de instalaci n 281 12 2 Las rutinas LEA aware Sra sa tun a ya ees 281 12 2 0 1 La rutina PROCESO 282 12 2 0 2 Master 282 12 2 1 transacci n 283 12 02 11 V lido Anadir istmo ranas 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 Amadir malo usus decree RU PA be 286 12 2 4 V lido 286 12 2 5 V lido Cambi uoo ERR RR 287 12 2 6 Escribir nuevo Master 288 12 2 7 La rutina Wrapup 288 12 2 8 Programa de Soluci n 289 12 2 9 Conciliar el informe de auditor a 302 12 3 JET CICIOS arta AS A ut qaqaq a 303 13 M s Bolsas de aritm tica decimal 307 13 1 Las instrucciones que Multiplicar 308 13 2 Programa de ejemplo las ventas en d lares a nivel nacional Dind n s313 13 3 Redondeo con SRP 317 13 4 Muestra del Programa Contribuci n de California a las ventas de 320 13 4 1 La Instrucci n 320 1334 2 Comentarios A sk ae UEM AA 325 13 5 Un ejemplo 334 13 6 DOlUCI N ei a
318. cir la edad dos bytes y un relleno dos bytes CLC CZIP AZIP 16101118131012 518 161011181313131 bl 78 3 3CAR NDABES IX BAN COMNSERCI NON CAR CTER FIELDS La primera diferencia que se produce con el sexto byte Dado que 0 es menor que 3 el c digo de estado resultante es 0100 o 4 o baja OK OK OK OK OK OK CK ck CK OK CK CK CK CK Gk kK kK k x You Iry It Determine el c digo de estado resultante para la siguiente comparaci n 1 CLC ALAST BLAST 2 CLC BLAST ALAST K k k k k k k k k k kk k OE OE K OE k I K Con la CVX como con MVC el desplazamiento expl cito y o longitud puede ser utilizado para anular el desplazamiento por defecto cero y longitud la longitud del campo respectivamente El desplazamiento expl cito puede ser utilizado en cualquiera de los operandos mientras que la longitud expl cita puede ser utilizado en el primer operando solamente Por ejemplo para comparar octetos 3 5 de FLDA con bytes 2 4 de FLDB c digo CLC FLDA 2 3 FLDB 1 Los literales se puede utilizar con la CVX Por ejemplo los siguientes son v lidas y funcionalmente equivalentes CLC OPTION CL3 YES CLC OPTION C YES CLC OPTION YES where YES DC YES 3 3 Compares BAL The CLI Instruction El CLI o comparar l gica inmediata la instrucci n es la CVX como MVI es MVC lo utilizan para comparar un tnico byte en un literal Por ejemplo para comprobar s
319. contraria a la m xima permitida la p gina ser considerado completo y de las partidas ser n impresos con el nuevo semestre antes de imprimir el siguiente detalle l nea 3 Como se procesa cada registro agregar uno al n mero de secciones para ese semestre Esta es la hecho para cada registro y como tal se incluye en la rutina PROCESO Se lleva a cabo despu s de la verificaci n de un nuevo semestre de lo contrario el semestre equivocada puede obtener cr dito para este registro PROCESS EQU ST R10 SVPROC BAL R10 CHKSEM See if new semester AP FSEM P 1 Count sections by semester 4 Despu s de todos los registros han sido procesados imprimir una ltima serie de los totales Dentro de la Wrapup invocamos a la rutina de romper el control de rutina por ltima vez no porque un nuevo semestre ha comen zado sino porque el ltimo semestre ha terminado Si no lo hacemos as entonces no vamos a obtener una recuento de las secciones para el ltimo semestre WRAPUP EQU ST R10 SVWRAP 231 10 3 SINGTAH EVED CONQRUIBBRHWKLAPROGIEAMD SOLON TROL DE BAL R10 ENDSEM CLOSE OFFER CLOSE REPORT pero debe hacerse antes del cierre Esto se puede hacer antes o despu s del cierre de la OFERTA el archivo de informe 10 3 Single Level Control Break Program So lution 232 OFFER10B mlc 232 PRINT NOGEN K K FK K KK FK FK K K K FK FK K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK
320. count MVC HDPGS X 40202120 Edit pattern for page count ED HDPGS PGS PUT REPORT FORMFEED PUT REPORT HD1 PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 ZAP LNS P gt 0 L R10 SVHDGS 223 Move page count to heading PC 370 ONLY Reset line count to zero CAPITULO 10 QUIEBRE DE LA LOGICA DE CONTROL DE BR R10 FEA 5k 5k sk Pk k kkk R ok ok kkk k IK k kk k k kkk k k oA k K KOR R K R kk 2k R k kK K k PROCESS Those things which happen once per record BEA k PK ok kkk kkk k ok ok kk k I IOI ak A 1 k k OR A k k R R KOR R PROCESS EQU ST R10 SVPROC BAL R10 CHKLNS BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 FEA AAA RRA RR A A A READ Read a record kk k k kkk k k kk k K search read OFFER into IREC EOFSW SVREAD return 222 gt K 5k sk sk skok 5k 5k Pk ok CA I ok R ok I 5k oR 9k I ICI 5k a ICA CK OK a A A kk kkk k R kk A kk kk k k kk k K CHKLNS Check lines printed Full page BEA AC 5k Pk ok ok 5k I I 5k oR 9k a ICICI OK a kkk kkk kkk kkk k R kk K R kkk kk kk k K search CHKINS LNS gt MAXLNS HDGS SVCHKLNS 184 FEA AC k kkk IORI I kk k k ICICI k a k k k kk k k of k R 2 ACA R kk K K k KK K K FORMAT Format a single detail line BEA AC k kkk kk kkk kkk k k
321. cuenta N DC CL5 10639 7 Dado W DC PL3 0 muestran la representaci n hexadecimal de W antes y despu s de PACK W N 8 Dada X DC PL2 0 muestran la representaci n hexadecimal de X antes y despu s de PACK X N 9 Dado Y DC muestran la representaci n hexadecimal de Y antes y despu s de PACK Y N 10 Dado Z PL3 DC 12 muestra la representaci n hexadecimal de Z antes y despu s de Pack N Z jcuidado KOK k OK k k k K OK k OE k k OK k OK K K k K Si usted sabe de IBM System 370 COBOL usted puede recordar que un n mero de relleno es uno con un COMP 3 cl usula de imagen Por ejemplo dadas las definiciones de los campos siguientes 05 FLDA PIC 59 3 05 FLDB PIC S9 3 COMP 3 es un n mero de pic nic pero FLDA no lo es La instrucci n COBOL MOVE FLDA A FLDB es equivalente a FLDB la instrucci n BAL PACK FLDB FLDA y eso es exactamente lo que un compilador COBOL hace convertir COBOL las instrucciones de origen a las instrucciones de nivel equivalente de m quina Las instrucciones de nivel de m quina por supuesto var an dependiendo del tipo de m quina es decir un paquete se genera por un IBM 370 o compatible pero no para un PC Esta es una raz n por la que los programadores de COBOL que aprender ensamblador se desmitifica el compilador COBOL Al saber ensamblador a ser un mejor Programador COBOL o cualquier otro idioma 149 7 3 LA INSTRUCQII N APLO 7 BOLSAS DE ARITM TICA DEC
322. cumentos que hemos utilizado hasta ahora como 201 202 9 1 MUESTRA DEL PROGRGMB TULO 9 LA INSTRUCCI N EDITAR MASK DC X 4020202020202020 BZZZZZZZ MASK2 DC X 402020202020 BZZZZZ MASK3 DC X 402020202120 BZZZZ9 MASK4 DC X 402021204B2020 BZZ9 99 MASK5 DC X 402021204B202060 BZZ9 99 CR DC X 402021204B2020C3D9 BZZ9 99CR DB DC X 402021204B2020C4C2 BZZ9 99DB CHKA DC X 5C20206B2021204B2020 9 99 CHKB DC X 5C2021204B2020 9 99 Con la excepci n de la l deres los programadores de COBOL reconocer esta notaci n que se utiliza en las cl usulas COBOL PIC s De ahora en adelante voy a utilizar esta misma notaci n en las especificaciones de impresi n para todos los ejercicios 9 1 Muestra del Programa El siguiente programa EDITS MLC ilustra los ejemplos que hemos utilizado hasta ahora La OMC escribir al operador macro se usa para mostrar los resultados de las ediciones Adem s de ilustrar el uso de de la instrucci n ED espero que este programa muestra c mo puede utilizar el comando de la OMC a la experimentar con esta y otras indicaciones como intentar aprender BAL ff 40 4101 207 gt PRINT NOGEN Ad RR ok ok FK OK FK K oe R oe R R R OK FILENAME EDITS9 MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Demonstrate the edit instruction by x implementing examples shown in chapter 9 XA XX gt lt gt K KK KK K lt K K gt K gt x ok KK
323. d Masters In 10 Old Masters Deleted 1 Old Masters Changed 1 New Masters Added 1 New Masters Out 10 Es importante que seamos capaces de conciliar la cuenta en este informe es decir tenemos que ser capaces de cuenta de todas las transacciones y los registros maestros Por ejemplo vemos que hay seis Entonces qu operaciones pulgadas lo que les sucedi Tres fueron rechazadas por errores uno fue un v lido eliminar uno era un cambio v lido y uno era un complemento v lido 3 1 1 1 6 Vemos que hab a 10 grandes maestros y 10 maestros nuevos a cabo C mo conciliar estas cuenta Vemos que un registro se ha eliminado por lo que nos lleva de diez a nueve Un registro se ha cambiado pero los cambios no tienen efecto en el n mero de registros Por ltimo un registro se a adido por lo que nos lleva de nueve hoyos hasta diez 10 1 1 10 302 12 3 512 CUENCIAL DEL ARCHIVO DE ACTUALIZACI N 12 3 Ejercicios 1 Verdadero o falso Cuando dos archivos se procesan utilizando l gica se cuencial de archivo de actualizaci n Hay tres tipos de operaciones F T ambos archivos deben estar en clave de la secuencia F T de la l gica de largo recorrido continuar hasta que ambos archivos se encuentran en EOF F T la rutina de instalaci n contendr un oscurecimiento de lectura para ambos archivos F T una operaci n de ADD en Match es un error F T una operaci n de CAMBIO en Match es un
324. da m dulo debe tener una sola entrada y una salida nica F T 1 SETUP las cosas que suceden una sola vez antes de que los registros se F T procesados m La rutina de LEA se invoca desde el SETUP y rutinas PROCESO FT 2 Haga el ejercicio 14 15 o 16 del cap tulo 3 Su programa debe estar estruc turado haciendo pleno uso de los conceptos mostrados en este cap tulo 3 Consulte la base de datos Small Town Hardware Store en m s conjuntos de datos Escribir un programa de que la lista de esos temas en la her ramienta de archivo en el que la cantidad en la mano es igual o inferior al cantidad m nima No envolturas de lista que se indican por un precio de venta de cero El informe deber a aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890 SMALL TOWN HARDWARE STORE ITEMS TO BE ORDERED TID Description Cost Sell QOH MIN XXX XXX XX XXX XX XXX XXX XXXXXXXXXXXXXXXXXXXXXX XXX XX XXX XX XXX XXX XXXXXXXXXXXXXXXXXXXXXX XXX XX XXX XX XXX Costo y venta de precio son almacenados sin decimales pero se debe im primir para que ellos hacen mostrar un decimal Por ejemplo un valor almacenado de 00425 se debe imprimir en 004 25 No estar preocupado por ceros a la izquierda en este momento Su programa debe estar estruc turado haciendo pleno uso de los conceptos mostrados en este cap tulo 4 Ejercicios 4 117 Capitulo 5 Representaci n de datos O
325. de clientes en el TRANSACTION en el n mero de cliente en el maestro es mayor que el n mero de clientes en el VOLVER Transacci n o en el n mero de cliente en el maestro es igual al n mero de clientes en el TRANSACCI N La primera condici n que indique que tener un maestro para los que no hay PROCESS EQU ST R10 SVPROC CLC INBR TNBR BH PROC2 BL PROC3 BAL R10 MATCH PROCESSX PROC2 EQU BAL R10 TRANSLOW PROCESSX PROC3 EQU BAL R10 MASTLOW PROCESSX EQU L R10 SVPROC BR R10 La segunda condici n que indique que tienen una operaci n para la que no hay maestro Si el tipo de transacci n es un complemento a continuaci n esto es v lido De lo contrario tenemos un intento de Cambiar o eliminar un registro que no La tercera condici n que indique que tienen una operaci n por un maestro que ya existen Si el tipo de transacci n es cambiar o borrar a continuaci n esto es v lido De lo contrario tenemos un intento de Agregar un registro que ya existe Cada una de estas condiciones ser n tratados en un de rutina por separado 12 2 0 2 Master Low Low MUDANZA DE EDAD El Maestro de baja condici n indica que tenemos un CAMPOS MASTER A LOS NUEVOS registro maestro sin realizar 282 12 2 CMPREUINAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N una transacci n correspondiente Esto no es el amo un error acaba de escribir este registro para el nuevo archivo maestro y el leer el siguiente registro del
326. de dos d gitos 0 en todos los posiciones Estos mismos principios se utilizan como hablamos de otros sistemas de n meros 5 2 sistema binario N mero El sistema num rico binario es tambi n conocido como el sistema num rico de base 2 As como el sistema de base 10 tiene 10 d gitos la base 2 sistema 119 10 0 5 3 EL EBCDIC Y ASCUAR RBICOS PSESHACHONIAB DATOS tiene 2 d gitos Ellos son O y 1 As como 10 no era v lido en un d gito el sistema de base 10 2 no es un d gito v lido en la base 2 del sistema As vemos que un n mero binario es un compuesto de ceros y unos solamente 10110 es un binario v lido n mero pero 10 120 no es v lido Tenga en cuenta que 10110 es un n mero decimal v lido Cuando la base est no es evidente a menudo utilizamos un sub ndice para indicar la base Por ejemplo 10110 2 frente a 10 110 10 El sistema num rico binario es el sistema utilizado por todos los ordenadores para representar datos La raz n de ello es que un d gito binario es f cilmente representada por v a electr nica como por la presencia o ausencia de corriente Cada d gito binario se denomina un poco Bit es una abreviatura de d gito binario 5 2 1 De binario a decimal de conversi n Utilizando la misma t cnica que se utiliza con el sistema de numeraci n en base 10 el valor de un binario n mero se puede encontrar multiplicando cada d gito por una potencia sucesiva de dos y sumando estos
327. de presentar nuestra versi n final del programa Si nos fijamos en la cruz lista de referencias producidas por PC 370 o cualquier otro ensamblador de 370 no ver ninguna referencia para registrar 10 o cualquier otro registro La lista de referencia rec proca con PC 370 se pgmname PRN que es creado por A370 Uso de los registros es tan com n dentro de los progra mas que es muy conveniente disponer de ellas incluidas en la lista de referencia cruzada para el escritorio de comprobaci n y la depuraci n de prop sitos Por otra parte queremos distinguir entre 10 el registro de 10 el n mero o la di recci n o la longitud o el desplazamiento Esto se hace con el EQU Equate la instrucci n Por ejemplo R10 EQU 10 Esto es tan com n que PC 370 y la mayor a de las instalaciones tienen una macro que equipara todos los registros para usted He visto esta macro llamada EQUATE REGEQU y otros PC 370 llama a esta REGs macro Ello est codificado inmediatamente despu s del comando START Cuando el pre procesador de macros M370 encuentros esta macro se genera una instrucci n EQU similar para todos los 16 registros Usted puede ver esta viendo el pgm name ALC archivo creado por M370 Vamos a utilizar en TEACHAC y todos los programas posteriores Hasta a este punto hemos incluido la macro REGs en nuestros programas pero era opcional desde que hicimos no hacer referencia a cualquier registros Podemos utilizar R10 en lugar de 10 c
328. de probar el valor de ese trozo El TM Ensayo con la instrucci n Mask se utiliza para hacerlo La instrucci n TM es un tipo de SI la instrucci n y tiene el campo TM forma la m scara de Es inmediatamente seguida por una AC rama de la condici n normalmente usando uno de los siguientes mnem nicos extendido MNEMONIC MEANING BC EQUIVALENT BO BC 1 label Branch if Ones BM BC 4 label Branch if Mixed BZ BC 8 label Branch if Zeros 443 17 7 BITS DE INS ARWIVGIONETBITS DE OPERACIONES BNO BC 14 label Branch if Not Ones BNM BC 11 label Branch if Not Mixed BNZ BC 7 label Branch if Not Zeros Ejemplo 12 Si los bits primero y tercero de FLDA est s y luego apague el tercer bit De lo contrario activar el bit de sesiones TM FLDA B 10100000 BO OFF3RD OI FLDA B 00000010 OFF3RD EQU FLDA 255 B 00100000 DONE EQU Ejemplo 13 Si el quinto s ptimo u octavo bits de FLDB est s y luego encender el primer bit TM FLDB B 00001011 BZ ALLOFF OI FLDB B 10000000 ALLOFF EQU hay un equivalente SS a la instrucci n TM s lo se puede probar un byte a la tiempo y usted puede usar un valor inmediato solamente Por supuesto como con todos los SI instrucciones usted puede usar valores equivalentes Por ejemplo para probar la igualdad de g nero masculino uno podr a c digo TM INFO MALE where INFO DS CL1 MALE EQU X 80 First bit indicates gender C
329. de tal manera que se C bb38DB WK6 22 WK7 tal que WK7 se C bb 38 CR 23 tal que se C bb3 8 BB 9 0 7 Hora de Protecci n Hasta ahora hemos utilizado un blanco como el car cter de relleno en todas nuestras m scaras Para la protecci n de comprobaci n Puede utilizar un aster isco X 5C Por ejemplo dada nuestra anterior definici n de FLDA y FLDB y el siguientes definiciones para chka y CHKB Chka DC X 5C20206B2021204B2020 CHKB DC X 5C2021204B2020 gt Las instrucciones siguientes le dan los resultados indicados WK10 MVC WK10 chka 5C 20 20 6B 20 21 20 4B 20 20 ED WK10 FLDA 5C 5C F1 intenta Determinada debido DC PL4 6591 escriba la instrucci n s para moverse a causa de 24 WK10 tal que WK10 ser 6591 25 WK9 tal que WK9 ser 6591 26 WK11 tal que WK11 ser 65 91b 9 0 8 La documentaci n de la m scara de edici n Para simplificar el mantenimiento del programa me gusta documento las m scaras de impresi n mediante la presentaci n del representaci n de caracteres de los campos hexadecimal utilizado en la m scara Yo uso una B para indicar un espacio en blanco como la principales caracter de relleno un Z para indicar un d gito en ceros a la izquierda ser suprimida y un 9 para indicar un d gito en ceros a la izquierda no ser suprimida Por ejemplo me gustar a de las m scaras de impresi n de do
330. ded con la instrucci n anterior As que mirar y ver que DOS deber a haber sido m s que DC DS No es f cil Y es atin peor cuando se trata de archivo de entrada Lo que se necesita es de alguna manera a buscar en cualquier campo mientras que el programa se est ejecutando Para ello debe ejecutar el programa en la prueba modo Para ejecutar un programa en modo de prueba el nombre del programa que se consignan seguido de un blanco y un may sculas T Por ejemplo A MIN gt sOc7 TRACE 08 4 ID BUG 370 A 000276 OP 58DD0004 FESO RIOR I IK AK PC 370 System Release 4 2 01 07 88 Copyright C 1988 Donald S Higgins You are encouraged to copy and share this package with other users on the condition the package is not distributed in modified form and that no fee is charged If you find PC 370 useful send 45 dollars to the address below to become registered user and support continued shareware development Registered users will receive notices of XX XX XX 174 7 14 DATOS DE ERRORHESLOE7EXCHBARB NE ARITM TICA DECIMAL future PC 370 releases Don Higgins 6365 32 Avenue North St Petersburg Florida 33710 KK ak 3K 3k ak k 3k ak ak 3K I K K 5k K ke kk okcoke RII A 3K 3K K I 3K KOR 3K A gt K FK 3K K ak K K A K TYPE H FOR HELP Queremos detener el programa antes de ofender a la instrucci n se ejecuta por lo que en
331. der BAL En primer lugar hay muchas aplica ciones heredadas en los negocios escrito en BAL Sencillamente no es econ mico volver a escribir estos programas en otro idioma En vez de mantenemos y por ende debemos saber BAL para hacerlo En segundo lugar algunas aplicaciones son simplemente m s f cil escribir en BAL Como un profesional cada lenguaje de programaci n es otra herramienta en su cintur n de herramientas Como pro fesional usted debe saber que herramienta a utilizar para que trabajo Mientras COBOL C incluso de LOTUS pueden ser la mejor opci n para algunos trabajos BAL es la lengua de elecci n para los dem s En tercer lugar ya que cada lengua en ltima instancia debe ser reducido a su lenguaje de m quina equivalente de nuevo esta es la funci n del compilador y ya que BAL es m s cercano al lenguaje de m quina el aprendizaje BAL te har un mejor programador inde pendientemente del idioma que codifiques en Por ltimo algunos de nosotros dir amos que es divertido Para completar se debe mencionar que los lenguajes de cuarta generaci n com nmente denominado 4GL no son lenguas de procedimiento sino de apoyo a consultas de base de datos y presentaci n de informes ad hoc Estos incluyen SQL RAMIS FOCUS NOMAD y otros 1 1 Instalaci n El disquete incluido con este texto tiene tres directorios FULL MIN y SOURCE El directorio FULL contiene el paquete PC 370 entero La mayor a de los au
332. diez Debe haber al menos un espacio en blanco entre las operaciones y operan dos por convenci n los operandos como NOGEN comienzan en la colum na diecis is Las etiquetas las operaciones y operandos deben estar en may sculas comentarios pueden ir en may sculas o min sculas Todo el c digo no debe extenderse m s all de la columna 71 El diagrama de flujo en la p gina 5 muestra las entradas y salidas para cada paso del proceso de montaje A gt cd min A MIN gt m370 hello A MIN gt a370 hello 1x PC 370 System Release 4 2 01 07 88 Copyright C 1988 Donald S Higgins You are encouraged to copy and share this package with other users on the condition the package is not distributed in modified form and that no fee is charged If you find PC 370 useful send 45 dollars to the address below to become registered user and support continued shareware development Registered users will receive notices of future PC 370 releases X 3 A A X X 03 Don Higgins 14 1 2 NUESTRO PRIMER RUGERLOIA HOMBROS PASOS CON PC 370 6365 32 Avenue North St Petersburg Florida 33710 PC 370 CROSS ASSEMBLER OPTIONS LXACE STATS SYM 00021 MAXSTD 00005 LIT 00000 MAXLTD 00000 BIMEM 51900 NO ERRORS FOUND A MIN gt 1370 hello 1x
333. doesn t exist Read next transaction Attempt to delete Can t delete doesn t exist Read next transaction gt lt gt K gt lt gt lt K K K KK K BADCODE Bad Transaction Code gt lt gt K gt lt x gt x gt lt gt K K K K FK K KK FK FK K FK K FK FK K K FK FK K FKK FK FK K K R R K FK K KOR K KOR KOR KOR KOR K KOR KOR R K R R OR R K BADCODE EQU ST BAL MVC BAL R10 SVBADCOD R10 CHKLNS RREC BLANKS R10 WRITE 292 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N MVC RDATA TREC MVC RMSG CL16 CODE NOT A C D BAL R10 WRITE AP REJECTS P 1 BADCODEX EQU L R10 SVBADCOD BR R10 FEA AAA AAR A A A A I I kk 2k 21 21 21 24 BADADD Bad Add Attempted FKK K KK K K K KK K K K K K K ok ale K K KK 2K ok K K ok ok ok K ok K ode ok K K 2K ok ok X FK ok K K K ale ode X 2K X K K K K ale BADADD EQU ST R10 SVBADADD BAL R10 CHKLNS MVC RREC BLANKS BAL R10 WRITE MVC RDATA IREC MVC RMSG CL16 RECORD ON FILE BAL R10 WRITE MVC RDATA TREC MVC RMSG CL16 ADD UNSUCCESSFUL BAL R10 WRITE AP REJECTS P 1 BADADDX EQU L R10 SVBADADD BR R10 BEA AA AAR A A I I I I I kk 21 2k 2k R OR R k k 2k 2k 2k 2k kkk R BADCHG Bad Change Attempted lt 2K 2K lt x al ok ok ok ok K k X 3 ok oko ok ok ok ok ok ok K de KK X ok K K ok ok ale K ok K
334. e REPORT from OREC no line counting SVWRITE return 106 AO AAA AGRA A A A A I I I I 2k 1 21 24 24 2k oo k k kkk 2k kkk kk WRAPUP Those things which happen one time only after all records have been processed SEA AAA AA 9k 9k 9k A A A WRAPUP EQU ST R10 SVWRAP MVC OREC BLANKS MVC OCRLF WCRLF PC 370 only BAL R10 WRITE Skip a line MVC OREC 23 CL23 BZZ9 records processed MVC OREC 4 WMASK 208 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR ED OREC 4 amp IN Count BAL R10 WRITE CLOSE INVENTRY CLOSE REPORT WTO gt 0659 Sales recap on REPORT TXT L R10 SVWRAP BR R10 A I ok PK I I kk k a A ACI k k k kk kk kkk k k k akk k R KOR R K K kk K K k KK K K Literals if any will go here BEA AC k kkk k ok ok kkk k k kk k A kk k kk kk k k kkk k k R akk k R KOR k R K kk k kk kK K K LTORG BEA ooo ooo A A A IC I kk 21 21 File definitions BEA AAA R INVENTRY DCB LRECL 41 RECFM F MACRF G EODAD ATEND DDNAME COGS DAT REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT SAA AAA ARR 9k 9k A A A A RETURN ADDRESSES SE AAA A R OR R Rok 9k 9k 9k A A A A I I I ORO 21 24 24 2 2 k 2k 2k 2k 2k 2k kkk kk search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 K KK FK FK K FK K FK FK K K FK FK K FKK FK FK K K FKK FK FK K FK FK FK K FK FK FK FK K FK FK
335. e file RETURN Fatal error VALUE 1 1 R7 Save grade value R10 SVGRDVAL R10 5k 5k k 5k 9k ke oko okekekekokekekk ere eT eet eT Te Tee Te ee kk kk kk kk kkk k kk Kk OR R DOGPA Calculate and format GPA K sk sk ok ok sk kk 5k 5k K 5k 9k kk E E EE E E E E E k Ekk kk kk kk kk kk k kkk kk kk kK DOGPA EQU ST CP BE PUT DOGPA2 EQU MVC ED MVC ED PUT ZAP SRP ZAP BZ DP SRP ZAP R10 SVDOGPA ATTEMPT P 0 DOGPA2 REPORT HD4 TATTEMPT X 40202120 TATTEMPT ATTEMPT TQUALITY X 40202120 TQUALITY QUALITY REPORT TREC DIVIDEND QUALITY DIVIDEND 3 0 DIVISOR ATTEMPT DOGPA3 DIVIDEND DIVISOR QUOTIENT 64 1 5 PK3 QUOTIENT 399 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO B DOGPA3 EQU ZAP DOGPA4 EQU MVC ED MVC PUT DOGPAX EQU L BR DOGPA4 PK3 P 0 X 402021204B2020 PK3 AGPA WK7 2 REPORT AREC R10 SVDOGPA R10 KK FK FK K K K FK FK K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K K READSTU Read a student record ett et ett et ere k k kkk kk kk kk kk kk k kkk kk Kk OR K READSTUD EQU ST GET B ATENDSTU EQU MVI READSX EQU L BR R10 SVREADS STUDENT SREC READSX EOFSTUD C Y R10 SVREADS R10 gt lt gt K gt lt
336. e n mina para el per odo de pago que termina 1 2 93 Las cifras totales incluyen y cuentan como se muestra El informe debe aparecer como sigue 1 2 3 4 1234567890123456789012345678901234567890 SMALL TOWN PAYROLL Payroll Register for PPED 1 2 93 Employee Hours Gross XXX BZZ9 99 BZZ ZZ9 99 XXX BZZ9 99 BZZ ZZ9 99 XXX BZZ9 99 BZZ ZZ9 99 TOTAL BZZ9 99 BZZ ZZ9 99 There were BZZ9 checks printed 220 Capitulo 10 Quiebre de la logica de control de Objetivos Al t rmino de este cap tulo usted ser capaz de Describir el escribir rodar cero y ahorrar pasos utilizados en el proce samiento de control de descanso Dise o y programaci n de un programa con un solo control de proce samiento a nivel de ruptura Dise o y programaci n de un programa con m ltiples niveles de control de procesamiento de descanso y Dise o y programaci n de un programa mediante el control de descanso de procesamiento para producir un informe resumido Introducci n En cada uno de nuestros programas hasta el momento ninguna cuenta y o totales fueron mostrados al final del trabajo solamente En este cap tulo vamos a aprender a producir subtotales Subtotales se puede hacer en cualquier n mero de niveles y son el resultado del procesamiento de control de descanso En este cap tulo se presenta un solo nivel y m ltiples niveles de control de procesamiento de descanso No hay nuevas instrucciones se introducen en este cap tul
337. e per record BEA AAA R Rok 9k 9k 9k A A A A I A kk 2k 21 PROCESS EQU ST R10 SVPROC BAL R10 HDGS Start student on a new page ZAP ATTEMPT P 0 Init hrs attempted to zero ZAP QUALITY P 0 Init quality pts to zero PROC2 EQU Check for student ID found CLI EOFGRADE C Y on GRADE but not on STUDENT BE PROC3 This is a serious error CLC GSID SSID but for this program we will BNL PROC3 just skip all such records BAL R10 READGRAD B PROC2 PROC3 EQU Process all grades records CLI EOFGRADE C Y for the current student BE PROC4 397 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO CLC GSID SSID BNE PROC4 BAL R10 FORMAT BAL R10 READGRAD B PROC3 PROC4 EQU Having processed and all BAL R10 DOGPA grades records for the current BAL R10 READSTUD student do GPA line and read PROCESSX EQU the next student L R10 SVPROC BR R10 kk kk k k kkk k k k kk k k KOR R K R kk K k k kK k k FORMAT Format a single transcript line BEA ACC kkk kkk kkk k k kk k k kk k kk kk k k k kk k k R 1 k R KOR k A R KOR K K k kK K K FORMAT EQU ST R10 SVFORMAT MVC OSEM GSEM Move semester MVC OCID GCID course ID nbr and MVC OGRADE GGRADE grade earned to output BAL R10 CRSDATA Find course data in table MVC OCDESC 5 R3 Course desc comes from table ZAP PK2 20 1 R3 MVC OCHRS X 40202120 ED OCHRS PK2 Course hours comes
338. e registro a registro Esto se define como HOLDSEM DC gt Hold semester Nos dijo que el semestre ahora seria una parte de las partidas HD2 DS OCL42 DC CL21 Semester HDSEM DS CL3 DC 16 DC XL2 0D25 as que antes de imprimir los t tulos nos trasladaremos HOLDSEM a HDSEM HDGS EQU ST R10 SVHDGS PGS P 1 MVC HDPGS X 40202120 ED HDPGS PGS PUT REPORT FORMFEED MVC HDSEM HOLDSEM PUT REPORT HD1 Por supuesto queremos que el semestre del primer registro para ser re conocidos como tales de lo contrario vamos a tratar de imprimir los to tales despu s de haber le do el primer registro nico Asi inicializamos HOLDSEM dentro de la rutina de instalaci n inmediatamente despu s de la lectura cebado BAL R10 READ MVC HOLDSEM ISEM Control break Como se procesa cada registro vamos a comprobar si hay cambios en el semestre Dado que este es un cheque hecho para cada registro que ser por supuesto entran en la rutina de proceso en contraposici n a la SETUP o Wrapup Vamos a invocar una rutina por separado CHKSEM para ver si el semestre se ha cambiado Lo hacemos s lo para mantener el proceso de rutina simple y ordenado 228 10 2 SINGCAH EVED CONQRUIBRRHNKLALDOGIGA DE CONTROL DE PROCESS EQU ST R10 SVPROC BAL R10 CHKSEM See if new semester donde CHKSEM se define como Add Rd od od K ok CHKSEM Check for change in semester control break
339. e ventas de Industrias Dind n El dise o de registro para COGS DAT se mostr en de la primera p gina de este cap tulo Vamos a utilizar la definici n de registro siguiente Ad RR dd OK OK OK Input record definition eokokeokok ok ok ok ok 5k kokekeke ACARI GI I ok ok PK A ok 1 SKOR 9k 4 1 21 21 2 4 24 21 1 3 4 4 kk kkk kkk kkk k kkk IREC DS OCL41 1 41 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS CL3 11 13 Units sold in Calif IILL DS CL3 14 16 Units sold in Illinois IUTAH DS CL3 17 19 Units sold in Utah IWISC DS CL3 20 22 Units sold in Wisconsin IBEGIN DS CL3 23 25 Beginning inventory IPURCH DS CL3 26 28 Purchases throughout year 1Q0H DS CL3 29 31 Actual quantity on hand ICOST DS CL4 32 35 Cost each 99V99 ISELL DS CL4 36 39 Sell for each 99V99 ICRLF DS CL2 40 41 PC 370 only CR LF El dise o de impresi n de la Cr nica de ventas es el siguiente 123456 123456789012345678901234567890123456789012345678901234567890 Ventas Cr nica Producto Calif malos Utah Wisconsin TOTAL XXXXXXXXXX XXX XXX XXX XXX XXX XXXXXXXXXX XXX XXX XXX XXX XXX XXXXXXXXXX XXX XXX XXX XXX XXX XXX registros procesados as que vamos a utilizar la siguiente definici n de registro de salida A Rd OK OK KK OK Output line definition kkk kkk kkk K OREC DS OCL62 1 62 154 7 8 EJEMPLO DE PROGRAMACION LA PRODUCCION DE LA CR NICA DE VEN ASITULO 7 BOLSAS DE
340. ede mostrar los datos en cuesti n antes de permitir que el programa para continuar Para hacerlo escriba d por pantalla Los datos en cuesti n comienza en la posici n 000 080 por lo que a adimos X 200 dar 000280 que tipo 280 como la direcci n cuando se le pida 175 7 15 EJERCICIOS CAPITULO 7 BOLSAS DE ARITMETICA DECIMAL d A 280 000280 001C1COO 00000000 00000000 0007C6F8 F8 000290 00000000 00000000 00000000 00000000 T Podemos ver que suma que se defini como PL2 0 ahora tiene un valor de 1 X 001C por lo que sabemos que la AP trabaj por primera vez Pero tambi n podemos ver que dos tiene un valor de X 00 que es v lido n mero decimal de pic nic Nosotros hemos encontrado el error Queremos cambiar el C digo CTM ensamblar enlace y ejecutar Con la pr ctica s PC 370 facilidad de prueba se convertir en una her ramienta de valor incalculable 7 15 Ejercicios 1 Verdadero o falso Para cada una de las siguientes suponen una CL3 71D DC DC CL3 B C DC PL2 2 D DC PL2 3 DC CL y E 2 Comience con nuevos datos para cada pregunta a La representaci n hexadecimal de A es X F7F1C4 F T b Los bits num ricos de A son 0111 0001 y 0010 F T c PACK B B A hace X 00071D F T d UNPK B C B X 00002D hace F T e MVZ A 2 1 X F0 hace que A X F7FI1FD F T f APC D D hace X 001C F T La representaci
341. ede incluir un punto decimal X 4B La m scara debe incluir una X 20 X 21 para cada d gito en el campo de Bolsas de ser editado El n mero total de X 20 y X 21 ser siempre un n mero impar La m scara puede incluir un signo final X 60 o CR X C3D9 o DB X C4C2 gt que se sustituye por el car cter de relleno si el n mero es negativo 9 3 Ejercicios 1 Verdadero o falso a b Si un literal se utiliza como una m scara de edici n que literal se publicar en el LTORG F T La longitud total de una m scara de entrada debe ser un n mero impar F T La edici n de instrucci n como PACK y UNPK es una instrucci n de tipo SS que permite a F T un operador de larga duraci n tanto los operandos Un campo de salida debe ser fresco antes de las modificaciones posteriores incluso si ese campo F T se defini con un DC y una m scara de edici n La X21 en la m scara indica el ltimo byte en ceros a la izquierda se sustituye por el car cter de relleno Si una edici n termina m scara con X C3D9 a continuaci n los n meros negativos se imprimir con CR F T y los n meros positivos se imprimir con DB Si una edici n termina m scara con X 60 entonces los n meros negativos se imprimir con un final F T signo Una m scara de entrada debe tener un X 4B para cada coma F T Si est editando el campo se define como PL3 a continuaci n
342. el n mero de desempaquetado Ese campo tambi n contendr todos los despedidos F que hemos hablado antes As por ejemplo UNPK WK5 C donde WK5 DC CL5 dar WK5 X FO0FIFSFOCI Al igual que en nuestra discusi n sobre el trabajo Bolsas de campos de la PKN formulario de arriba a menudo se definen los campos como WK5 arriba como campos de trabajo Por ejemplo WK3 DC CL3 WK4 DC CL4 etc De ahora en adelante si Me refiero a un campo de WKN entonces se entiende que me estoy refiriendo a un tipo de trabajo de campo C de tama o de n Si el campo de recepci n es demasiado peque a para el n mero sin envasar los d gitos de orden superior se truncado Por ejemplo UNPK C dar WK3 X F8F0C1 donde WK3 se defini como WK3 DC Si el cam po de recepci n es mayor que el necesario para mantener el n mero sin en vasar ser alinea a la izquierda con s X F0 Asi UNPK dar X FOFOFOF1F8FOC1 donde se WK7 define como DC CL7 Usted probarlo Teniendo en cuenta Q PL2 DC 708 14 Mostrar WK3 despu s UNPK WK3 Q 15 Mostrar WK2 despu s UNPK WK2 Q Dado R DC PL1 9 16 Mostrar WK1 despu s UNPK WK1 R 17 Mostrar WK3 despu s UNPK WK3 R 7 7 La Instrucci n MVZ En el ejemplo anterior incluso despu s de desempaquetar campo C voy a tener un problema en la impresi n debido a el signo C se muestra como 01804 porque X C1 el equivalente EBCDIC de Ca
343. el redondeo C mo funciona es bastante interesante Tenga en cuenta la siguientes FLDA DC PL4 1278 lo mismo que X 0001278C 317 13 3 REDONIARDICON SBP M S BOLSAS DE ARITM TICA DECIMAL La instrucci n de las causas SRP los datos en el primer operando a ser de splazado a la izquierda oa la derecha por el n mero de d gitos especificado en el segundo operando Por ejemplo SRP FLDA 1 0 dar a X 0012780C fs 5s Este cero dice que no todo el a o La opci n de redondeo no Aplicaci n a la multiplicaci n UE ste dice que cambia a otro d gitos a la izquierda Tenga en cuenta que el resultado X 0012780C es igual a PL4 12780 o 12 780 que es el mismo que si nos FLDA se hab a multiplicado por diez Otro ejemplo utilizando los datos originales SRP FLDA 3 0 dar a X 1278000C atout Este tres dice a cambio de tres d gitos a la izquierda Tenga en cuenta que el resultado 71278000 igual PL4 1278000 o 1 278 000 que es el mismo que si FLDA que se hab an multiplicado por mil Por supuesto 1000 10 3 por lo tanto el 3 como el segundo operando y en general SRP con un segundo operando de n es equivalente a multiplicar por el campo 10n Otro ejemplo SRP FLDA 62 0 dar a X 0000012C Este cero dice que no todo el os ses Este 62 que es 64 2 dice que d gitos cambio de dos a la derecha Tenga en cuenta que el resultado X 0000012C es igual a PL4
344. emallera c digo las primeras letras tercero y cuarto del apellido y la primera hasta seis n meros consecutivos de la direcci n de la calle As pues dada KATHY NEGRO 618 S ANZA PASADENA CA 91106 El c digo de partido ser a 91106BAC000618 Tenga en cuenta los siguientes nombres dar a el c digo de un mismo par tido Kathi NEGRO CATHY NEGRO K NEGRO J y C NEGRO Su tarea es la siguiente El registro de entrada es de 80 bytes de longi tud con el c digo postal en las posiciones 1 5 el ltimo nombre en las posiciones 21 32 y la direcci n de la calle en las posiciones 33 62 Todos los dem s las posiciones no han sido utilizados en este ejemplo El c digo de partido es de 14 bytes de longitud como se ilustra arriba Usted est en el c digo del DS y MVC necesario para mover el c digo postal para las posiciones 1 5 del C digo del partido y para mover las posiciones 1 3 y 4 del apellido a las posiciones 6 7 y 8 respectivamente del C digo del partido Tenemos que hacer nada con la direcci n de la calle en este ejemplo Challenge C digo de la DS y MVC de manera que el nombre se puede mover con dos ni os m s vulnerables 6 Producir una lista formateada de los registros en el archivo del estudiante Cada l nea debe ser 33 bytes de largo exclusiva de la CR LF El informe deber incluir el informe y los encabezados de columna El formato deseado es el siguiente 1 2 3 123456789012345678901234567890123
345. ement count LA R6 L TITLES R6 No Point to next row BCT LOOK Repeat till all entries LH R7 TTLS Reload actual nbr entries NOTFOUND EQU Want to add title to table CH MAXTTLS Is table already full BNL TOOMANY Yes then message MVC 0 6 R6 TITLE No then add title ZAP 6 4 R6 P 1 Initialize count to one LA R7 1 R7 Increment nbr entries STH R7 TTLS and save B LOOKED Done with new entry TOOMANY EQU Table not large enough WTO Too many titles for table RETURN FOUND EQU Found title in table AP 6 4 R6 P 1 Increment count for title LOOKED EQU Title has been processed Explicaci n MVC 0 6 R6 ITITLE Mueva el t tulo del registro de entrada a la posici n a la que registro de 6 est se alando Recordemos que se determina la longitud de un MVC por la longitud del primer operando Debe mos especificar una longitud en la primer operando por lo tanto el 6 en el interior del par ntesis Recuerde que el siguiente formato D 376 15 3 CARGANDO UNA TME A UDO TEE MPG DA MIENTO L B donde D es el desplazamiento L es la de longitud y B es la base de registro Recordatorio especificar la longitud s lo si el formato de la instruc ci n as lo requiere En un ejemplo anterior se utiliz MVC ODESC 4 R8 a mover la descripci n de la tabla a la salida Un operando de longitud aqu habr a sido adecuado es decir MVC ODESC 4 25 R8 es v lido ZAP 6 4
346. emos multiplicando la extra a pareja incluso por un fullword con un valor de uno Recuerde que para multiplicar que incluso especificar el registro de la incluso par impar y el producto va a ocupar el par En tercer lugar se dividen Especificar el registro de n meros pares como el primer operando y un fullword que contiene el divisor es el segundo operando Si el primer operando no es un n mero par de registro recibir una excepci n de la especificaci n en tiempo de ejecuci n 415 RA R5 16 3 BINARY DIVISI N KIA D YUDO INSTHHS GRINBSETICA BINARIA Por ltimo el cociente ser el registro de n mero impar y el resto ser en el a n registro numerado Como se mencion anteriormente el contenido del registro de pares es impor tante es decir tanto registros en el par determinar el valor del dividendo Re conociendo esto no es raro que ver a alguien a cero el registro de n meros pares restando de s misma como en SR R8 R8 pero esto no funcionar si el divi dendo es negativo En su lugar multiplicar el par por un fullword de uno como se muestra arriba con el fin de mantener la integridad de la se al Echemos un vistazo m s de cerca el ejemplo de arriba Teniendo en cuenta SUM DC F 214 00 OO OO D6 COUNT DC F 8 00 00 00 08 AVG DC PL3 O 00 00 OC Para dividir SUM por el Conde dar PROMEDIO 214 8 26 resto 6 R8 R9 L R9 SUM 2 00 00 00 D6 R8 R9 R8 F 1
347. en F T i Dado TM B 1 B 10000000 y BO PASE la rama que se adopten F T j OC A B da un X 3C10 iguales F T k La instrucci n SRL se usa para multiplicar un registro por una po tencia de 10 F T 1 Habida cuenta de registro de 4 contiene 10 Despu s SLL R4 3 segui do SRL RA 3 registro 4 F T todav a contiene 10 m Habida cuenta de registro de 4 contiene 10 Despu s SRL R4 3 segui do por SLL registro 4 F todav a contiene 10 2 Complete los siguientes cuadros EXCLUSIVE OR Operand 10101010101 01 Operand 20011001100 11 Result 3 Suministro de los bits de la m scara y la bits resultantes de FLD a OI FLD FLD 11000110 M SCARA FLD b NI FLD FLD X E4 1 1000110 M SCARA FLD 445 17 8 EJERCICIOSCAPITULO 17 A NIVEL DE BITS DE OPERACIONES XI FLD FLD X 7A 1 1000110 MASCARA FLD d OI FLD FLD X B3 11 0 0 0 11 0 MASCARA FLD NI FLD FLD X A6 11000110 M SCARA FLD f XI FLD FLD X AA 11000110 MASCARA FLD g OL FLD FLD X 0F 711000110 MASCARA FLD 4 Teniendo en cuenta los valores especificados para antes mascarilla y FLD despu s el suministro de los desaparecidos FLD instrucci n a b FLD 11000110 MASCARA 11100100FLD11000100 FLD 10001101 MASCARA 11111001FLD11111101 c FLD11010001 MASCARA 00001111 1 11011110 d FLD11010111M scaral 1010010 FLD11010111 FLD11010111M SCARA00110100FLD00010100 FLD11010111M SCARA00110101FLD11100010 0
348. eral despu s de que Volveremos a este problema 13 4 1 La Instrucci n DP En el desempe o de cualquier aritm tica en BAL debemos tener en cuenta que no existe una asignaci n por punto decimal es decir toda la aritm tica BAL se presume que es la aritm tica de enteros Depende de usted como el programador no perder de vista que el punto decimal se van y puso all al imprimir el n mero Esto es a n m s complicada en el caso de la divisi n Toda divisi n BAL es divisi n de m dulo es decir el resultado de una divisi n es siempre un cociente entero y un entero el resto nunca un n mero fraccionario Una revisi n de la terminolog a de la divisi n es adecuada Si se dividen 25 por 4 tengo 6 y un resto de 1 El dividendo es 25 el divisor es 4 y el cociente es de 6 Dividend 25 6 lt Quotient Divisor gt 44 25 24 1 lt Remainder Eso es lo que es como en BAL Como resultado de una divisi n se obtiene un cociente y un resto El formato de la instrucci n de la brecha de relleno es 320 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL DP dividend divisor Ambos campos deben ser v lidos n meros empaquetados o bien el programa Abend A ra z de la brecha esta parte es muy raro el rea que contiene el dividendo se divide en dos partes el resto se coloca en el lado derecho de dividendos Su longitud es igual a la del divi
349. eral despu s de que volveremos a este problema 13 1 Las instrucciones que Multiplicar El formato general de las Bolsas de Multiply MP la instrucci n es MP FLDA FLDB Esta instrucci n se multiplicar n FLDA por FLDB almacenar el producto resultado en FLDA Por supuesto tanto los campos deben ser v lidos campos de pic nic Hay tambi n dos otras normas muy importantes La longitud del segundo operando debe ser menor o igual a 8 y 308 13 1 LAS INSRRUCCIONES QUE BONSABIDE ARITM TICA DECIMAL El primer operando debe tener tantos bytes de alto ceros orden ya que hay bytes todos los bytes en el segundo operando Tenga en cuenta que sigue por tanto que el segundo operando debe ser menor en longitud que el primer operando Esta segunda regla es algo confuso y se explica mejor a trav s de algunos ejem plos Habida cuenta de la siguientes definiciones FLDA DC PL3 5 FLDB DC PL3 20 FLDC DC PL3 1000 FLDD DC PL5 5 FLDE DC PL5 20 FLDF DC PL5 1000 Tenga en cuenta la multiplicaci n de las instrucciones siguientes 1 MP FLDA FLDB Recordemos que la longitud del primer operando FLDA aqu debe ser mayor que la longitud de la el segundo operando FLDB aqu Dado que estos campos son de igual longitud ambos son PL3 este MP no es v lido Tenga en cuenta que esto es a pesar del hecho de que el producto 5 20 100 se ajuste en un Campo PL3 Nota Esta instrucci n se reunir n correctamente El err
350. ero debe ser convertido a forma de pic nic antes de editarlo Considere el siguiente ejemplo Teniendo en cuenta GROSS DS F Gross sales 99999V99 SALESTAX DS F Sales tax 9999V99 NET DS 10 Net Gross Tax BZZ ZZ9 99 DBLWORD DS D Work field para a adir a continuaci n ImpuestoVenta BRUTO dando NET con formato que el c digo L R4 GROSS Gross sales in R4 A R4 SALESTAX Add sales tax CVD R4 DBLWORD Convert to packed for printing MVC NET X 4020206B2021204B2020 BZZ ZZ9 99 ED NET DBLWORD 4 Seven digits in NET so edit the last four bytes of DBLWORD only intenta 7 Dado CINCO H 5 DC tres DC y RESULTADO DC X 40202120 escribir un programa corto que restar Tres de CINCO dando RESULTADO Uso de la OMC para mostrar RESULTADO Definir los campos de otra indole que es necesario pero no todos los campos de la aritm tica en binario es decir el uso embalados necesaria para la ED comando 350 14 6 MUESTRA DEL PROGRAMA DATOS DINDON CONVERTIR A BINARIO CAPITULO 14 BINARY ARITHMETIC 14 6 Muestra del Programa Datos Dind n Con vertir a binario Para ilustrar atin mas los conceptos que han sido presentado anteriormente veremos a los dos Inventario de datos ejemplos de programaci n Recordemos el Inventario de W ASCII n meros Las discrepancias informe para las Industrias Dind n COGS DAT en Zonalizada Decimal presentado en un cap tulo anterior El formato de archivo de inventario Se COGS DAT
351. error una operaci n DELETE en Match es un error F T una operaci n de ADD en TRANSLOW es un error F T una transacci n CAMBIO en TRANSLOW es un error F T una operaci n DELETE en TRANSLOW es un error F T leemos la pr xima MASTER y registros de transacciones al final de la PROCESO F T de rutina Nuevos amos Old Masters agrega v lido Borra v lida F T OPERACIONES EN LAS OPERACIONES rechaz agrega v li do Borra v lido 2 La siguiente tabla muestra el n mero de registros en el archivo el viejo maestro y la clave y la tipo de transacci n para los registros en el archivo de transacciones Determinar qu registros se escrito a presentar la nueva obra maestra y el suministro de la cuenta para el informe de auditor a old Master Trans Key Type new Master 112 222 d 222 223 a 317 496 a 469 558 d 558 628 d 627 731 731 808 880 914 914 921 Informe de auditoria 303 12 3 KXARICIQIOSI2 CUENCIAL DEL ARCHIVO DE ACTUALIZACI N En las transacciones Transacciones rechazadas En los viejos maestros Old Masters eliminados Old Masters cambiado Nueva A adido Masters Nuevo m ster de salida 3 Cu l de los siguientes informes de auditor a indican un error de progra ma a Transactions In 35 b Transactions In 23 Transactions Rejected 5 Transactions Rejected 3 Old Masters In 50 Old
352. esde AZIP se define como CL5 un total de cinco bytes ser n comparados El hecho de que BZIP tambi n se define como CL5 es irrelevante CLC AZIP BZIP SLOTS h ent 3 2CAR NDARA EN BEAN CAR CTER FIELDS La primera diferencia que se produce en el tercer byte Desde el 1 es inferior a 5 AZIP es inferior a BZIP y el c digo de estado resultante es 0100 o 4 baja 3 CLC CSEX BSEX Desde CSEX se define como CL1 la primera y nica de bytes de cada campo sera comparado El hecho de que BSEX tambi n se define como CL1 es irrelevante CLC CSEX BSEX Como es mayor que viene despu s de F el c digo de estado resultante es 0010 0 2 o alto 4 CLC AZIP CZIP Desde AZIP se define como CL5 un total de cinco octetos ser n com parados aunque CZIP se define como CL9 los cuatro bytes de la derecha CZIP no est n incluidos en la comparaci n CLC AZIP CZIP ss a c 8 3 cr het ret Los cinco octetos son iguales El c digo de estado resultante es de 1000 o 8 o igual 5 CLC CZIP AZIP A primera vista puede parecer que la respuesta debe ser la misma que para el n mero 4 pero ese no es el caso Desde CZIP se define como CL9 un total de nueve octetos ser n comparados aunque AZIP se define como CL5 Los nueve octetos comparaci n ser el contenido de AZIP adem s de los pr ximos cuatro bytes en el registro es de
353. esores tabla 1 3 TEACHERS adoptadas por el Colegio Small Town de la Comunidad base de datos El dise o de registro siguientes describen el archivo TEACHER DAT 1 TID ID Profesor 1 3 3 ZD 2 TNAME Nombre del Profesor 4 18 15 CH 3 TDEG Grado m s alto 19 22 4 CH 4 TTEN Titular 23 23 il S N 5 Tel fono Profesor 24 27 4 ZD 6 TCRLF S lo pc 370 28 29 2 CR LF ZD est dividido en zonas para decimal Esto significa que el campo es num rico sino que se almacena en un inmediato ZD formato legible en lugar de relleno o binaria que veremos m s adelante Si usted sabe COBOL este es el mismo que un campo PIC 9 CH representa el car cter Esto significa que el campo puede o no puede ser una letra Todo vale En COBOL este es el mismo como un campo de PIC X CR LF significa un retorno de carro avance de linea Esta es una con sideraci n muy importante cuando se utilizan CR LF PC 370 En un entorno de mainframe bases de datos generalmente utilizan reg istros de longitud fija es decir todos los registros de tienen el mismo n mero de caracteres y cada campo de un registro empieza en la misma posici n en todas las registros Si su experiencia se limita a la programaci n BASIC este probablemente ser muy nuevo para usted Siempre que utilice un PC para crear un conjunto de datos como sta usted nat uralmente pulsa RETURN despu s de cada registro o fila En una PC pulsando la tecla RETURN a ade dos c
354. evisited 170 7 14 Datos de errores de excepci n 171 f 15 EJOrcicios Tu eR Ed ds qae 176 8 L gica de Salto de p gina 182 8 1 La rutina CHKLNS 14x GG aR a RSS 183 8 2 Incluyendo el n mero de p gina en las l neas de definici n 184 38241 La rutina ici ee 2 2 2 a lat 185 8 2 2 La L nea FORMFEED 185 8 2 3 Ejemplo de programa de soluci n 187 8 2 4 Ahorrar papel 191 8 9 Ejercicios 25 de BAe RE ERR 191 INDICE GENERAL INDICE 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 196 9 0 3 Indicando 198 9 0 4 Impresi n Decimal Puntos 198 9 0 5 Impresi n de la Se al 199 9 0 6 Impresi n CR cr dito o DB de d bito 200 9 0 7 de Protecci n 201 9 0 8 La documentaci n de la m scara de edici n 201 9 1 Muestra del Programa 202 9 2 Informes Dind n Revisited 205 9 2 1 RESUMEN xou dod a X ali a 216 9 3 Ejercicios uA hae A ER VE 217 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 1
355. f TTOTAL DC PL2 0 Grand total nationwide PK2 DC PL2 0 PERCENT EQU Cry COPY DIVISION COPY COGS lt gt gt lt lt t ok K K ok ok ale X K K K 3 ok oko ok ok ok ok ok ale K de KK de ok K K ok ok ale K ok ale de ok K FK K ok ok X FK ok K K K ale ode ok K K 2K ok ale ale K ale Output line definition k kk kk kk kkk k kkk kkk kkk K OREC DS OCL62 1 62 ODESC DS CL10 1 10 Product description DS CL7 11 17 OTOTAL DS CL4 18 21 Units sold Nationwide DS CL9 22 30 OCALIF DS CL4 31 34 Units sold in Calif DS CL8 35 42 OPCT DS CL4 43 46 Percent sales from Calif DS CL14 47 60 OCRLF DS CL2 61 62 PC 370 only CR LF kkk kkk kkk K Headings definitions et kkk K HD1 DS OCL62 DC CL60 COGSWORTH INDUSTRIES DC XL2 0D25 HD2 DS OCL62 DC CL60 California s Contribution to Sales DC XL2 0D25 332 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL HD3 HD4 HD5 HD6 DS DC DC DS DC DC DC DS DC DC DC DS DC DC DC END OCL62 CL60 gt XL2 0D25 OCL62 CL40 Nationwide CL20 Percent of XL2 0D25 OCL62 CL40 Prod
356. file Sorting the course file TRANSCR2 Begin execution TRANSCR2 Transcripts on REPORT TXT TRANSCR2 Normal end of program Cleaning up Done A MIN gt 15 8 Un resumen de las m s comunes Cuadro Instrucciones de procesamiento A punto de un registro a una tabla LA R8 TABLE L R8 A TABLE 405 15 9 EJERCICIOS CAPITULO 15 TABLA DE PROCESAMIENTO Para hacer un recuento en un registro L R7 F 5 LH R7 H 5 LA R7 5 Para apuntar a la fila siguiente A R7 F gt 29 AH R7 H 29 LA R7 29 R7 Para copia de seguridad de un registro como en el punto a una fila anterior 5 R7 F 29 SH R7 H 29 Si usted es una copia de seguridad por un valor de un s lo tambi n se puede utilizar R7 0 Para borrar cero de un registro L R5 F 0 LH R5 H 0 SR R5 R5 SLR R5 R5 15 9 Ejercicios 1 1 Verdadero o falso Todas las preguntas se refieren a la serie de sesiones siguiente programa REGIONS DS OCL10 EAST DC PL2 0 CL8 EAST MIDWEST DC PL2 0 CL8 MIDWEST WEST DC PL2 0 CL8 WEST DC X FF TOTAL DC PL3 O a a El al final de la tabla se conoce como un centenario T b b Para 1 al Medio Oeste podemos usar AP MIDWEST 1 Para registrar el punto 3 del inicio de la mesa podemos usar LA R3 REGIONES F T 406 15 9 EJERCICIOS CAPITULO 15 TABLA DE PROCESAMIENTO d d Si el registro 3 se apunta a u
357. final en lugar de una asterisco X FF en vez de un asterisco Qu son estos campos signo de d lar END y X FF llama cuando se usa de esta manera 2 Cada cuenta se define como PL4 lo que significa que cada uno puede tener hasta 9 999 999 Qu cambios Ser a necesario que la definici n de tabla y el segmento de programa si cada cuenta se ha cambiado de PL4 a PL3 Indique la nueva gama de valores para estos cargos 15 2 Contador de ciclos controlados Se podr a muy bien haber aplicado esta como un contador de bucle contro lado En la base esto habr a aparecen como sigue 500 REM Print counts 510 MASK N 4 THEE 520 FOR I 1 TO 7 530 PRINT USING MASK DESC I COUNT I 540 NEXT I 373 15 2 CONTADOR DE CICAB TTOOTBONMBDA DE PROCESAMIENTO La aplicaci n de BAL de un contador de ciclo controlado se puede hacer de la siguiente manera Los comentarios en l nea deber a ser suficiente para explicar el c digo LA R8 COUNTS R8 POINTS TO FIRST ROW R7 H 7 THERE ARE SEVEN ROWS LOOP EQU MVC ODESC 0 R8 DESC COMES FROM WHERE R8 POINTS MVC OCOUNT EDCOUNT MOVE MASK PRIOR TO EDIT ED OCOUNT 25 R8 COUNT COMES FROM 25 BYTES PAST BAL R10 PRINT WHERE R8 POINTS AH R8 H 29 POINT TO NEXT ROW SH R7 H 1 SUBTRACT ONE FROM ROW COUNTER BH LOOP IF RESULT gt ZERO THEN REPEAT KOR OK KOR KOK OE KOK OK KOK KK OK KOK OK OK Es til se alar que podr amos haber codificado el cuadro que cuenta c
358. finitions BE ok 5k 5k ok ok 5k Pk ok ok 9k Pk ok ok 9k k ok ok kkk k k kk k k kk k k k kk k k k kk k k k 1 k R KOR R R EOFMAST DC CL1 N End of master file Y N EOFTRANS DC CL1 N End of transaction file Y N EDCOUNT DC X 40206B2020206B202120 BZ ZZZ ZZ9 PGS DC PL2 0 Nbr of pages printed LNS DC PL2 20 Lines printed on this page MAXLNS DC PL2 20 Max nbr lines per page My line counts exclude hdgs BLANKS ODS OCL80 299 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N DC CL78 XL2 0D25 YK sk kk ok 5k ok ke ok eS 2K 2K K K Transaction codes kk okek EEEE E K E dd R R KOR ok k Kk k K kkk kkk kkk OR KOR KKK K Kk k KK k K K KOR K K ADD EQU CA CHANGE EQU C C DELETE EQU KK akak 3K ak 3k 3k 3K aK 3K ak K K 3K aK 3K 3k 2K aK 3K aK K 3K 3K aK 3K 3K 2K aK 3K 3K aK 3K 2K aK aK 3K aK 3K 3K 3K aK 3K K K K 3K K 3K 3K 2K gt K 3K K K K 2K K 3K 2K K K Counts for audit purposes Yc 3k sk sk sk sk 5k ok kk ke PK 5k joke ok OR k ak ok ok 3K 2k ok ke 9k ko oko 3K 2k ke ROR R OR KOR 3K 2K K 2k 2k 2k K OR OR OK 2K K TRANSIN DC PL4 0 Transactions In REJECTS DC PL4 0 Transactions Rejected HOLDIN DC PL4 0 Old Masters In DELETED DC PL4 0 Old Masters Deleted CHANGED DC PL4 0 Old Masters Changed ADDED DC PL4 0 New Masters Added NEWOUT DC PL4 0 New Masters Out Yc 3k sk kkk kk k PK 9k
359. forme resum ido s lo es decir en lugar de lista de cada curso y secci n ofrece durante un semestre dado vamos a mostrar cada departamento y el n mero de secciones ofrecidas por ese departamento El nuevo informe aparecer como sigue COURSE OFFERINGS Page 1 Semester W92 Dept Sections EG 1 MA 1 PE 1 Total 3 COURSE OFFERINGS Page 2 Semester F92 Dept Sections AC 1 BU 1 EG 2 MA 2 PE 1 Total T COURSE OFFERINGS Page 3 248 249 10 5 INFORAM TRHSOVMID Q UIEBQBLBBIAADEOPROG IDKWIGNONOL DE Semester W93 Dept Sections EG 1 MA PE 1 Total 4 10 5 1 Informe resumido L gica Aunque en este informe difiere considerablemente del informe anterior los cambios necesarios para elaborar este informe son realmente trivial En primer lugar no hay informes de nivel de registro por lo que la de ramificaci n y enlace con el formato y las rutinas ESCRIBA han quitado de la rutina PROCESO En De hecho la rutina de formato se ha retirado del programa por completo En segundo lugar el formato de la cuenta se ha cambiado en el ENDSEM y rutinas ENDDEPT Todos los dem s cambios son para el formato de solamente 10 5 2 Informe resumido Soluci n de programa ff 40 4207 289p PRINT NOGEN K FK K KK FK Rd KOR ORO R R OR R OR FILENAME OFFER10D MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 Multiple level control break Minor break dept is summary only
360. gar de CL1 1 MVC Valores equiparados no se puede utilizar como operandos de una Por ejemplo la siguiente no funcionar donde 37 155d 62a gt MVC RACE HISPANIC HISPANIC EQU C 1 MVC STATUS DIVORCED DIVORCED EQU C D X OOK OK OK OK CK ck CK ck CK ck ck OK ck CK ck OK OK OK x Usted probarlo Vuelva a colocar la MVI con MVC en cada uno de los siguientes 12 MVI tipo donde C a Type DC CLI 13 MVI EOFSW TRUE donde EOFSW DC CL1 VERDADERO EQU C 1 FALSO EQU 14 d nde MVI ERRSW reconocidos ERRSW DC CL1 ENCONTRADO EQU Teniendo en cuenta SWITCH sustituir la siguiente con los AT MVIS DC CL1 MVC Switch vuelta CL1 off MVC Switch vuelta CL1 X en la 15 sin ecuaciones 16 con las ecuaciones Kock ok ok ok k K k ok k k R OE ok k k ok k k k Nuestro programa anterior MOVE2C MLC se ha modificado para utilizar un valor equiparado e incluye donde ff 40 453 57b MVI HYPHEN EQU 56 2 2 DECAYE VIO HREEINIXBIAINSS AIOXWNAIEROCDE CAR CTERES El nuevo programa MOVE2D MLC del siguiente modo 57 ff 40 456b 61 gt PRINT NOGEN KK ak 3K 3k A I K K 5k K 9k 2k aK aK I A aK 3K 5k A 3K 3K OR aK 3K I 3K 9k PK I 3K A 2k A K K 3K OR FOR Ak 3K K 2K ak ak K K FILENAME MOVE2D MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Demonstrate character moves
361. gistro el primer operando intenta 2 Teniendo en cuenta completa es una fullword y la mitad es una media palabra muestran tres formas diferentes para comparar COMPLETO y medio En cada caso rama en la etiqueta bajo si el valor de FULL es menor que el valor de la La mitad 14 2 Mover un registro a una Fullword o half word En el cap tulo cuatro se vio que lo contrario de la instrucci n de carga L es la instrucci n de la tienda ST de las copias de la tienda de instrucci n el valor de un registro a una fullword Del mismo modo lo contrario de la ense anza media palabra de carga LH es la instrucci n media palabra de la tienda STH la ense anza media palabra tienda se copia el valor de un registro a una media palabra el mantenimiento de del itegrity del signo sino tambi n truncar si es necesario y sin previo aviso Qu debe hacer si usted sabe el valor de una fullword cabr en una media palabra y usted quiere copia que fullword a una media palabra Por ejemplo dada FULL DS F HALF DS H 347 14 2 MOVER UN REGISTRO UNBIFULDV R BINARY AWIORIMETIC usted puede tener la tentaci n de hacer lo siguiente MVC HALF FULL 2 pero no lo hagas Usted debe pasar por un registro de lo contrario poner en peligro la integridad de la signo La soluci n correcta es L R5 FULL STH R5 HALF intenta 3 Escriba el c digo necesario para mover el valor de la mitad a pleno 4 Escriba el c digo necesario pa
362. gle detail line ok R OR KOR 3K 2K 2k 2k K 2k gt K OR OR OK R K WRITE EQU ST R10 SVWRITE PUT REPORT OREC Write report line L R10 SVWRITE BR R10 lt 3k 3k kk ok 5k ok ke k k PK 5k kk 9k ok ke ke ke ak 9k kk ok ok SKOR ok ke 9k KOR R k 2K 3k 2k 9k ok ke eS 2K 2K R K WRAPUP Those things which happen one time only after all records have been processed K K K K K K K K K X K ok oko ok ok ok ok ok ok ok de KK X ok oko ok ok ok K ok ok ook ok oko K ok ok X FK ok ok K K ale ok K K K ok K K K ale ale WRAPUP EQU ST R10 SVWRAP PUT 6 MVC OREC BLANKS MVC ODESC 6 C TOTALS MVC OTOTAL X 40202120 ED OTOTAL TTOTAL MVC OCALIF X 40202120 ED OCALIF TCALIF ZAP DIVIDEND TCALIF ZAP DIVISOR TTOTAL SRP DIVIDEND 3 0 DP DIVIDEND DIVISOR SRP QUOTIENT 64 1 5 ZAP PK2 QUOTIENT MVC 40202120 ED OPCT PK2 MVI OPCT L OPCT PERCENT MVC OCRLF WCRLF PC 370 only BAL R10 WRITE CLOSE INVENTRY CLOSE REPORT WTO 2COGS13B Sales report on REPORT TXT L R10 SVWRAP BR R10 BE AC k ok Pk k ok 9k kkk k I ICI k A kk k kk a A kkk k k k kk k k KOR R R R kk K kk kk k K Literals if any will go here gt K 5k sk sok 5k sk 5k ok kk kk kkk kkk a A ACI k k k k kkk k k k kk k R KOR R K R kk K K k kK OR K LTORG gt lt gt K gt lt x gt lt gt lt
363. gramas a la computadora central y hagan los cambios necesarios para ejecutar sus programas all Yo lo hice durante la ense anza de este curso en la Universidad De Paul y fue de mucho xito Los cambios son triviales y se discuten en el Ap ndice B Acerca de PC 370 Al ensamblar y enlazar un programa PC 370 podr s ver un recordatorio de que es shareware y que usted debe enviar cuarenta y cinco d lares para convertirse en un usuario registrado No es necesario registrarse como se indica a continuaci n carta en el archivo Por su petici n le env o la presente carta confirmando que Don ald S Higgins autor de la Paquete shareware PC 370 ya no acepto registros y usted es libre para distribuir la versi n shareware sin cargo alguno La ltima versi n del shareware PC 370 es de 4 2 de enero 1988 Hay una copia de esta versi n disponible para descargar en el PC Compuserve en el Foro de programadores de la biblioteca bajo el nombre de PC370 ZIP Atentamente Firmado Donald S Higgins Gracias a Don para el desarrollo de este gran producto 10 Capitulo 1 Primeros pasos con PC 370 Objetivos t rmino de este cap tulo usted ser capaz de Describir brevemente las generaciones de lenguajes de programaci n Instalar PC 370 Editar ensamblar enlazar y ejecutar un programa simple Crear un conjuntos de datos para su uso con PC 370 y Producir una lista formateada de los registros en un archivo Intr
364. gt lt gt lt gt lt ok ok K K KK FK FK K K K FK FK K K FK FK K FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K OK READCRS Read a course record ett ett et ere eT ert ete eT eT Tere k k kk kk kk kk kk k kkk kk kk kK READCOUR EQU ST GET B ATENDCRS EQU MVI READCX EQU L BR R10 SVREADC COURSE CREC READCX EOFCOURS C Y R10 SVREADC R10 gt lt gt K gt lt x gt lt gt lt K ok K K gt K FK K KK FK Rda OK R OR READGRAD Read a Grade record gt K kk ok ROR kkk kk kk k K READGRAD EQU ST GET B ATENDGRA EQU MVI READGX EQU L R10 SVREADG GRADE GREC READGX EOFGRADE C Y R10 SVREADG 400 15 7 LA RUTINA WRAPURPITULO 15 TABLA DE PROCESAMIENTO BR R10 akk k k kk k k k kk k ak ak 3k 3k 3k 3k 3K ak ak ak ak ak ak 3K 3k 3K I I 3K 3K ak aK I I II 3K 3K 3K 3K K K K KOR AA ACAI K 3K 3K KK K K WRITE Write a single detail line kkk ok 5k ok kak ke k 3k 3k ak 9k ok ak ak OR PK ke ke ke 9k 9k OR ak ak R K 3K k ok ke Ok 2K 9k 2k ke KOR R K KOR kk 2k 2k K 2k K OR KOK OR K WRITE EQU ST R10 SVWRITE PUT REPORT OREC Write report line L R10 SVWRITE BR R10 k k 3k 3k akak k k k k ak ak ak ak 3k 3k 3K 3k 3K ak ak ak ak ak aK 3K 3K 3K I I 3K 3K ak OR I I Ik 3K 3K 3K KOR K K A AAC
365. gt lt x gt K gt K FK K KK FK X K K R ok ok K K FK FK K FKK oe KOR K R ok ok R R K KOR KOR K KOR KOK KOR FK FK FK K OK KOR FK oe oe R OR R OR File definitions 5k 5k Tt et ett eet R K E eT Te k kkk kk kk kk kk kk k kkk kk Kk kK INVENTRY DCB LRECL 41 RECFM F MACRF G EODAD ATEND 331 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL DDNAME COGS DAT REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT FKK K K K K K K KK ale ok K K K k ok ok K K K ok ode ok ok K K KK FK ok ok oko ok ale K K 5 ode ok oko ok ok ok oko ok K ode X ok K K ok ale ale K ale ale RETURN ADDRESSES lt 2K gt lt K al KK ale K K K K k X X K ok ok FK ok ale K de K 9 K ok ok ale ok ok ale K X X X ok ok ok oko ok K ode dale X 2K ok X ok K search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 AR RR KOR RO ROR KKK Miscellaneous field definitions et KOK K WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N BLANKS DC CL62 WCALIF DC PL2 0 Units sold in Calif WILL DC PL2 0 Units sold in Illinois WUTAH DC PL2 0 Units sold in Utah WWISC DC PL2 0 Units sold in Wisconsin WTOTAL DC PL2 0 Units sold in all states TCALIF DC PL2 0 Grand total for Cali
366. hay necesidad de hacerlo el valor es en realidad una parte de la instrucci n El programa requiere menos memoria La direcci n del primer byte del ltimo campo en este programa es 0000B3 Por ltimo y esto es un hecho importante pero no se desprende de la lista la instrucci n de la MVI es m s r pido de ejecuci n que es la instrucci n de MVC Claro no hace ninguna diferencia en estas programas pero cuando est s de procesamien to cincuenta millones registros como en un marketing espec fico la apli caci n la diferencia puede ser importante OOK OK OK OK OK OK CK k OK CK kxk k kK kK k x Tomado de MOVE2C PRN 00007C D202D09FD098 OOAF 00 8 29 000082 9260D0A2 00B2 30 000086 D203D0A3D09B 00B3 OOAB 31 0000A8 42 0000A8 43 0000A8 44 0000A8 45 0000A8 46 0000A8 47 0000A8 48 54 MVC MVC OLINE Literals if any will LTORG Other field definitic 55a 55b 55 55d 2 2 DECATE VIO HBREEINIXBIAINSS CAR CTERES 0000A8 49 IPHONE DS OCL7 0000A8 F5F5F5 50 IPFX DC CL3 5E 0000AB F1F2F1F2 51 ILINE DC CL4 12 0000AF 52 0000AF 53 DS OCL8 0000 54 DS CL3 0000B2 55 DS 0000 3 56 OLINE DS CL4 000000 57 END BEGIN 2 2 2 Valores equiparados Considere las siguientes instrucciones MVI 37 437 55bb MVI ELIGIBLE C Y MVI TAXABLE C N MVI GENDER C F MVI OSLASH C Cuando se
367. hest degree PhD BE YESPHD Yes branch MVI OPHD C N No Show PhD N B OTHERS Branch around YES logic YESPHD EQU Highest degree is PhD so MVI OPHD C Y Show PhD Y OTHERS EQU Continue moving other fields MVC 0517 CL4 517 All phone nbrs begin w 2517 MVC OTPHONE ITPHONE Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF PUT REPORT OREC Write report line B LOOP EOJ processing ATEND CLOSE TEACHERS CLOSE REPORT WTO gt TEACH3A WTO gt TEACH3A 26a Teacher list on REPORT TXT Normal end of program File definitions TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT Miscellaneous field definitions WCRLF DC gt 0025 gt PC 370 ONLY EBCDIC CR LF Input record definition TEACHER IREC registro de entrada 44 Output line definition 98 4 1 COOKPELUIAT ION OO GEIR OCWRALR IP SFRROGRAMA DE BAL OREC OTID OTNAME OPHD OPHONE 0517 OTPHONE OCRLF HD1 HD2 HD3 HD4 DS DS DC DS DC DS DC DS DS DS DC DS OCL62 CL3 CL3 CL15 CL4 gt CL1 CL5 OCL8 CL4 CL4 CL21 CL2 Headings definitions DS DC DC DC DS DC DC DS DC DC DC DS DC DC DC END OCL62 CL40 CL20 XL2 0D25 OCL62 CL60 gt XL2 0D25 OCL62 CL40 ID CL20 XL2 0D25 OCL62 CLA40 C
368. i n Si se trata de un TDA entonces es un error no se puede agregar un registro con la misma clave como un registro existente Si es un cambio o DELETE entonces es v lido estamos tratando de cambiar o eliminar un registro existente MATCH EQU ST R10 SVMATCH CLI TACD ADD BE MATCH2 CLI TACD CHANGE BE CLI TACD DELETE BE MATCHA 285 12 2 CMPREUINAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N MATCH2 MATCH3 MATCH4 MATCHX BAL BAL EQU BAL BAL EQU BAL BAL BAL EQU BAL BAL BAL EQU L BR R10 BADCODE R10 READTRN MATCHX R10 BADADD R10 READTRN MATCHX R10 CHANGEIT R10 READTRN R10 READMST MATCHX R10 DELETEIT R10 READTRN R10 READMST R10 SVMATCH R10 12 2 3 Anadir malo a ade Una operaci n ADD con un registro maestro coincidentes siempre es v lido BADADD EQU BADADDX ST BAL MVC BAL MVC MVC BAL MVC MVC BAL AP EQU L BR R10 SVBADADD R10 CHKLNS RREC BLANKS R10 WRITE RDATA IREC RMSG CL16 RECORD ON FILE R10 WRITE RDATA TREC RMSG CL16 ADD UNSUCCESSFUL R10 WRITE REJECTS P 1 R10 SVBADADD R10 12 2 4 V lido Eliminar Una operaci n DELETE con un maestro coincidentes CAMPOS DE MAS TER A registro de auditor a es v lida Para borrar un registro de la antigua Archivo maestro simplemente no escribir a la nueva Archivo maestro 286 12 2 CMPREUINAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N
369. i el primer byte de un campo es un asterisco el c digo CLI FLDA C A igual que con MVI El desplazamiento expl cito puede ser utilizado Longitud de expl cito no puede ser utilizado No existe ning n signo igual en el literal y Los valores equiparados puede ayudar a mejorar la legibilidad y facilidad de mantenimiento 79 3 4CAR NDABES IX BAN BAE BO UBURAICIOIOIE CAR CTER FIELDS You Try It Determine el c digo de estado resultante para la siguiente comparaci n 3 CLI ASEX C M 4 CLI CZIP ZERO where ZERO EQU C O kxk k kkk k k kxk k kxk Gk CK kK k x 3 4 Compares in BAL The BC Instruction Una vez que el c digo de condici n se ha fijado se utiliza la Subdivisi n de Estado en la instrucci n para indicar a d nde ir basado en el valor del c digo de condici n La Subdivisi n de la condici n o antes de Cristo la instrucci n tiene dos operandos el valor de prueba o la m scara para el c digo de condici n y la etiqueta para que el programa debe rama Por ejemplo CLC A B BC 8 EQUAL BC 4 ALOW BC 2 AHIGH BC 7 NOTEQUAL Note 7 15 8 BC 11 ANOTLOW 11 15 4 BC 13 ANOTHIGH 13 15 2 EQUAL EQU AHIGH EQU La instrucci n antes de Cristo funciona como sigue despu s de comparar el c digo de condici n se pone La m scara en la instrucci n se compara con el c digo de condici n Si alguna en bits en la m scara tiene un correspondiente en bits en el c digo de c
370. iagonal y lx hello alc A370 log hello obj hello prn A370 es el ENSAMBLADOR El archivo PRN contiene un resumen de lo que sucedio esto es numera su c digo fuente c digo objeto y los errores de ENSAMBLADOR si los hubiere El archivo OBJ se va a usar en la ultima etapa Tecleas 1370 hello lx hello obj 370 log hello com hello lst El archivo OBJ puede ser eliminado despues que el archivo COM ha sido creado L370 es el LINKER El Archivo lst contiene los error del linker si lo hubiere Generalmente no es necesario El archivo COM es lo que se ejecuta Sin embargo no trabaja solo debe de encontrar E370RA2 EXE en la ruta de acceso o vas a obtener el mensaje de error de 370 NO ENCONTRADO 16 1 3 CREACI N DE DIBHIGEEBDSPPASQS CON PC 370 713 HILMER D R 421 QUALLS G E M S 701 ARIAS LL F M 125 MORALES L A F M 896 QUALLS D M F S 626 MERCIER J L F OM 402 FOOTE AK F OM 263 HAVLIK M M Cuadro 1 1 STUDENT AC101 ACCOUNTING BU101 BUSINESS EG101 ENGLISH I EG102 ENGLISH II MA101 ALGEBRA MA107 STATISTICS PE121 FIRST AID PE151 AEROBICS Ry 09 Co Cuadro 1 2 COURSE 1 3 Creaci n de conjuntos de datos de PC 370 La mayor a de los programas mostrados en este texto se utilizan los archivos de la Comunidad Small Town
371. ice a la rama a la direcci n contenida en el registro establecido Si usted tiene codificado en C antes este ser un concepto f cil de tomar arriba Si su nica experiencia previa de codificaci n en BASIC o COBOL esto llevar alg n tiempo para acostumbrarse No tiene que utilizar registrar 10 Para repetir hay diecis is registros Usted no puede utilizar registro 13 con PC 370 ya que este es su registro de base Es utilizado por PC 370 s BEGIN macro para establecer addressibility para el programa Esto ser discutido en detalle m s adelante Algunas instrucciones BAL y macros muchos modificar los registros O y 1 por lo que es una pr ctica 100 4 1 COOKPETUIAT ION OO GEIR OCWRAPR DE BAL com n para evitar el uso dichos registros La mayor a de las instalaciones ten dr n un est ndar en cuanto a qu registro s a utilizar para de ramificaci n y v nculos La nueva versi n de nuestro programa TEACH4A MLC del siguiente modo 101 ff 40 467 202 PRINT NOGEN SO CO ke joke OR I KOR k kkk kk kk kk kk 2k R FILENAME TEACH4A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS This is a revision of TEACH3A MLC Produce list of tenured instructors How to structure a BAL program I KOR k kkk kk kk kk kk 2k R x x x XX START 0 REGS BEGIN BEGIN WTO gt Begin executio
372. ida use el comando ED para suprimir ceros a la izquierda Todos los aritm ticas en binario es decir Bolsas de usar s lo los campos que sean necesarias para el comando de la disfunci n er ctil Ejercicios 10 Similar al Ejercicio 14 b del Cap tulo 7 Escribir un pro grama que lea el archivo producido en el ejercicio 8 anterior y se crear un archivo nueva herramienta con la cantidad sobre la orden en el campo 367 14 9 EJERCICIOS CAPITULO 14 BINARY ARITHMETIC actualizaci n para aquellos elementos que est n ordenados La nueva can tidad en el orden debe ser igual a la antigua la cantidad de la orden mas la cantidad de orden econ mico Utilice DDNAME NEWTOOL DAT en el DCB para este nuevo archivo que tiene el mismo dise o de registro incluyendo fullwords y medias palabras Todas las herramientas deben ser escritos para este nuevo archivo incluso aquellos para los que no hab a orden nuevo colocado 368 Capitulo 15 Tabla de Procesamiento Objetivos Al t rmino de este capitulo usted ser capaz de Definir una tabla de datos C digo de centinela ciclo controlado C digo de un contra ciclo controlado Usar la LA y BCT instrucciones carga una tabla en tiempo de ejecuci n Usar t cnicas de procesamiento de mesa a un proceso de campo de un car cter por vez y Usar t cnicas de procesamiento de mesa para buscar proceso de creaci n Introducci n BAL no es probablemente el primer lenguaje de prog
373. ield W MOVE2A MLC mostrar movimiento de caracteres version completa 49 MOVE2B MLC mostrar movimiento de caracteres con CL1 version com pleta 50 OF FER10A MLC 223 OFFER10B mlc 232 OFFER10C mlc 241 out 54 programa no 1 version completa 13 449 INDICE DE CUADROS INDICE DE CUADROS Prologo 23a search CHKLNS LNS gt MAXLNS HDGS SVCHKLNS 184 search CHKDEPT HOLDDEPT vs IDEPT to ENDDEPT SVCHKDEP 2395 search CHKSEM HOLDSEM vs ISEM to ENDSEM IDEPT SVCHK SEM 239a search CHKSEM HOLDSEM vs ISEM to ENDSEM SVCHKSEM 229 search main loop SETUP EOFMAST EOFTRANS to EOJ PROCESS WRAP UP 280 main loop SETUP EOFSTUD to EOJ PROCESS WRAPUP 389 main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 search main loop SETUP EOFTEACH EOFOFFER to EOJ PROCESS WRAPUP 260 pu search read INVENTRY into IREC EOFSW SVREAD return 314 search read INVENTRY into IREC EOFSW IN SVREAD return 156 search read OFFER into IREC EOFSW SVREAD return 222 search read TEACHERS into IREC EOFSW SVREAD return 112 search setup ascii INVENTRY and REPORT HDGS prime READ SVSETUP return 206 search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 search write REPORT from OREC LNS SVWRITE return 185 search write REPORT from OREC no line counting SVWRITE return 106 TEACH11A MLC 266 TEACH15A MLC 379 TEACH1A MLC listado de maestros vers
374. ienzan a cursar 31 Mostrar el c digo de objeto si la l nea 175 supra se cambiaron a MVN ODIFF 2 1 X F0 32 Mostrar el c digo de objeto si la l nea 175 supra se cambiaron a MVZ ODIFF 1 1 X F0 7 14 Datos de errores de excepci n Ahora que usted est trabajando con Bolsas de campos de decimales tienen una probabilidad mucho mayor de tener los errores de tiempo de ejecuci n Estos se refieren a veces como abends para finales anormal anormal de terminaci n Con mucho el error de este tipo m s com n es el error de excepci n de los datos Esto ocurre cada vez que se intenta realizar una operaci n aritm tica decimal envasados con operandos que son no n meros v lidos de pic nic Por ejemplo si usted se olvida de empacar un n mero antes de anadirlo a una acumulador su programa se Abend En el mundo mainframe de IBM esto produce un sistema de 0C7 c digo de error o SOC7 leer como calcet n siete PC 370 tambi n producir un error aunque no es llamado 50 7 Recordemos que la AP ZAP SP y CP se consideran las operaciones arit m ticas PACK y UNPK no lo son El el primer operando de ZAP puede ser cualquier cosa pero el segundo operando debe ser un decimal empaquetado 171 7 14 DATOS DE ER ADEIHSLOE EJXCHISAR NE ARITM TICA DECIMAL v lido n mero PACK UNPK y nunca se produce un S0C7 pero se olvidan de PACK o UNPK puede ciertamente PC 370tiene una prueba centro depurador pero es m
375. igue 187 TEACHSA MLC 187 PRINT NOGEN FAA k k k ak ak ak ak 3k 3k 3K 3K 3K ak ak ak ak ak 3k 3K 3K I I 3K 3K ak I OR R IK 3K 3K 3K 3K a K K A A AC K K 3K K KK KK K K FILENAME TEACH8A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS This is a revision of TEACH2C MLC Produce list of teachers with headings Introduce page break logic FEA k k kk k k K k ak ak ak ak 3k 3k 3k 3K 3K aK k ak ak ak 3k 3k 3K 3K I I 3K 3K ak I I I Ik 3K 3K 3K KOR K K A ACA K K 3K R K OR KK K K X XX X START 0 REGS BEGIN BEGIN WTO TEACH8A Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO gt Normal end of program RETURN YK k k ok 5k sk ok sk ok 9k AAAI 9k 9k 9k I I 3K 3K ak I I I 2k 3K 3K 3K 3K 3K K K K K K AA AC K 3K OR K K KK a SETUP Those things which happen one time only before any records are processed lt 2K gt lt lt 2K ook gt k ale X K 2K K K ok ale ok K 5 9 ok ok oko ok ok K ode ok X X K ok ok oko ok K K K ale X ok K K 2K ok K K K ale SETUP FQU ST R10 SVSETUP OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT Note Removed BAL R10 HDGS BAL R10 READ L R10 SVSETUP BR R10 BEA AC E Pk ok ok 9k Pk ok I kk kk k ICI I A kk k k kkk k k k kk k R KOR R R
376. inir un campo correspondiente envasados de tamano apropiado para cada uno WPPGR DS PL4 Current pay period Gross 9999V99 WYTDGR DS PL5 Year to date Gross 999999V99 WYTDFICA DS PL4 Year to date FICA W H 99999V99 WPPFICA DS PL3 Current pay period FICA W H 999V99 Let s paquete de cada uno de los campos de entrada PACK WPPGR IPPGR PACK WYTDGR IYTDGR PACK WYTDFICA IYTDFICA es el m s f cil de campo para determinar s lo tiene que a adir WPPGR a WYTDGR El campo de salida se divide en zonas OYTDGR decimal por lo que la suma debe ser descomprimido y el signo eliminado 334 O w 13 6 SOLUCGARITULO 13 M S BOLSAS DE ARITM TICA DECIMAL AP WYTDGR WPPGR Add current pay period to year to date UNPK OYTDGR WYTDGR Move new YTD gross to output MVZ OYTDGR L OYTDGR 1 1 X FO Remove sign El importe FICA para el per odo de pago actual ser el menor de 1 el per odo de pago actual veces la tasa bruta de FICA o 2 la diferencia entre el l mite monetario FICA y el A o a fecha de las retenciones FICA Para calcular el monto en primer lugar hay que multiplicar un n mero con dos decimales WPPGR por otro n mero de cuatro cifras decimales WFI CA 9 y luego redondear el resultado de nuevo a dos decimales Estos campos se definen como PL4 y PL3 arriba por lo que utilizaremos el trabajo de campo de siete bytes para el producto a fin de evitar cualquier error de tama o con el comando de multiplicar ZAP
377. input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT LOOP GET TEACHERS IREC Read a single teacher record TEACH2A MLC formateo del reporte 43b PUT REPORT OREC Write report line B LOOP EOJ processing ATEND CLOSE TEACHERS CLOSE REPORT WTO TEACH2A Teacher list on REPORT TXT WTO TEACH2A Normal end of program Epilogo 26a File definitions TEACHERS DCB EODAD ATEND 26c REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT TEACH2A MLC area de trabajo 43a Input record definition 45 2 4 DEEENIETWINDOV IMBENXNYO IIOEN IYAYIOS DHEN R DJEHRA R CTERES TEACHER IREC registro de entrada 44 Output line definition TEACH2A MLC linea de salida 42b END BEGIN 46 47 2 2 DECAGE VIO HREEINIXBIAINSS AIXWNAIEROCDE CARACTERES A MIN gt teach2a TEACH2A Begin execution TEACH2A Teacher list on REPORT TXT TEACH2A Normal end of program A MIN gt type report txt 732 BENSON E T PHD N 5156 218 HINCKLEY G B MBA N 5509 854 KIMBALL S W PHD 5594 626 YOUNG MBA 5664 574 SMITH J MS 5320 2 2 Definir y mover literales alfanum ricos En la secci n anterior hemos visto c mo definir y mover los datos de car cter En concreto movido los campos de un registro de entrada a los campos corre spondientes de un registro de salida Aqu v
378. int to start of table conus Load nbr of table entries LOOP EQU dhs Match Yes Go to found No point to next entry Repeat if not at end Indicate not found Exit 15 9 EJERCICIOS CAPITULO 15 TABLA DE PROCESAMIENTO FOUND EXIT EQU Match was found So indicate 3 Habida cuenta de las definiciones de los campos siguientes STREC STSTAT STRATE STCRLF EOFSW YES E DS DS DS DS DC EQU ENTRIES DS TAXTABLE DS OCL7 CL2 CL3 V999 CL2 PC 370 only CL1 N CY H 50CL4 1 2 STATE Character 3 4 SALES TAX RATE V999 Packed Llena los espacios en blanco LOAD TABLE W STATE AND SALES TAX RATE LOOP DONE BAL EQU R6 Point to start of table R5 Set count to zero R10 READST Get State Rate record A aoe End of file Yes Done cS a Move state to table Move rate to table Point to next entry Increment Cts REI OMEN Get another record Repeat Save counter 4 Habida cuenta de las definiciones de los campos siguientes DS DS DS DS DS DS DS DS DS DS OF Force fullword alignment OCL40 1 40 Input Record EBCDIC no CR LF CL24 F 6H 1 24 First and last name 25 28 Total sales last year Jan June 29 40 Monthly sales this year Jan June OCL100 1 100 Output Line CL24 CLA 6CL8 CL11 1 24 First and last name 25 28 29 76 Monthly sales this
379. ion completa 24 TEACH1B MLC listado de maestros sin LF version completa 28 TEACH1C MLC listado de maestros a Archivo version completa 30 TEACH1D MLC listado de maestros status a consola version completa 32 TEACH1D MLC primer WTO 31a TEACH1D MLC segundo WTO 31b TEACH1D MLC tercer WTO 31c TEACH2A MLC area de trabajo 43a TEACH2A MLC formateo del reporte 43b TEACH2A MLC linea de salida 42b TEACH2A MLC listado de maestros con formato version completa 45 TEACHAB MLC 107 TEACH4C MLC 113 TEACH8A MLC 187 TEACHER IREC registro de entrada 44 TEACHERS DCB EODAD ATEND 26c Ids 450
380. ionales derecha del campo de recepci n se rellenan con espacios en blanco D LARES DC 5CL4 asignar un total de 15 bytes F T El MVC y las instrucciones de la MVI ocupar la misma cantidad de memoria cuando cada uno es F T mover un campo de un octeto h El desplazamiento explicito puede ser utilizado la i Longitud expl cita se puede especificar en una MVI si dicha duraci n es de uno F T j El uso de valores equiparados puede hacer MVIS m s legible F T Dado SIETE DC CL1 7 una MVI debe utilizarse en lugar de un MVC para mover SIETE F T a otro campo de un byte ev w 69 2 5 EJEBXB IIOSO 2 DEFINICI N Y MOVIMIENTO DE CAR CTERES D m Los siguientes son equivalentes X DC CL5 ABC X DC CL5 ABCbb FT Todos los DSS y pa ses en desarrollo requieren nombres de campo etiquetas F T 2 2 Teniendo en cuenta las siguientes definiciones de los campos adya centes determinar el resultado de cada uno de los siguientes instrucciones Comience con nuevos datos para cada pregunta a s Qa c ou Un CL5 JKLMN DC B DC CL4 PQR C DC CLS ST gt X DC CL1 W Y EQU CZ B MVC A B ser n los siguientes MVC A B A ser MVC B C B ser n los siguientes Un MVC 2 2 C A ser e MVC A 3 2 B 3 A ser MVC C 1 X C ser MVC 1 cx ser n los siguientes MVI B 2
381. iones anidadas como sta Esta no es la caso de BAL El ejemplo anterior causar un bucle infinito Puedes ver por qu Echemos un m s de cerca 1 BAL 10 PROCESS 2 B MAIN 104 4 1 COOKPETIRIAT ION OO GEIR OCWRAPR IP SHRROGRAMA DE BAL 3 PROCESS EQU 4 BAL 10 READ CLI ITTEN C Y BNE PROCESSX 5 BAL 10 FORMAT 6 BAL 10 WRITE PROCESSX EQU BR En el momento en que la instrucci n 1 se ejecuta registro de 10 puntos a la siguiente instrucci n la instrucci n 2 La intenci n es que cuando llegamos al final del m dulo de proceso la instrucci n 7 har que flujo de control para la transferencia a la instrucci n inmediatamente despu s de su invocaci n que se instrucci n 2 Pero esto no va a suceder Sigamos Como resultado de la instrucci n 1 el flujo de control va a la instrucci n 3 Se trata de un nica etiqueta de modo que el flujo de control de las ca das a trav s de la instrucci n 4 Cuando la instrucci n 4 se ejecuta registro de 10 puntos a la siguiente instrucci n la ense anza 5 Estamos en problemas ya el valor de registro de 10 ha cambiado C mo vamos a volver a la instrucci n 2 La BR 10 en la final de la LEA rutina nos llevar de vuelta a la ense anza 5 Lo mismo sucede con las instrucciones 5 y 6 Cuando se ejecuta la instrucci n 6 registro de 10 puntos a la instrucci n 7 La BR 10 en la final de la rutina de escribir va a traernos de vuelta
382. ir a estos mnem nicos al c digo de m quina equivalente ya que en ltima instancia todos los programas deben estar a nivel de c digo m quina para que el equipo les entienda El problema con la codificaci n en ENSAMBLADOR es que todav a es codifi caci n a nivel de m quina y cada m quina tiene su propia lengua En conse cuencia un programa escrito en lenguaje de m quina para un plataforma como una unidad central no se puede ejecutar en otra plataforma como en una PC Esta fue una parte del impulso para la siguiente generaci n de lenguajes la tercera generaci n Esto incluye la generaci n de FORTRAN COBOL BASIC RPG y C La intenci n es que un programador podr a escribir el c digo fuente que ser a en gran medida independiente de la plataforma en la cual el c digo se ejecutar a en El c digo fuente a continuaci n se ejecuta a trav s de un compi lador que traduce el c digo fuente para el c digo de m quina apropiado para la plataforma destino S lo el compilador no el c digo fuente ser a dependiente de la m quina Esta discusi n plantea dos preguntas En primer lugar c mo podemos eje cutar BAL en una PC y en segundo lugar por qu queremos aprender BAL PC 370 nos permite ejecutar BAL en una PC ya que emula una mainframe Que esto sea posible no deber a ser una sorpresa la portabilidad es despu s de todo una funci n del traductor no una funci n del c digo fuente Hay varias razones para apren
383. irse a embalados antes de que se pueden imprimir 7 1 Presentaci n de Dind n Industrias Para este cap tulo se presenta un nuevo archivo Los archivos de la Escuela Superior Small Town de la Comunidad base de datos que hemos utilizado hasta este punto no contienen suficientes campos num ricos para introducir la arit m tica Este archivo es el archivo de inventario para las Industrias Dind n Dind n vende tres productos Gizmos Widgets y Junque en cuatro estados California Illinois Utah y Wisconsin El dise o de registro para el archivo de inventario COGS DAT se muestra en la p gina siguiente El archivo de datos es construye como sigue A gt copy con cogs dat Gizmos 02003002002001709902312252999 WIDGETS 01501001000202203401900110025 Junqu 02501501501803005201001550339 72 1 archivo copied 2 Nombre Descripci n Inicio T rmino Len Formato CALIF ventas California 11 13 3 ZD ILL ventas Illinois 14 16 3 ZD UTAH ventas de Utah 17 19 3 ZD WISC ventas de Wisconsin 20 22 3 ZD COMIENZAN A partir inv 23 25 3 ZD Compras purch 26 28 3 ZD QOH Cantidad a mano 29 31 3 ZD Coste COSTE cada uno 32 35 4 99V99 10 Vendo Vendo por cada uno 36 39 4 99199 11 CRLF PC 370 S lo 40 41 2 CR LF A gt dir cogs dat Volumen en la unidad A no tiene etiqueta Directorio de A Costo de Ventas DAT 123 9 29 93 9 38 una 1 archivo s 130560 bytes libres O En este capitu
384. istros Tras una instrucci n MH el producto va a ocupar una media palabra FT Es imposible para multiplicar una media palabra por un fullword con el producto F T ocupando la media palabra Al realizar la divisi n binaria en previsi n de redondeo multiplicar el F T incluso extra a pareja que contiene el dividendo por una potencia de diez Despu s de M o D el producto o dividendos deben ser convertidos a decimal empaquetado F T con el fin de mostrar correctamente su valor Si el dividendo es en un registro y el divisor se encuentra en una media palabra la instrucci n de DH F T puede ser utilizado La instrucci n HD utiliza un total de tres registros F T La instrucci n de RM utiliza un total de dos registros F T Tras la instrucci n de D el resto ser en el registro de n meros pares F T y el cociente ser en el registro de n mero impar 2 Habida cuenta de las definiciones de los campos siguientes H1 DC H 25 gt H2 DC H 8 DC H 0 F1 DC F 6 F2 DC F 3 DC F 0 Encontrar el error s lo una en cada uno de los siguientes a b Multiplicar F1 por F2 dando L R5 F1 M R5 F2 ST R5 F3 Multiplicar F1 por F2 dando F3 L R5 F1 L R6 F2 M R4 R6 ST R5 F3 Multiplicar F1 por F2 dando F3 426 16 6 EJERCICIOS CAPITULO 16 MAS ARITMETICA BINARIA L R5 F1 M R4 F2 ST R4 F3 d Multiplicar H1 por H2 dando H3 LH R4 H1 MH R4 H2 STH R5 H3
385. istros de bytes mientras que el IBM 370 el equipo tiene cuatro registros de bytes El tama o del registro de un ordenador se conoce como su tama o de palabra Cada registro es capaz de mantener una direcci n y es l gico que cuanto mayor sea el registro o el tama o de la palabra mayor ser la direcci n que puede contener C mo se representa internamente se discutido en detalle m s adelante El n mero de registros tambi n var an seg n el tipo de CPU El IBM 370 el equipo tiene diecis is registros Estos registros est n numerados del 0 al 15 y son referidos por n mero A pesar de que el PC tiene un n mero diferente de registros PC 370 emula un mainframe as que el programa como si tuvi ramos todos los 16 registros Como su nombre indica la Subdirecci n de Enlace y la instrucci n es una rama y un poco m s Para ejemplo la instrucci n BAL 10 CONFIGURACI N dice a poner la direcci n de la instrucci n siguiente el la instrucci n inmedi atamente despu s de la instrucci n BAL en el registro 10 y luego a la rama de etiqueta CONFIGURACI N Entonces c mo saber cu ndo y d nde volver Bueno ya registrar 10 tiene la direcci n de la la siguiente instrucci n simplemente volver a la direcci n a la que registrar 10 est se alando Para ello hemos C digo BR 10 No confunda esto con una rama de registro 10 La instrucci n B 10 se reunir n y se ejecutar pero con resultados imprevisibles La instrucci n BR d
386. ivo contienen saldo de la cuenta del cliente Mostrar la y secciones de Wrapup de un programa que mostrar el n mero de clientes y de PROCESO del total suma de los saldos Mostrar todas las definiciones de campo 9 9 Teniendo en cuenta F223D110D113 generados en LOC 0000DA PACK A B 177 F E H G 7 15 EJERCICIOS CAPITULO 7 BOLSAS DE ARITMETICA DECIMAL a Cu nto dura un b Cu l es la LOC de la siguiente instrucci n c Mostrar el c digo objeto si esta l nea se han cambiado a PACK B A d Mostrar el c digo objeto si esta l nea se ha cambiado a UNPK B 2 2 A 10 Teniendo en cuenta generados en FA31D220D21E LOC 0000C8 AP C D a Cu nto tiempo es C D b Cu l es la LOC de la siguiente instrucci n c Mostrar el c digo objeto si esta l nea se ha cambiado a ZAP D C d Mostrar el c digo objeto si esta l nea se cambi a SP C 1 2 D 1 1 11 Escribir un programa que muestra un recuento del n mero de cursos ofreci dos en el semestre de W93 Utilice el archivo de la base de datos OFERTA Small Town Community College Su salida debe ser por la OMC s lo no hay ning n archivo de salida Su mensaje debe aparecer como sigue There were XXX courses offered in semester W93 12 Modificar el programa COGS7A MLC para incluir totales por estado es decir su resultado deber a aparecer como sigue 1 2 3 4 5 6 Sales Recap Product Calif 111 Utah Wisc TOTAL GIZMOS 020 030 020 020 090 WIDGETS
387. ivocada impresi n de que pueden ahorrar memoria mediante literales en lugar de definir las variables con los valores deseados Esto simplemente no es cierto Estos dos ejemplos son funcionalmente equivalentes De hecho cada vez que un literal es codificada de tal manera la ensamblador genera una definici n de campo como si hab a definido uno y darle un nombre Estos los campos que son generados por el ensamblador se colocan despu s de la instrucci n LTORG que hemos ya se utiliza pero desconcertados discutiendo Podemos ver esto mediante el examen de la PRN archivos producidos por la Paso A370 Compruebe los archivos PRN en la p gina siguiente y aviso Tanto las instrucciones de MVC para mover el gui n ocupan seis bytes Esto se puede ver mirando a la el c digo objeto que se muestra en formato hexadecimal y de la izquierda de la instrucci n en el archivo PRN anuncio En ambos casos es igual a D200DOABDOAO Estos doce d gitos hexadecimales ocupan seis bytes Esta es la cantidad de memoria requerida por todas las instrucciones de MVC Eso es s lo la instrucci n no los datos Cuando un literal se utiliz en MOVE2B MLC el ensamblador generado una definici n de campo y el lugar que despu s de la LTORG El resultado es que la misma cantidad de memoria se utiliza para el gui n incluso a pesar de que redujo los requisitos de memoria de un byte cuando nos sac la definici n de WHYPHEN el ensamblador retrasar un byte par
388. izquierda oa la derecha Recall de que el efecto de la SRP fue multiplicar o dividir el n mero de envasado por alguna potencia de diez Del 434 17 5 PROGRAMACAPEJEMPLO A NIVEL DE BITS DE OPERACIONES mismo modo el resultado de la SLL es multiplicar el valor de un registro por alguna potencia de dos y el resultado de la SRL es dividir el valor de un registro por alguna potencia de dos Por ejemplo Ejemplo 11 0000 0100 0000 0000 0000 0000 0000 0000 LA R3 4 R3 4 00 00 00 04 0010 0000 0000 0000 0000 0000 0000 0000 SLL R3 3 32 00 00 00 20 0000 1000 0000 0000 0000 0000 0000 0000 SRL R3 2 8 00 00 00 08 La instrucci n SLL por encima de los cambios el registro de todos los bits 3 a la izquierda tres posiciones El efecto neto es multiplicar ese registro por 23 u 8 que da 4 8 32 Los cambios de instrucci n SRL todos los bits en el registro de 3 a la derecha 2 posiciones El efecto neto es multiplicar ese registro por 2 2 dividir por 22 o 4 dando 32 4 8 intenta 1 15 Ejecute las siguientes instrucciones Mostrar todos los resultados in termedios R4 H 48 SRL R4 4 SLL R4 2 2 16 Ejecute las siguientes instrucciones Mostrar todos los resultados in termedios LH R4 H 20 SRL R4 3 SLL R4 3 17 5 Programa de ejemplo a nivel de bits de Op eraciones El siguiente programa BITOPS MLC demostrar la mayor a de los ejemplos expuestos m s arriba El la salida de la ejecuci n del prog
389. k kkk kkk k kk RO k kk kk kk kk k R K KOR K K K K Input record definition k k 5k ok ok 5k 5 ok 9k PK I OKI A I kkk A 1 1 kk kkk kk kk kk k k K KOR K K K K IREC DS OCL41 1 41 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS CL3 11 13 Units sold in Calif TILL DS CL3 14 16 Units sold in Illinois IUTAH DS CL3 17 19 Units sold in Utah IWISC DS CL3 20 22 Units sold in Wisconsin IBEGIN DS CL3 23 25 Beginning inventory IPURCH DS CL3 26 28 Purchases throughout year 1Q0H DS CL3 29 31 Actual quantity on hand ICOST DS CL4 32 35 Cost each 99V99 ISELL DS CL4 36 39 Sell for each 99V99 168 7 12 EJEMPLO DICRR GAHAMA GONSRAB WISI ARDIMETICA DECIMAL ICRLF DS CL2 40 41 PC 370 only CR LF gt K k sk ok ok ok 5k ok OR kk k kkk k kk A A kkk kkk kk k kk kk kk kk k R R KOR K R K K Output line definition BESO OOOO I k kkk I kkk 4 4 1 kk k kk kk kk kk k OR K KOR K R K K OREC DS OCL67 1 67 ODESC DS CL10 1 10 Product description DS CL4 11 14 OBEGIN DS CL3 15 17 Beginning inventory DS CL5 18 22 OPURCH ODS CL3 23 25 Purchases DS CL5 26 30 OSALES DS CL3 31 33 Units sold DS CL6 34 39 OENDING DS CL3 40 42 Ending inventory expected DS CL5 43 47 OQOH DS CL3 48 50 Ending inventory actual DS CL6 51 56 ODIFF DS CL3 57 59 Difference DS CL1 60 60 ORESULT DS CL5 61 65 over or short OCRLF
390. k 2k 2K ak K 2K 3K 2K 2K K K k k K 2K 2K K WRAPUP Those things which happen one time only after all records have been processed kk k 9k ek ok OR ak ak PK K ok 9k 3k 9k ko 3K kk 9k 2k ak k ak sk ok ke 2k 3k FOR OR OROR OR ROROR FOR OR OROK OK R K K WRAPUP EQU ST R10 SVWRAP CLOSE TEACHERS L R10 SVWRAP BR R10 FESO 5k 5k Pk kkk kkk kkk kk kk k kkk k kk A A kkk 4 4 k 21 k kk kk kk k OR K KOR K K K K Literals if any will go here k k sk ok ok 5k 5k ok AAA I k kk A A kkk 4 4 24 kk k kk kk kk kk k k K KOR K R K K LTORG GOR A kk kk OR K File definitions lt sk k sk kk Pk 5k 5k 5k k K K TEACHERS DCB LRECL 29 RECFM F MACRF G EODAD ATENDTCH DDNAME TEACHER DAT FEAR RIC 9k 5k PK PK RIC RA K K RII A R 3K I I K 3K 21 3K 3K KOR R KOR R 2k A A ak K A 2 ak K R RETURN ADDRESSES SVSETUP DC F 0 SETUP SVPROC DC F 0 PROCESS SVREADT DC F 0 READTCH SVWRAP DC F 0 WRAPUP YK Rk sk sk sk sk P A R R R KOR 9 9k CC A A A Miscellaneous field definitions BEA A A A A A A OR OR ORO 21 21 1 2 R 2 k k EOFTEACH DC CL1 N End of teacher file Y N ONAME DC CL25 Name with DR or PROF WTOMSG1 DS OCL41 DC CL21 TEACH15A Input lt WT
391. k K search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 SVCHKLNS DC F gt 0 CHKLNS SVCHKSEM DC F gt 0 CHKSEM SVCHKDEP DC F gt 0 CHKDEPT SVENDSEM DC F gt 0 ENDSEM SVENDDEP DC F gt 0 ENDDEPT YK k ok ok sk sk sk OG ak ak ak ak 3k 3K 3k 3K 3K ak ak aK aK ak ak 3K 3K 3K I I ICICI OR OR I Ik 3K 3K 21 KOR K R KOR AAC AC K 3K K R K KR a Miscellaneous field definitions YK k ok ok sk sk ok sk kk IAA I A ICICI I I I Ik 3K 21 21 3K K K K KOR ACA AC K 3K 3K 21 21 21 K K WCRLF DC 20025 gt PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N PGS DC PL2 0 Nbr of pages printed LNS DC PL2 10 Lines printed on this page MAXLNS DC PL2 10 Max nbr lines per page My line counts exclude hdgs BLANKS DC CL40 gt HOLDSEM DC CL3 gt Hold semester HOLDDEPT DC CL2 Hold department SEM DC PL2 0 Sections in a semester DEPT DC PL2 0 Sections in a semester dept 245 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE K K gt K FK K KK FK FK K K R ok ok K K FK FK K FKK oe KOR Input record definition SEO AAA ooo IREC DS 0 1 18 1 18 Offer record ISEM DS CL3 1 3 Semester ICID DS OCL5 4 8 Course ID IDEPT DS CL2 4 Department DS CL3 6 8 Course number ISECT DS CL1 9 9 Section number ITID DS CL3 10 12 Teacher 1D IROOM DS CL4 13 16 Room numbe
392. k oR 9k 9k kkk I I ICI kkk kkk kkk k R kk k kk kk kk kk k K TEACHER IREC registro de entrada 44 gt K gt K gt lt gt lt KK KK FK FK K FKK dd KOR KK R OR Output line definition kk okcoke kk ok okeokeok kk okekeoke ok okeok kk okcoke kk E kk okcoke ok ok oko ok sk EEk k rere Kk kkk K OREC DS OCL62 OTID DS CL3 Teacher ID nbr DC CL3 OTNAME DS CL15 Teacher name DC CL4 gt OPHD DS CL1 PhD Y N DC CL5 gt OPHONE DS OCL8 Phone nbr 0517 DS CL4 OTPHONE DS CL4 Phone nbr DC CL21 OCRLF DS CL2 PC 370 only CR LF 115 42 EJER IGIOSO 4 COMO ESTRUCTURAR UN PROGRAMA DE BAL gt K gt K KK KK Headings definitions BEA AA AARC 9k 9k A A A A IC A A 21 21 24 24 2k 2k R 2 HD1 DS OCL62 DC CL40 LIST OF TENURED INSTRUCTORS DC CL20 DC XL2 0D25 HD2 DS OCL62 DC CL60 DC XL2 0D25 HD3 DS OCL62 DC CL40 ID Name PhD Phone DC CL20 DC XL2 0D25 HD4 DS OCL62 DC CL40 DC CL20 DC XL2 0D25 END BEGIN Si se compara este programa TEACH4C MLC del cap tulo 3 versi n TEACH3A MLC la inicial reacci n puede ser que hemos logrado hacer una monta a de un grano de arena A primera vista el nuevo programa parece mucho m s complicado Pero pronto se har evidente que programas estructurados de esta manera so
393. kk K kk kk k k kk k K LTORG ok ok ok ok sk sk ok Ok Pk Pk PK AAA ARR 9k 9k A A k k k 2k 2k 2k 2k 2k R OR R File definitions ok ok ok ok sk sk sk Pk Pk AAA ARR 9k 9k A A A A 24 24 2k 2 2 INVENTRY DCB LRECL 41 RECFM F MACRF G EODAD ATEND DDNAME COGS DAT REPORT DCB LRECL 62 RECFM F MACRF P DDNAME REPORT TXT BEA AAA R KOR 9k 9k 9k 9k A A ACA I I I ORO RETURN ADDRESSES BAO AAA AAR 9k 9k A A A A A I I ORO search SVSETUP SVHDGS SVPROC SVREAD SVFORM SVWRITE SVWRAP 109 gt K gt K gt lt gt lt gt gt x Miscellaneous field definitions K RR OR kk kk kk kkk k kk kk kk kkk K WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF EOFSW DC CL1 N End of file Y N BLANKS DC CL62 gt WCALIF DC PL2 0 Units sold in Calif WILL DC PL2 0 Units sold in Illinois 159 7 8 EJEMPLO DE PROGRAMACION LA PRODUCCION DE LA CR NICA DE VEN ASITULO 7 BOLSAS DE ARITM TICA DECIMAL WUTAH DC PL2 0 Units sold in Utah WWISC DC PL2 0 Units sold in Wisconsin WTOTAL DC PL2 0 Units sold in all states SIN DC PL2 0 Input record count FEA AAA ARR A A A A I I I kk 21 24 24 2k Input record definition SEA AAA AAR 9k 9k OF A A A A I I I kk 21 2
394. kk k kk kK k k HDGS Print headings FEA AC k kk kkk kkk kkk k k kk k k kk k k k kk k k kkk k k k akk k ak KOR k K R KOR K K k kK K K HDGS EQU ST R10 SVHDGS AP PGS P 1 Add 1 to page count UNPK HDPGS PGS Move page count to headings MVZ HDPGS L HDPGS 1 1 X FO Remove sign PUT REPORT FORMFEED PC 370 ONLY PUT REPORT HD1 187 8 2 INCLUYENDO EL NUMERO DE PAGINA EN LAS LINEAS DE DEFINICION CAPITULO 8 LOGICA DE SALTO DE PAGINA PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 ZAP LNS P 0 Reset line count to zero L R10 SVHDGS BR R10 SO AAA R KOR 9 9k 9k A A A PROCESS Those things which happen once per record BEA AAA OR KOR 9k 9k AR A A ACA I I I A 21 21 21 24 24 24 R 2 k k 2k 2k 2k 2k kkk kk PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 CHKLNS BAL R10 WRITE BAL R10 READ L R10 SVPROC BR R10 FEA AAA R RO 9k ARR A A ACA I I A ORO 21 24 24 24 OR 24 READ Read a record KOR KOR IA IRI kkk K search read TEACHERS into IREC EOFSW SVREAD return 112 kk kkk I OK K FORMAT Format single detail line FORO ORO KOR KOR IOI kkk k FORMAT EQU ST R10 SVFORM MVC OTID ITID Move teacher ID Nbr to output MVC OTNAME ITNAME Move teacher Name to output MVC OTDEG I
395. kk kk k k kkk k k k kk k R KOR R K R kk K K A kK k k IREC DS OCL41 1 41 Inventory record IDESC DS CL10 1 10 Product description ICALIF DS CL3 11 13 Units sold in Calif IILL DS CL3 14 16 Units sold in Illinois IUTAH DS CL3 17 19 Units sold in Utah IWISC DS CL3 20 22 Units sold in Wisconsin IBEGIN DS CL3 23 25 Beginning inventory IPURCH DS CL3 26 28 Purchases throughout year 1Q0H DS CL3 29 31 Actual quantity on hand ICOST DS CL4 32 35 Cost each 99 99 ISELL DS CL4 36 39 Sell for each 99V99 ICRLF DS CL2 40 41 PC 370 only CR LF BEA AC E Pk ok ok PK k ok ok kkk k kkk kkk k kk kk k k k kk k ak kk k k k kk k k k k k k Output line definition BEA ACA kk kk kkk kkk k k kk k k kk k kk kk k k kkk k k R akk k ak akk k K R kk K kk kK K k OREC DS OCL67 1 67 ODESC DS CL10 1 10 Product description DS CL3 11 13 OBEGIN DS CL4 14 17 Beginning inventory DS CL4 18 21 OPURCH ODS CL4 22 25 Purchases DS CL4 26 29 OSALES DS CL4 30 33 Units sold DS CL5 34 38 OENDING DS CL4 39 42 Ending inventory expected DS CL4 43 46 OQOH DS CL4 47 50 Ending inventory actual DS CL4 51 54 ODIFF DS CL5 55 59 Difference DS CL6 60 65 OCRLF DS CL2 66 67 PC 370 only CR LF gt K k sk ok CA I k kk A I kkk A A 1 kk k kk kk kk kk k k K KOR k K K K Headings definitions 215 9 2 INFORMES DIND N 9 LA INSTRUCCI N EDITAR gt gt K gt lt K KK KK K K K FKK FK K FK FK FK K K FK FK FK K FK FK FK FK K FK F
396. l trabajo con registros En este capitulo vamos a revisar la carga de mesa y la l gica de b squeda en la tabla e introducir la LA y las instrucciones de BCT 15 1 Definici n de una tabla Sentinel ciclos con trolados Considere el siguiente ejemplo la salida de la mayor a de programas de negocios contendr registro cuenta para fines de auditor a y la reconciliaci n La siguiente salida es de un programa de actualizaci n Transactions In 74 Transactions Rejected 4 Old Masters In 1 690 Old Masters Deleted 12 Old Masters Changed 21 New Masters Added 37 New Masters Out 1 715 C mo podemos utilizar este c digo de lo que ya sabemos Una soluci n ser a la de definir la los siguientes campos TRANSIN DC PL4 0 Transactions In REJECTS DC PL4 0 Transactions Rejected OLDIN DC PL4 0 Old Masters In DELETED DC PL4 0 Old Masters Deleted CHANGED DC PL4 0 Old Masters Changed ADDED DC PL4 0 New Masters Added NEWOUT DC PL4 0 New Masters Out EDCOUNT DC X 40206B2020206B202120 OLINE DS 0CL37 ODESC DS CL25 OCOUNT DS CL10 BZ ZZZ ZZ9 OCRLF DC X 0D25 y escribir lo siguiente redundante C digo MVC ODESC CL25 Transactions In MVC OCOUNT EDCOUNT 370 15 1 DEFINICION DE UNA TABLA SENTINEL CICLOS CONTROLADOS CAPITULO 15 TABLA DE PROCESAMIENTO ED OCOUNT TRANSIN BAL R10 WRITE MVC ODESC CL25 Transactions Rejected MVC OCOUNT EDCOUNT ED OCOUNT REJECTS BAL R10 WRITE M
397. la WTO la parte idata solamente El programa completo TEACH1B MLC y su salida se muestra en la p gina siguiente K k k OK k OE k K OK Ok k k K K k OK K OE K K K Hemos introducido el comando de la WTO aqu debido a su simplicidad En la pr ctica la WTO comando nunca se utilizar a a la lista de los registros en un archivo como lo hemos hecho aqu T picamente el comando se utiliza para e env o de unos pocos seleccionar los mensajes a la consola por ejemplo c mo el programa de avanza por ejemplo a partir SORT y COMPLETADO SORT y para la depuraci n Cu ndo la creaci n de un informe escribir las lineas o registros a un archivo A continuaci n puede decidir qu hacer con que archivo En un PC podemos usar el comando de tipo DoS para poder verla o utilizar el comando COPY para enviar a de la impresora o importarlo en otro paquete como un procesador de textos u hoja de c lculo En el mundo mainframe usar amos JCL para asignar el archivo a un dispositivo espec fico como una cola de impresi n unidad de cinta disco microfichas etc Nuestro pr ximo cambio a este programa quita la y en cambio escribe los registros a un archivo El WTOs los cambios son necesarios los siguientes OI REPORT 10 X 08 Convertir la salida de EBCDIC a ASCII antes de es cribir OPEN REPORT Un archivo debe ser abierto antes de que pueda leer es cribir PUT REPORT IREC Escribir un registro Nota LRECL 29 en el DCB la du
398. le using PC 370 s TEST facility Consider the following which was presented earlier as an exercise Given FIVE DC H 5 THREE DC and RESULT DC X 40202120 write a short program which will subtract THREE from FIVE giving RESULT Use WTO to display RESULT Define other fields as necessary but do all arithmetic in binary that is use packed fields only as required for the ED command A solution to this problem is shown here BINARY DBL FIVE THREE RESULT START O REGS BEGIN LH R7 FIVE SH R7 THREE CVD R7 DBL ED RESULT DBL 6 WTO RESULT RETURN DC D0 DC H 5 DC H 3 DC 240202120 361 14 8 VIEWING A REGISTER WHAFITEBOING BINARY ARITHMETIC Recall that the PRN listing is required for any testing session That listing is shown on the next page We will run a test session stopping before the LH SH CVD ED and WTO instructions to view register 7 Within TEST the r command will display all sixteen registers We also make use of the 1 command to limit the trace that is by specifying a limit of one the trace will step through END BINARY the program one instruction at a time The test session follows BINARY PC 370 CROSS ASSEMBLER OPTIONS LXACE LOC 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000004 000005 000010 000058 00005C 000060 000062
399. les decimal zonificado a su campo de trabajo de pic nic b Mueva el total de los aportes nacionales decimal zonificado a su campo de trabajo de pic nic 336 13 7 EJERCUAB TULO 13 M S BOLSAS DE ARITM TICA DECIMAL c Mueva el total regional envasados al dividendo d Mueva el total nacional lleno hasta el divisor e Si el divisor es igual a cero cero a mover el campo de salida y con tinuar en la brecha f De lo contrario el uso SRP para multiplicar el dividendo por 100000 4 Dividir el dividendo por el divisor h Ronda el cociente 1 Mover la m scara de edici n adecuada al campo de salida j Editar el cociente en el campo de la producci n y k Mueva el signo de porcentaje para el campo de salida 1 Escribir un programa para hacer todo lo anterior Prueba PC 370 usando s laboratorio 3 Consulte la base de datos Small Town Hardware Store en m s conjuntos de datos Escribir un programa que muestra el costo total de inventario a la mano de la peque a ciudad de la tienda de hardware Esta se define como la suma del coste de la cantidad de mano para todos los instrumentos y envolturas La salida deber a ser por la OMC s lo no hay ning n archivo de salida Su mensaje debe aparecer como sigue Total cost of inventory on hand is BZZ ZZ9 99 Nota ser a conveniente incluir un signo de d lar en la salida pero PC 370 s aplicaci n de la orden de la OMC no permitir que un signo de d lar Esto
400. lgunos idiomas se requieren CLC m ltiples en BAL Estos diagramas de flujo podr an haber sido escritas para que fueran plenamente es tructurado pero para ello ser a necesario repetir el c digo para el entonces y o acciones ELSE Los diagramas de flujo aqu se han elaborado para reflejar el c digo ya que generalmente se escribe en el mundo real Example 1 IF THEN Pseudocode IF AZIP is equal to BZIP move AZIP to WZIP ENDIF Flowchart AZIP Old BASIC Solution 10 IF AZIP lt gt BZIP THEN GOTO 30 20 LET WZIP AZIP 30 REM ENDIF Solution BAL 82 3 5CAMIMPAGBS IN BAN KAMPIOMPSRACION DE CAR CTER FIELDS CLC AZIP BZIP BNE SKIP MVC WZIP AZIP SKIP EQU Example 2 IF THEN ELSE Pseudocode IF AZIP is less than BZIP move AZIP to WZIP ELSE move BZIP to WZIP ENDIF Flowchart AZIP lt Old BASIC Solution 10 IF AZIP gt BZIP THEN GOTO 40 20 LET WZIP AZIP 30 GOTO 60 40 REM ELSE 50 LET WZIP BZIP 60 REM ENDIF Solution BAL CLC AZIP BZIP BNL USEB MVC WZIP AZIP B SKIP USEB EQU MVC WZIP BZIP SKIP EQU Example 3 IF AND THEN ELSE Pseudocode IF BAGE is equal to CAGE AND BSEX CSEX move BSEX to WSEX move Y to WSWITCH ELSE move CSEX to WSEX move N to WSWITCH ENDIF Flowchart BAGE N 83 3 5CAR NDABES IN BAN KAMPIOMPSRACION DE CAR CTER FIELDS Old BASIC Solution 10 20 30 40 50 60 70 80 90 IF BAGE lt gt CAGE THEN
401. lines per page My line counts exclude hdgs BLANKS ODS OCL62 DC CL60 XL2 0D25 HOLDTID DC CL3 Hold current teacher ID HOLDNAME DC CL15 Hold current teacher name kk okcokeoke sk ok Pk kok dalla dalla lalalala KOK R kk kkk k kkk kkk kkk K Input record definition Teacher kk bk sk sk sk ok Pk kok Pk 9k oR kk kO Kok kokeokekeke ok okeke sk kk kk kkk k kkk kkk kkk K TREC DS OCL29 1 29 Teacher record TTID DS CL3 1 3 Teacher ID nbr TTNAME DS CL15 4 18 Teacher name TTDEG DS CL4 19 22 Highest degree TTTEN DS CL1 23 23 Tenured TTPHONE DS CL4 24 27 Phone nbr TTCRLF DS CL2 28 29 PC 370 only CR LF gt K 5k sk sk skok 5k 5k ok ok 5k PK oR ooo 9k 5k OAR ICICI kk I ICI I OR ORO kkk kkk k R kk K R kkk k k kk k R Input record definition Offerings 271 11 7 PROGRAMA P T SODUCIOWAS DE UNA ENTRADA DE ARCHIVO gt gt K gt lt K KK KK FK K K FKK FK K FK FK FK K K FKK FK K FK FK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK K FK K FK FK K K FK FK K FK K FK FK K OK R R OR OREC DS OCL18 1 18 Offerings record OSEM DS CL3 1 3 Semester OCID DS CL5 4 8 Course ID OSECT DS CL1 9 9 Section number OTID DS CL3 10 12 Teacher ID OROOM DS CLA 13 16 Room number OOCRLF ODS CL2 17 18 PC 370 only CR LF EEEE ooo ooo oook 2k Report line definition BEA A 5k SK R R R OR KOR 9k 9k 9k 9k ooo kkk RREC DS OCL62 1 62 Report record RTID DS CL3 1 3 Teacher
402. literal X 4020202020202020 parecer a entonces despu s de la LTORG en la lista de montaje De Por supuesto si FLDA ten a un valor de cero ser a WKg8 todos los espacios Por ejemplo FLDB dado y MASK2 define como sigue FLDB DC PL3 0 MASK2 DC X 402020202020 gt tenemos el siguiente c digo WK6 MVC WK6 MASK2 40 20 20 20 20 20 ED WK6 FLDB Tenga en cuenta que la mascara debe ser trasladado a la zona de salida cada vez que un n mero ser editado por la edici n de instrucciones destruye la m scara Por ltimo la edici n de instrucci n es una instrucci n de tipo SS similar de la MVC es decir la longitud de la secuencia est determinada por la longitud del campo de recepci n solamente La edici n contin a durante tantos d gitos como se representan en el campo de recepci n intenta Dada X DC PL3 1234 y MASK DC XL6 402020202020 muestran el valor de WK6 o WK4 despu s de cada de los siguientes 1 UNPK WK6 X 2 UNPK WK6 X MVZ WK6 5 1 X FO 3 MVC WK6 M SCARA ED WK6 X 4 MVC WK4 MASK Cuidado ED WK4 X 1 197 WK8 FLDA 40 40 Fi F2 F3 40 40 40 40 40 40 bbbbbb CAPITULO 9 LA INSTRUCCION EDITAR 9 0 3 Indicando Importancia Si queremos detener la supresi n de ceros a la izquierda con el fin de forzar al menos un cero a la impresi n que sustituir a un X 20 nico con un X21 El X 21 es el ltimo d gito que ser sustituido por el relleno car cter En otr
403. literales alfanum ricos utilizando el MVI y MVC instrucciones Producir una lista formateada de los registros en un archivo y Producci n de l neas informe Introducci n En el cap tulo anterior hemos elaborado un 80 80 o la tarjeta de la imagen la lista de los registros de la MAESTRO archivo En este cap tulo vamos a continuar con ese ejemplo En concreto nos gustar a elaborar el informe con formato de informe y los encabezados de columna Vamos a empezar por elaborar un r pido y sucio de la lista de registros de este archivo Por r pido y sucio queremos decir que si bien cada campo ser en su propia columna no habr t tulos no los n meros de p gina etc Nuestro anuncio aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 XXX XXXXXXXXXXXXXXX XXXX X XXXX XXX XXXXXXXXXXXXXXX XXXX X XXXX XXX XXXXXXXXXXXXXXX XXXX X XXXX Phone 36 37 2 1 DEEINI T VIMIOVIMBENXNYO IOR IYAYIOS DHEMRA DEHRA R CTERES poli fef Tenured sel cula kuqa a Degree id aeuo a t d se a A eri Nombre TU PCIE T PET IE TE ID number Con el fin de hacerlo debemos ser capaces de describir los registros de entrada y salida y mover los campos de entrada a sus respectivos campos de salida 2 1 Definir y movimiento de Datos de Car cter La primera instrucci n veremos es la instrucci n de MVC MVC significa Movimiento de caracteres Es utiliza para copiar el contenido de un
404. lizaci n discuti ran las t cnicas de programaci n se encuentran com nmente en los negocios de aplicaciones Creo que estos cap tulos son muy importantes para el futuro de los programadores de aplicaciones pero ya que ninguno de estos cap tulos introducen nuevas instrucciones de ensamblador y como estos conceptos pudo haber sido discutido en otros cursos puedes saltar cualquier o todos ellos seg n sea necesario para adaptarse al tiempo disponible Las tareas de programaci n en este texto hacer uso de las bases de datos que figura en el Ap ndice A Usted notar el tema recurrente de SMALL Town Este se utiliza en la mayor a de los programas de ejemplo Es posi ble que desee elegir uno o dos de las otras bases de datos tales como la tienda de hardware de la peque a ciudad o del Banco de Sangre de la peque a ciudad y elegir los ejercicios de programaci n que utilizan estas bases de datos De esta manera la complejidad de los programas que sus alumnos desarrollar n estaran en proporcion a la duraci n del curso Ninguno de los campos de fechas en cualquiera de los archivos en este texto incluyen el siglo Como usted probablemente sabe este es usualmente el caso con los sistemas heredados Reta a tus estudiantes a hacer sus programas siglo conformantes Si sus estudiantes todavia tienen acceso a una computadora central a con siderar la posibilidad de desarrollar sus programas utilizando PC 370 a con tinuaci n suban sus pro
405. ll for each 99V99 ICRLF DS CL2 40 41 PC 370 only CR LF BEA PK ok ok 9k Pk ok ok 5k R o IOI A ICI CK OK a kkk kkk k R kk K kk kk k k kk k K Output message definition gt K k sk ok ok 5k 5k ok k kkk oR EI kk k AI I IK a A k 1 21 3 4 4 21 kk k kk kk kk kk k k K KOR K K R K OMSG DS OCL49 DC CL39 COGS13A Nationwide dollar sales are ODOLLARS DC XL10 4020206B2021204B2020 BZZ ZZ9 99 END BEGIN 13 3 Redondeo con SRP Considere el siguiente problema de programaci n Un archivo de imagen de la tarjeta contiene un precio en las posiciones 16 20 999V99 y un por ciento de descuento en el valor de las posiciones 21 22 99V Queremos determinar la venta Precio BZZ9 99 Vamos a utilizar las definiciones de campo siguientes PRICE DS CL5 PCTOFF DS CL2 SALE DC X 402021204B2020 Suponga PRECIO contiene 00425 lo que representa 4 25 d lares y PCTOFF contiene 15 lo que representa el 15 96 En primer lugar determinar el descuento como x PCTOFF PRECIO 4 25 x 15 6375 Sin embargo este descuento 6375 Debe ser redondeado a 64 Luego restamos el redondeado de descuento del precio regular dando el precio de venta 4 25 64 3 61 Ahora veremos el redondeo despu s de que volveremos a este problema OK OK OK OE OE OK KOK OE OE KOK KOR ROK OK El redondeo en BAL se realiza a trav s de la SRP Shift y todo el relleno la instrucci n Esta instrucci n puede ser usado para algo m s que
406. llido 6 15 10 CH 3 FNAME Nombre 16 25 10 CH 4 ADDR Direccion 26 40 15 CH 5 CITY Cuidad 41 50 10 CH 6 STATE Estado 51 52 2 ch ig ZIP Codigo Postal 53 57 5 CH 8 no usado 58 59 2 9 ACD Codigo de Transacion 60 60 1 A C D 10 CRLF Solo para PC 370 61 62 2 CR LF Nuestro archivo maestro de entrada BQSFUMST DAT es el siguiente 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 11224BINFORD DAN 469 N 400 E DESOTO TX75115 A 12111ARIAS IDA 4028 ELMO LOOP MERCED CA95340 A 32555RYAN RICHARD 914 FIFTH ST NORMAL IL61761 A 41499HILMER DEBBIE 21175 FELIPA BUENA PARKCA90620 A 55123JOSEPHSON PEGGY 248 MICHIGAN JAMESTOWN NY14701 A 61626HAVLIK CHERYL 551 WASHINGTON WHITTIER 90605 77271CARPENTER LOIS 326 BEACH BERWYN IL60650 A 81288BLACK KATHY 618 5 ANZA PASADENA CA91106 A 81997 00 APRIL 635 BURNS CAROL STRMIL60187 A 94993DIXSON RICHARD 1021 BROWN CHICAGO IL60612 A El c digo de transacci n en la columna 60 puede ser de tres tipos A para a ade C para los cambios o D para eliminaciones En el archivo maestro s el c digo de transacci n indica el tratamiento m s recientes aplicados a este registro Este c digo es una de todo lo anterior indicando que no se han producido cambios desde estos registros se han a adido Nuestro archivo de transacci n BQSFUTRN DAT es el siguiente 277 CAPITULO 12 CUENCIAL DEL ARCHIVO DE ACTUALIZACION 1 2 3 4 5 6 123456789012345678901234567
407. lo vamos a crear dos informes El primer informe las ventas Recap aparecer como siguiente 123456 123456789012345678901234567890123456789012345678901234567890 Producto Calif malos Utah Wisconsin TOTAL 7 2 BOLSAS DE FORPIATOOECIBOMISAS DE ARITM TICA DECIMAL Gizmos 020 030 020 020 090 WIDGETS 015 010 010 002 037 Junqu 025 015 015 018 073 003 registros procesados Tenemos que saber c mo hacerlo adem s a fin de producir la columna de totales y recuento de registro 7 2 Bolsas de Formato Decimal Bolsas de decimales es un formato de almacenamiento nico para los equipos de IBM System 370 y compatibles usted no encontrar Bolsas de formato dec imal en las computadoras excepto cuando tales emulando una unidad central como en PC 370 En decimal dividido en zonas sin embalaje formato los d gitos se ocupa un nico byte Por ejemplo California las ventas de Junqu arriba es C 025 la representaci n hexadecimal de los cuales es X FOF2F5 Cada byte consta de dos partes la zona o signo parte todos los F en este caso y la parte num rica 0 2 y 5 Cada porci n ocupa cuatro bits Si volvemos a escribir este n mero como lt ZONA 025 lt numeric entonces podemos ver por qu la parte de la zona es a veces considerado como el byte de la mitad superior y la parte num rica es a veces considerado como el byte de la mitad inferior Los bits de la zona de la derecha en este caso el F por
408. los comentarios pueden hacerse antes de esta declaraci n Eso es un cero despu s del inicio Siempre incluya esta declaraci n 23a Prologo 23a 28 30 32 45 61 67 72 86 23b START 0 REGS Una macro que asigna un nombre a cada registro por ejemplo para R6 REGs registro de seis La necesidad de una macro de este tipo es tan com n que un similar macro se encuentra en las tiendas m s BAL Puede ser llamado EQUATE REGEQU o algo similar No es necesario en este programa particular pero se suele a adir a todos los programas por la costumbre y su uso aqu sirve para corroborar que tiene PC 370 instalado correctamente 23b Prologo 23a 28 30 32 45 61 67 72 86 lt 23a REGS 23 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 24 TEACH1A MLC listado de maestros version completa 24 PRINT NOGEN ISI RI I Ia I I I KOR a ak kk kk FILENAME TEACH1A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS A card image list of teacher records gt K 5k sk sk skok sk 5k Pk ok 5k PK oR ok 9k Pk ok ok 9k 5k oR 9k OAR I kkk R 21 kk 4 R OR kk k k kk k k START O REGS BEGIN BEGIN OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OPEN TEACHERS LOOP GET TEACHERS REC Read a single teacher record WTO IREC Display the record B
409. m s conjuntos de datos Nota del cliente nombre en la tabla CUST se almacena como apellido seguido de una coma seguido por la primera nombre por ejemplo Cecilia Quilty Escribir un programa corto similar a TEACHI5A MLC en de este cap tulo que muestra el nombre de cada cliente con el nombre del primero es lo primero y no coma por ejemplo Cecilia Quilty 409 15 9 EJERCICIOS CAPITULO 15 TABLA DE PROCESAMIENTO 7 Consulte la base de datos Small Town Banco de Sangre en m s conjuntos de datos Crear una detallada la historia de las donaciones Para cada uno de los donantes la lista de la fecha de cada donaci n y el nombre del grupo de acredita con la donaci n Su informe debe aparecer como sigue 1 2 3 4 5 6 12345678901234567890123456789012345678901234567890123456789012345 SMALL TOWN BLOOD BANK Page BZZ9 Detailed Donor History ID Donor Name Type Group Date XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXX mm dd yy XXXXXXXXXXXXXXXXXXXX mm dd yy XXX XXXXXXXXXX XXXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXX mm dd yy XXXXXXXXXXXXXXXXXXXX mm dd yy 8 Consulte la base de datos Small Town Hardware Store en m s conjuntos de datos Elaborar una lista de kits y sus herramientas como sigue 1 2 3 4 5 6 12345678901234567890123456789012345678901234567890123456789012345 SMALL TOWN HARDWARE STORE Page BZZ9 Kits List KIT TOOL ID Description ID Description Cost XXX XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXXXX BZZZ 99
410. maestros de archivo en el registro IREC rea WTO IREC Escribir significa para el operador Es un macro que como vimos en el De de la OMC programa se utiliza para mostrar un mensaje en la pantalla En este HELLO MLC caso de que lo est n utilizando para mostrar un registro de los profesores de archivo 25 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 Observe que los registros se muestra a doble espacio Esto se debe a cada registro termin con CR LF La macro de la OMC siempre env a sus propios CR LF as as que en este caso los registros est n a doble espacio Vamos a arreglar esto en nuestro pr ximo programa B LOOP Esta es una una rama para LOOP Similar a una declaraci n de IR en COBOL O BASIC ATEND CLOSE TEACHERS es una etiqueta a la que el programa va a poder cuando los profesores archivo est en la final de archivo El par metro de la macro EODAD DCB cuenta la ensamblador en la rama al final del archivo Habiendo llegado al final de la de archivo cerramos el archivo de la misma manera que en COBOL o BASIC RETURN macro devuelve volver al programa llamando al por lo general el funcionamiento sistema Se deshace lo que la macro se BEGIN Sirve la misma prop sito como GoBack en COBOL Al igual que con la macro BEGIN esto es as com n que una macro similar se encuentra en las tiendas m s BAL Puede muchas cosas se llama Yo lo he visto como
411. mando COPY puede utilizarse para imprimir la salida PRN es un nombre de dispositivo de DOS sentido de la impresora A MIN gt teach8a TEACH8A Begin execution TEACH8A Teacher list on REPORT TXT TEACH8A Normal end of program A MIN gt type report txt ID 732 218 854 ID 626 574 LIST OF TEACHERS Name Degr Ten BENSON E T PHD WN HINCKLEY G B MBA N KIMBALL S W PHD Y LIST OF TEACHERS Name Degr Ten YOUNG B MBA SMITH J MS A MIN gt copy report txt prn 1 file s copied A MIN gt 8 2 4 Ahorrar papel Page 001 Phone 5594 Phone Para ahorrar papel cuando se prueba considere la siguiente modificaci n FORMFEED DS OCL62 PC 370 only DC X 0C EBCDIC formfeed DC CL59 DC 60C _ For testing DC X 0D25 EBCDIC CR LF 8 3 Ejercicios 1 Verdadero o falso a El campo de n mero de p ginas PGS debe ser inicializado a 1 F T b El campo de n mero de p ginas PGS se incrementa antes de pasar a la T campo correspondiente en las partidas 191 8 3 EJERCICIOS CAPITULO 8 LOGICA DE SALTO DE PAGINA El campo de n mero de p ginas en las partidas debe ser definido como un campo de carga F T d El s mbolo de avance de p gina es el 12 F T e El s mbolo de avance de papel aparecen como el signo femenino cuan do se ve en el F T pantalla f EBCDIC 12 es reconocido como un avance de p gina en las impreso
412. mente halfword alineados desde los t tulos son a n n mero de longitud 6 u 8 despu s de un cambio anterior 4 8 Qu cambios deben introducirse en la definici n de tabla y segmentos de programa si el n mero de t tulos Z T TLS se cambi de H 0 a PL2 0 377 15 4 LOS CAMPOS DE TABLAS EL PROCESAMIENTO DE UN CAMPO DE CAR CTER POR 15 TABLA DE PROCESAMIENTO 15 4 Los campos de tablas El procesamiento de un campo de car cter por car cter En nuestro siguiente ejemplo vamos a ver c mo manipular un campo de car cter por car cter Recordemos que la archivo maestro de la base de datos Small Town Community College muestra el nombre del maestro de nombre ltima seguido de una coma y las iniciales y el grado m s alto obtenido Nos gustar a que estos procesos registros como para producir una etiqueta de correo para cada profesor es decir vamos a utilizar un t tulo de DR m dico si el grado m s alto obtenido es PHD de lo contrario vamos a utilizar un t tulo de PROF profesor El la ejecuci n de este programa aparece como sigue A gt teachi5a TEACH15A Begin execution TEACH15A Input lt BENSON E T PHD gt TEACH15A Output DR BENSON gt TEACH15A Input lt HINCKLEY G B MBA gt TEACH15A Output lt PROF HINCKLEY gt TEACH15A Input lt KIMBALL S W PHD gt TEACH15A Output lt DR KIMBALL gt TEACH15A Input YOUNG B MBA gt TEACH15A
413. mino Len Formato 1 DESC Producto desc 1 10 10 CH 2 CALIF ventas California 11 13 3 ZD 3 ILL ventas Illinois 14 16 3 ZD 4 UTAH ventas de Utah 17 19 3 ZD 307 13 1 LAS INGRRUCCIONES QUE BONSABIDE ARITM TICA DECIMAL 5 WISC ventas de Wisconsin 20 22 3 ZD 6 COMIENZAN A partir inv 23 25 3 ZD 7 Compras purch 26 28 3 ZD 8 QOH Cantidad a mano 29 31 3 ZD 9 Coste COSTE cada uno 32 35 4 99V99 10 Vendo Vendo por cada uno 36 39 4 99V99 11 CRLF PC 370 S lo 40 41 2 CR LF y los datos es la siguiente 1 2 3 123456789012345678901234567890123456789 GIZMOS 02003002002001709902312252999 WIDGETS 01501001000202203401900110025 JUNQUE 02501501501803005201001550339 Veremos dos programas en este capitulo El primero dice COGS DAT y calcula y muestra la empresa ventas en d lares de ancho La salida se realiza a trav s de WTOs s lo no hay ning n archivo de salida El resultado es el siguiente A 1MIN gt cogsi3a COGS13A Begin execution COGS13A Nationwide dollar sales are 2 955 82 COGS13A Normal end of program Veamos el c lculo de las ventas en d lares en todo el pa s Product Calif 111 Utah Wisc Total Sell for Product GIZMOS 20 30 20 20 90 29 99 2699 10 WIDGETS 15 10 10 2 37 25 9 25 JUNQUE 25 15 15 18 73 3 39 247 47 TOTAL 2955 82 Como puede ver tendremos que multiplicar el fin de determinar la venta de d lares a nivel nacional Nosotros Ahora analizaremos la Bolsas de multiplicar la ense anza en gen
414. mo el sistema de base 10 tiene 10 d gitos y el sistema de base 2 tiene 2 d gitos el sistema de base 16 16 d gitos Se extienden en valor de 0 a 15 inclusive Pero 15 no puede ser un d gito ya que ser a confundirse con un 1 y un 5 As que para evitar tal confusi n usamos las letras AF para los d gitos 10 15 Los d gitos hexadecimales completa son los siguientes Hex d gito decimal binario 0 0 0000 122 72 N 78 T 84 Z 90 5 3 EL EBCDIC Y ASCUAR RBICOS PSESHACHONIAB DATOS 0001 0010 0011 0100 0101 0110 0111 1000 1001 Un 10 1010 B 11 1011 12 1100 D 13 1101 E 14 1110 F 15 1111 O G N O GQ N Para ser eficaz en ensamblador debe confirmar este cuadro a la memoria Tenga en cuenta que cada d gito hexadecimal utiliza cuatro bits Por lo tanto dos d gitos hexadecimales son necesarias para indicar el valor de un solo byte ocho bits Como antes existe la posibilidad de confusi n sobre la base de un n mero El n mero puede 2A7F s lo un n mero hexadecimal pero 10110 es un binario v lido decimales y el n mero hexadecimal Cuando la base no es evidente se utiliza un sub ndice de 16 para indicar hexadecimal por ejemplo 10 110 16 5 3 2 Hexadecimal a decimal de conversi n Utilizando la misma t cnica que se utiliz con la base 10 y base 2 sistemas de numeraci n e valor de de un n mero hexadecimal se puede encontrar mul tiplicando cada
415. modo con la reutilizaci n de la l nea de detalle como lo hemos hecho aqu Es muy comunes para definir un registro separado para este prop sito MVC TOTSEM HOLDSEM MVC TOTCOUNT X 40202120 ED TOTCOUNT SEM PUT REPORT TOTREC AP LNS P 1 donde TOTREC DS OCL42 DC CL6 gt 230 10 2 SINGCAHIEVED CONQRUIBRRHNKLALDOGIAA DE CONTROL DE DC CL8 SEM gt TOTSEM DC CL3 gt DC CL1 TOTCOUNT DC CL4 DC CL18 sections DC X 0D25 CR LF Tenga en cuenta que usamos INFORME DE VENTA TOTREC y el incremento de la l nea de la lucha contra aqu en vez de BAL debido a que escribir de rutina pone OREC s lo para informar R10 ESCRIBA 2 b Restablecer el contador a cero secciones Nos movemos a cero el con tador para el n mero de secciones de dentro de este semestre Z SEM De lo contrario las secciones cuentan para W92 semestre se incluir en las secciones en cuenta para el semestre de F93 y el recuento de las secciones para los semestres W92 y F93 ser n incluidos en las secciones que cuentan para W93 semestre 2 c de la Fuerza para el pr ximo semestre una nueva p gina Obligar a ca da nuevo semestre a una nueva p gina es sencillo basta con fijar la l nea de la lucha contra el m ximo permitido Recuerde que antes de imprimir cualquier l neas de detalle siempre invocar la CHKLNS de rutina para ver si una p gina es completa y de ser as la impresi n partidas Al estable cer la l nea
416. mp ADDED P 1 ADDITX EQU L R10 SVADDIT BR R10 FK KK KK al deal X K K K de ok oko ok ok ok ode ok ale K K K K X ok K K ok ok ale K ok ale ode X FK FK K ok ok ale ok ok K K K ale X K K K ok ok ale ale K ale ale CHANGEIT Apply changes to existing master record kok ok oF 5k sk sk sk sk P PK Pk PK AAA A A A I I I I 2k 2k 2k CHANGEIT EQU ST R10 SVCHGIT COPY EXISTING RECORD TO OUTPUT RECORD THEN MAKE THE REQUESTED CHANGES OREC IREC CLC TLNAME BLANKS 294 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N CHGIT2 CHGIT3 CHGIT4 CHGIT5 CHGIT6 CHGIT7 CHGITX BE MVC EQU CLC BE MVC EQU CLC BE MVC EQU CLC BE MVC EQU Go BE MVC EQU CLC BE MVC EQU MVC BAL CHGIT2 OLNAME TLNAME TFNAME BLANKS CHGIT3 OFNAME TFNAME TADDR BLANKS CHGIT4 OADDR TADDR TCITY BLANKS CHGIT5 OCITY TCITY TSTATE BLANKS CHGIT6 OSTATE TSTATE TZIP BLANKS CHGIT7 OZIP TZIP OACD TACD R10 WRITENEW SHOW THE RECORD BEFORE AND AFTER CHANGES BAL MVC BAL MVC MVC BAL MVC MVC BAL AP EQU L BR R10 CHKLNS RREC BLANKS R10 WRITE RDATA IREC RMSG CL16 BEFORE CHANGE R10 WRITE RDATA OREC RMSG CL16 AFTER CHANGE R10 WRITE CHANGED P 1 R10 SVCHGIT R10 FKK KK K K K ok K K gt K Rda OK KOK DELETEIT Delete an existing master record To delete it just don t write it out gt K sk
417. mprimir un m ximo de cuatro l neas por cada detalle p gina Adem s todas las l neas de detalle de impresi n a doble espacio 9 No es raro para incluir a los pies de p gina as como las cabeceras en un informe Modificar uno de los por encima de los ejercicios para imprimir un pie de p gina con el n mero de p gina correspondiente en la parte inferior de cada uno de p gina Este pie de p gina deben aparecer adem s de la cabecera 193 Capitulo 9 La Instrucci n Editar Objetivos Al t rmino de este cap tulo usted ser capaz de Definir una m scara de entrada para suprimir ceros a la izquierda Definir una m scara de edici n para incluir una coma en su caso Definir una m scara de entrada para incluir un punto decimal en su caso Definir una m scara de entrada para incluir un signo Definir una m scara de imprimir CR PP de cr dito o de d bito Definir una m scara de edici n para la protecci n de cheques y Usar la instrucci n de editar con una m scara para imprimir un n mero de envasado en el formato deseado Introducci n En el cap tulo siete se introdujo Bolsas de operaciones de la aritm tica decimal En ese cap tulo prepar dos informes para las Industrias Dind n la Cr nica de ventas e inventario discrepancias informes Esos informes apareci como sigue 123456789012345678901234567890123456789012345678901234567890 COGSWORTH INDUSTRIES Sales Recap Product Calif 11 Utah Wi
418. multiplicar este por 4 con el producto en el registro de 6 Mostrar los resultados intermedios R5 R6 antes 16 3 Binary Divisi n El D y DR Instrucciones Recuerde que en nuestro an lisis de la DP brecha de relleno la instrucci n tras la divisi n de la dividendo fue sustituido por el cociente a la izquierda y el resto a la derecha Algo similar ocurre con la divisi n de registro Al igual que con la multiplicaci n registro la divisi n de registro utiliza un incluso extrana pareja de registros Inicialmente el dividendo se ocupan incluso un par de extra os A ra z de la operaci n de divisi n el cociente ser en un registro y el resto ser en la otra registro Hay un punto potencial de confusi n a diferencia de la brecha Bolsas de instrucci n la el cociente ser a la derecha en el registro impar y el resto estar en la izquierda incluso en el registro El D dividir la instrucci n se divide el dividendo incluso en un par impar por un fullword Por ejemplo where L R9 SUM SUM DSF M R8 2F 1 where D R8 COUNT COUNT DS F En primer lugar el dividendo debe ser colocado en el registro de n mero impar de un par de par impar Recordatorio el uso L si el dividendo es un fullword o LH si el dividendo es una media palabra En segundo lugar a diferencia de la multiplicaci n binaria el contenido del registro de pares es importante para la divisi n Usualmente se desea eliminar cero Lo hac
419. n BAL 10 SETUP MAIN EQU BAL 10 PROCESS B MAIN ATEND EQU BAL 10 WRAPUP WTO TEACH4A Normal end of program RETURN YK ok ok ok k ok sk ok kk k k k kk 5k ok Ok 9k 9k 9k 3k akk ak k ak ak ak ak 9k 9k I I ICICI OR I IKK 2k 3K 3K K K K K KOR K K K K OK K KK K K SETUP Those things which happen one time only before any records are processed lt 2K 2K K KK K K K K ale x K K K K ok ok K ok ok ale X ok ale K K K K X ok ok K K ok ale K 9 K ode FK X K FK ok ok ale FK ok K ode 2K ale ode ok K KK K K K K K ale SETUP EQU OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT PUT REPORT HD1 PUT REPORT HD2 PUT J REPORT HD3 PUT REPORT HD4 BR 10 BEA AAA ARR A A ACA Ik A ORO 21 21 24 KOR K k 2k k 2k 2k 2k kkk OK R PROCESS Those things which happen once per record SEA AA R R KOR 9k RR A A A A I I I 1 21 101 4 1 COOKPETIIAT ION OO GEIR UCMRAPRU IP SHRROGRAMA DE BAL PROCESS EQU GET TEACHERS IREC Read a single teacher record CLI ITTEN C Y Is teacher tenured BNE PROCESSX No then skip this record MVC OTID ITID Move teacher ID Nbr to output MVC ITNAME Move teacher Name to output CLC ITDEG CL4 PHD Highest degree PhD BE YESPHD Yes branch MVI OPHD C N No Show PhD N B OTHERS Branch around YE
420. n mero de d gitos que contiene As por ejemplo un campo CL3 puede contener un n mero de relleno de hasta cinco d gitos Cuando el campo de tipo P especificaci n se usa con un DC el valor inicial es siempre firmado Por ejemplo tiene una representaci n hexadecimal de X 012C J DC PL2 12 Tambi n tiene una representaci n hexadecimal de X 012C a y 12 a K DC PL2 PL2 12 tiene una representaci n hexadecimal de X 012D L DC Un n mero puede ser PACK ed en un campo que es demasiado peque o para el n mero el orden de alto a la izquierda la mayor a de los d gitos se trunca y ninguna advertencia o mensajes de error se dan As que ten cuidado Un n mero tambi n puede ser embalado en un campo que es mayor de lo necesario para mantener ese n mero En este caso el n mero se rellena con ceros a la izquierda por lo general no es un problema No es raro que un usuario por escrito macro para el tratamiento de un campo de manera diferente en funci n de su tipo tales como aCLEAR macro 148 7 2 BOLSAS DE FORPIATOOECIBOMSAS DE ARITM TICA DECIMAL que se mover a cero a un campo si es tipo P espacios en blanco a un campo si es de tipo C o ceros binarios X 00 a un campo si es de tipo X Por ejemplo dada A CL4 1234 DC B DC PL2 0 C DC PL4 0 las instrucciones PACK B A PACK C producir B X 234F gt C 0001234 gt Usted probarlo Teniendo en
421. n mucho m s f ciles de mantener Adem s el uso de las peque as coherente m dulos aumenta la reusabilidad del c digo es mucho m s f cil de usar partes de un programa en la otro sin modificaci n Vamos a utilizar esta estructura en el resto del libro Usted puede estar sorprendido de lo poco que tenemos que cambiar a medida que se introducen nuevos conceptos 4 2 Ejercicios 1 1 Verdadero o falso a El tama o de los registros de un equipo se conoce como el tama o de la palabra F T b El equipo System 370 diecis is registros se numeran del 1 al 16 F T c PC 370utiliza registro de 13 como su registro de base F T d La instrucci n de la tienda ST funciona como instrucciones BAL mayor a de los otros es decir la F T el primer operando es el campo de recepci n e La instrucci n de carga L funciona como instrucciones BAL mayor a de los otros es decir la F T el primer operando es el campo de recepci n 116 42 EJER IGIOSO 4 COMO ESTRUCTURAR UN PROGRAMA DE BAL f La instrucci n de carga L carga un registro en un fullword F T g Usamos el registro de la sucursal BR la orden de regresar de una subrutina F T h Un registro diferente debe ser utilizado para invocar a cada subrutina FT i Las t cnicas mostradas en este cap tulo no son compatibles con la recursividad F T j Para maximizar la cohesi n de medios para poner tanto c digo en una subrutina nico como es F T posible k Ca
422. n Hours XXXXX XXXXXXXXXXXXXXX X XXXXX XXXXXXXXXXXXXXX X XXXXX XXXXXXXXXXXXXXX X 16 El departamento de Ingl s ha solicitado una lista de todos los grados para las clases de Ingl s para el escolar 1992 93 F92 y W93 semestres solamente Escribir un programa para elaborar dicha lista con el siguiente formato 1 2 3 4 5 12345678901234567890123456789012345678901234567890 ENGLISH GRADES FOR 1992 93 SCHOOL YEAR Confidential Course Student Sem Number ID Grade 3 7CAR ERUCIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS XXX XXXXX XXX X XXX XXXXX XXX X XXX XXXXX XXX X 95 Capitulo 4 Como estructurar un Programa de BAL Objetivos t rmino de este cap tulo usted ser capaz de Definir registro en el contexto de la arquitectura System 370 Definir una fullword Explique qu efecto si los hubiere cada una de las instrucciones siguientes en un registro BAL BR ST y L Explicar c mo el BAL BR ST y las instrucciones de L se puede utilizar para estructurar un programa en ensamblador Explicar el prop sito de PC 370 s macros regs Describir los componentes t picos de la l nea principal la configuraci n insumos procesos OUTPUT y Wrapup secciones de un programa estruc turado y de Escribir un programa estructurado Introducci n Algunos dir n que estructurado BAL es un ox moron que no se puede hacer BAL tiene una muy conjunto de instrucciones limitadas es despu
423. n hexadecimal de E es X 002D F T SP D C hace que D X 005C F T SP D D D hace X 000C F T j SP E E E hace X 000C F T k en los resultados de un c digo de condici n de 4 bajo T 1 ZAP B C se producir un Abend F T ZAP B E causar un Abend F T m 2 Determinar los resultados de las operaciones siguientes B A A Fi F2 F3 a B PACK D C C F1 F2 F3 C4 b 176 7 15 EJERCICIOS CAPITULO 7 BOLSAS DE ARITMETICA DECIMAL D PACK E Di Fi F2 F3 C4 d H 3 Determinar los resultados de las operaciones siguientes UNPK J I I 12 34 5F UNPK L K 00 1C M 1D C UNPK P 0 0 12 3C 4 Determinar los resultados de las operaciones siguientes AP A 01 23 4F 5 Determinar los resultados de las operaciones siguientes SP B A A 01 23 4F 6 Escriba el c digo de BAL necesarios para determinar donde TOTAL BRU TO TOTAL ImpuestoVenta Utilice las definiciones de campo sigu iente Definir los campos de trabajo necesario Total debe ser imprimibles es decir sin firmar GROSS DS CL5 SALESTAX DS CL4 TOTAL DS CL6 7 Escriba el c digo de BAL necesarias para determinar NET donde NET Ventas Devoluciones Utilice las definiciones de campo siguiente Definir los campos de trabajo necesario NET debe imprimir es decir sin firmar SALES DS CL5 RETURNS DS CL4 NET DS CL5 8 Columnas 8 14 de una tarjeta de la imagen de arch
424. n informe de auditor a significativa con la cuenta adecuada Antes de actualizar el archivo verificar que el costo es menor que el precio de venta con excepci n de las envolturas que debe tener una venta de precio de cero Una envoltura est indicado por una W en la primera posici n de la herramienta de identificaci n 306 Capitulo 13 Mas Bolsas de aritm tica decimal Objetivos t rmino de este cap tulo usted ser capaz de Utilice la instrucci n MP para multiplicar un n mero por otro Utilice la instrucci n de DP para dividir un n mero por otro Mostrar la forma de evitar la divisi n por cero Mostrar la forma de seguimiento de la ubicaci n del punto decimal im pl cita cuando se utiliza MP y DP Utilice la instrucci n de SRP multiplicar o dividir un n mero por una potencia de diez y Utilice la instrucci n de SRP para redondear un n mero especialmente despu s de un cociente de la divisi n Introducci n el cap tulo siete se introdujo el formato decimal empa quetado as como las instrucciones seleccionados incluyendo AP SP CP ZAP empacar y UNPK En este cap tulo veremos la multiplicaci n MP dividir DP y el cambio y vuelta SRP de instrucciones En este cap tulo vamos a continuar nuestro trabajo con el archivo de inven tario para las Industrias Dind n Recall el dise o de registro para ese archivo COGS DAT es el siguiente Campo Campo 9 Nombre Descripci n Inicio T r
425. n registro nico puede contener un valor de hasta 2 147 483 647 Si es necesario Usted puede utilizar el almac n de la in strucci n m ltiple para almacenar productos muy importantes en una pal abra doble para ejemplo STM R4 R5 DBL Asimismo puede utilizar la instrucci n de carga m ltiple para poner un palabra doble en un par de registros por ejemplo LM R4 R5 DBL No tenemos que estar preocupados con lo que est en el n mero par de registro antes de que se multiplican Ello no necesita ser inicializada todo lo que es su lugar ser sustituido por los d gitos de orden superior de la producto Veamos m s de cerca otro ejemplo Teniendo en cuenta FULL1 DC F 64 00 00 00 40 FULL2 DC F 8 00 00 00 08 Para multiplicar FULL1 por FULL2 64 x 8 512 X 200 y convertir el producto a un n mero de Bolsas de que el c digo asumir DBLWORD DC D 0 ys R4 R5 L R5 FULL1 2 77 00 00 R4 R5 M R4 FULL2 00 00 00 DBLWORD 412 00 40 00 00 00 02 00 16 2 BINARY MULTIPLICACION LA MH Y LAS INSTRUCCIONES CAPITULO 16 MAS ARITMETICA BINARIA 00 00 00 R4 R5 L R5 FULL1 2 00 00 00 40 R4 R5 M R4 FULL2 00 00 00 00 00 00 02 00 Tambi n podemos utilizar el MR multiplicar registro la instrucci n para mul tiplicar incluso un par de extra os por un nico registro Por ejemplo R4 R5 L R5 FULL1 7 00 00 00 40 L R6 FULL2 R4 R5 MR R4 R6 00 00 00 00 00 00 02 00 intenta 1
426. n su caso al ensamblador colocar el la direcci n de los operandos en las columnas ADR1 o ADR2 Por ejemplo en la l nea 18 en donde queremos avanzar 1 al campo E ADR2 es 00A7 lo mismo que hemos encontrado a adiendo el desplazamiento a la base Asimismo en l nea 21 donde se quiere comprobar si el primer byte del campo B es la letra D ADR2 es 00A1 lo mismo que hemos encontrado anteriormente Es evidente que las columnas ADR1 y ADR2 son m s f ciles de usar En tonces por aprender la otra manera Porque cuando estamos mirando el c digo objeto solamente como por ejemplo durante una sesi n de pruebas o cuando la depuraci n la ADR1 y la Columnas ADR2 no estar disponible Usted probarlo 1 Mostrar el c digo objeto para la l nea 18 si esa l nea se cambi a la MVI E C 2 2 Mostrar el c digo objeto para la l nea 21 si esa l nea se ha cambiado a la CLI B 1 C 3 Mostrar el c digo objeto para la linea 24 si esa linea se cambi a la MVI E 1 X 40 6 2 El formato de instrucci n SS E es PLE 1 de halfword 2 halfword 3 halfword Pacos ove soos ee aa prl E cer pta ca taa SS Op C digo L B 1 D1 B 2 D2 134 6 2 EL FORMAARITHELINGTRQUEIDNESSTA COSA DE LA IZQUIERDA A sa s Ram z z pap uma Pisu pod kas saam Todas las instrucciones que utilizan las 55 o de almacenamiento a almace namiento formato de instrucci
427. na fila se puede utilizar LA R3 10 para que apunte a la siguiente fila F T e Si el registro 3 se apunta a una fila podemos utilizar una R3 F 10 para apuntar la pr xima fila f Si el registro 3 se apunta a una fila podemos utilizar LA R3 REGIONES L R3 para apuntar a F T la siguiente fila g Si el registro 3 se apunta a una fila podemos utilizar SH R3 H 10 para apuntar a la F T fila anterior h Si el registro 3 se apunta a oeste a continuaci n AP WEST P 1 es el mismo que AP 0 P 1 i Si el registro 3 se apunta a una fila para a adir que el n mero de filas de TOTAL se puede utilizar F T AP TOTAL 0 2 R3 j j Para ver si el registro 3 se apunta a la final de la tabla podemos usar la F T CLI 0 1 R3 k Si el registro 3 se apunta a una fila podemos utilizar CP 0 2 R3 P para ver si se F T recuento de filas es igual a cero l Si se sustituye a todos PL2 0 con H 0 entonces tenemos que asegurarnos es halfword REGIONES F alineados m Si se sustituye a todos PL2 0 con y el registro se apunta a una fila entonces F T puede utilizar AH 0 2 R3 H 1 para anadir de 1 a contar esa fila 2 Habida cuenta de las definiciones de los campos siguientes WSTATE DS CL2 FOUNDSW DS CL1 NO EQU C N YES EQU CY STATES DC H 50 STATES DC CL DC etc Llena los espacios en blanco IS WSTATE IN TABLE nc HRB yo ee Po
428. ncluso pares impares de los registros Recuerde que hay registros de diecis is en total numerados del 0 al 15 Esto nos da ocho pares de pares impares de registros RO R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R15 R14 R13 Recuerde incluso un par impar de registros se inicia con el registro de n mero par que es el m s bajo de los dos n meros Por ejemplo R2 R3 es un par pareja pero R3 R4 y R5 R6 se ni siquiera los pares impares 411 16 2 BINARY MULTIPLICACION LA MH MR Y LAS INSTRUCCIONES CAPITULO 16 MAS ARITMETICA BINARIA 16 2 Binary Multiplicaci n La MH MR y las instrucciones La M multiplicar la instrucci n se multiplica un registro por un fullword Por ejemplo where SUBTOTAL L R9 SUBTOTAL DS F where DISCOUNT M R8 DISCOUNT DS F En primer lugar uno de los valores que se multiplican se coloca en el registro de n mero impar de un par impar par En segundo lugar se multiplican Especificar el registro de n meros pares como el primer operando y el otro fullword como el segundo operan do Si el primer operando no es un registro de pares es obtendr una excepci n de la especificaci n en tiempo de ejecuci n Por ltimo el producto ser una palabra doble incluso ocupando la par impar Por lo general el derecho la mayor a de parte del producto es decir el registro de n mero impar ser suficiente para sostener el pro ducto Recuerde que u
429. ndientes son 43b TEACH2A MLC formateo del reporte 43b 45 MVC OTID ITID Move teacher ID Nbr to output MVC OTNAME ITNAME Move teacher Name to output MVC OTDEG ITDEG Move highest degree to output MVC OTTEN ITTEN Move tenure to output MVC OTPHONE ITPHONE Move phone nbr to output MVC OCRLF WCRLF PC 370 ONLY end line w CR LF Observe que utilizo WCRLF en lugar de ITCRLF para mover un retorno de carro avance de linea a OCRLF Podria han utilizado uno u otro Yo siempre uso WCRLF He aqui una razon tal vez estoy leyendo un archivo que no tiene un CR LF al final de cada registro Por ejemplo tal vez cuando me introducidos los datos me no se pulse la tecla Intro despu s de cada 29 bytes de datos Est bien para hacerlo y lo hace ahorrar espacio dos bytes por registro Pero por lo general pulse Intro para que pueda ver los datos con m s facilidad utilizando DOS Comando o algo similar Sin embargo si no presione Enter no habr a ITCRLF campo y para producir el informe que tendr a que hacer uso de otro campo tales como WCRLF Usted puede ver en la discusi n anterior que ITCRLF nunca referencia en este programa Necesito que los dos bytes de almacenamiento asignado para sostenerlo Despu s de todo est ah aunque yo no lo uso Pero si yo optar por 43 44 2 1 DECREE VDOOVIMEEXNIO ION IYAWOS IMIKWRA DEHRA R CTERES hacerlo me pueden dejar fuera el nombre del campo ya que nunca se utiliza Por
430. ndo uso de los datos contenidos en el ambos archivos En el pr ximo cap tulo vamos a aplicar los cambios en el archivo maestro como resultado de la transacciones procesadas KOK OK KOK OK KOK OE OE KOK OK OK OK OE OE El informe que vamos a producir en este capitulo es una lista de tareas de ense anza para el oto o de 1992 semestre El informe aparecer como sigue 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 F92 Teaching Assignments PageBZZ9 TID Name Course Section Room 11 1 CLASIFIC GRINUTOUOS AI SHIEQSNAFEBN RIMJAADE ARCHIVO XXXXXXXXXXXXXXX XXXXX X XXXX XXXXX X XXXX XXXXXXXXXXXXXXX XXXXX X XXXX XXXXX X XXXX Observe que aparecer una lista de ID y el nombre del profesor para cada profe sor de ensenanza de un curso en el otono de Semestre de 1992 junto con el ID del curso n mero de secci n y n mero de habitaci n para cada curso ensenado El profesor ID ID del curso el n mero de secci n y n mero de habitaci n vendr de la oferta del archivo pero el nombre del maestro se encuentra en el archivo s lo MAESTRO Podemos pensar en el archivo como MAESTRO el maestro y el archivo de oferta como de las transacciones Lo que necesitamos es de alguna manera de encontrar el nombre de los maestros basados en el maestro de identificaci n Por supuesto este es un tarea trivial si se est trabajando con un sistema de base de datos relacional pero no lo son Debemos c dig
431. necesario acaba de obtener el registro de profesor siguiente TEACHLOW EQU ST R10 SVTCHLOW BAL R10 READTCH L R10 8VTCHLOW BR R10 La Oferta de archivo bajo condici n indica que tenemos un curso de Mover Maestro ID de la oferta no asignado a un maestro en el archivo MAESTRO Vamos a seguir adelante de archivo con ID de y mostrar el curso de todos modos y mostrar el nombre del profesor como Desconocido 262 11 5 EL PROCKS4PDEUROTIN ENTRADA DE ARCHIVO OFFERLOW EQU ST MVC MVC BAL L BR R10 SVOFFLOW HOLDTID OTID HOLDNAME CL15 Unknown R10 DOTHIS1 R10 SVOFFLOW R10 El Match condici n indica que tenemos un curso de Profesor de archivo de asignado a un profesor que est en el archivo MAESTRO Hold proceso de identificaci n todos los registros de curso de este maestro MATCH EQU ST R1 O SVMATCH Teacher file to Hold MVC HOLDTID TTID Name MVC HOLDNAME TTNAME BAL R1 BAL Ri L R1 BR Ri 0 DOTHIS1 0 READTCH 0 SVMATCH 0 Ahora todo el proceso la oferta de cursos de un maestro nico de identificaci n En el OFFERLOW y MATCH rutinas pasamos el ID maestro y el nombre del maestro o Desconocido a una zona de bodegas Estos campos zona de la bodega servir a dos prop sitos En primer lugar la bodega de ID se utiliza para comprobar si hay cambios en el maestro de identificaci n En segundo lugar estos son los campos que se traslad a la identificaci n y el
432. nico extendido rama de desbordamiento Por el contrario puede utilizar el BNO mnem nico rama en ninguna de desbordamiento Esto puede demostrarse con el siguiente programa OVERFLOW BEGIN AP A B BO OVER WTO There was NOT an overflow B DONE OVER EQU WTO There WAS an overflow DONE EQU RETURN A DC PL2 998 B DC PL2 2 END OVERFLOW 151 7 6 LA 7 BOLSAS DE ARITM TICA DECIMAL En este caso usted ver el mensaje habia un exceso ya que 998 2 1000 y 1000 se caben en un campo de dos bytes Si cambia el valor de B 2 a 1 podr s ver el mensaje No se NO es un desbordamiento ya que 998 1 999 y 999 caben en un campo de dos bytes 7 6 La Instrucci n UNPK Despu s de la adici n anterior adici n de 1 234 a 567 C contendr 1801 representado como X 0001801C Tenga en cuenta que el resultado de cualquier operaci n aritm tica incluyendo ZAP de la firma con C para los positivos y de D para el negativo aunque los n meros originales fueron sin firmar PACK UNPK y no se consideran las operaciones aritm ticas Por supuesto no puedo imprimir campo C en este formato El primer n mero debe ser descomprimido El instrucciones para hacerlo es UNPK Esta instruc ci n funciona como la instrucci n PACK pero a la inversa El signo del n mero envasados que es la m s a la derecha cuatro bits voy a entrar en la parte de la zona de del byte m s a la derecha d
433. nitions k k 5k ok ok ok 5k ok ok 5k 5 Pok 5k 5k Pk ok CI I IK I A A 1 kk 4 4 21 kk kkk kk kk kk k k R KOR k K K K FORMFEED DS 0 1 80 PC 370 only DC X 0C EBCDIC formfeed DC CL77 DC 78 For testing DC 20025 gt EBCDIC CR LF HD1 DS 0CL80 DC CL40 Name amp Address Update Pro DC CL26 gram Page HDPGS DC CL4 BZZ9 DC CL8 gt DC XL2 0D25 301 12 2 CMPREUINAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N HD2 DS 0CL80 DC CL78 Audit Listing DC XL2 0D25 HD3 DS 0CL80 DC CL78 gt DC XL2 0D25 HD4 DS OCL80 DC CL40 1 2 3 4 DC CL38 5 6 MESSAGES DC XL2 0D25 END BEGIN Observe el uso de la instrucci n ORG arriba Esto nos permite definir un registro La primera la instrucci n ORG RREC dice que para restablecer el contador de localizaci n recuerde cosas de la izquierda a lo que Fue en RREC arriba La segunda instrucci n ORG solo dice que para poner el contador de posici n de nuevo a lo que era antes de la primera ORG Mediante el uso de la ORG hemos ahorrado 80 bytes de memoria Cu ndo utilizando ORG es f cil olvidar el cierre ORG No lo hagas 12 2 9 Conciliar el informe de auditor a Echemos una mirada m s en el informe de auditor a elaborado por este programa Name Address Update Program Page 2 Audit Listing 1 2 3 4 5 6 MESSAGES Transactions In 6 Transactions Rejected 3 Ol
434. no Para editar un n mero debe definir una m scara que indica el formato deseado El primer byte de la m scara de contendr siempre un car cter de relleno que indica el car cter con que ceros a la izquierda se reemplazado Esto suele ser un blanco X 40 7 sino que puede ser un asterisco X 5C para comprobar la protecci n El car cter de relleno es seguido por muchos como X 20 como hay d gitos en la Bolsas de n mero que se est editando Seguimos con el ejemplo anterior Teniendo en cuenta FLDA define como PL4 con una valor de 123 456 FLDA DC PL4 123456 01 23 45 6C Queremos imprimir este campo con ceros a la izquierda suprimida Teniendo en cuenta la definici n de campo siguientes MASK DC X 4020202020202020 196 CAPITULO 9 LA INSTRUCCION EDITAR tenemos el siguiente c digo WK8 MVC WK8 MASCARA 40 20 20 20 20 20 20 20 ED Recuerde que cuando se utiliza una etiqueta de la forma WKN estoy dando a entender que un campo de trabajo de n bytes de longitud se ha definido por ejemplo WK8 CL8 DS Observe que la m scara tiene un car cter de relleno X 40 que indica que todos los ceros a la izquierda se sustituye con espacios en blanco Adem s hay siete X 20 porque un campo definido como PLA tiene siete d gitos Por lo tanto la m scara es un total de ocho bytes de longitud Por supuesto podr a haber codificado el siguiente en su lugar MVC WK8 X 4020202020202020 ED WK8 FLDA El
435. nombre del maestro en el informe Vamos a mostrar la ID maestro y el nombre en la primera l nea para este nico maestro a menos que la lista de cursos para este profesor deber a ocurrir con span un salto de p gina en cuyo caso la ID y el nombre del profesor ser mostrado en de la primera l nea de la p gina siguiente tambi n DOTHIS1 EQU ST MVC MVC MVC DOTHIS2 EQU BAL CP BNE MVC MVC R10 SVTHIS1 RREC BLANKS RTID HOLDTID RTNAME HOLDNAME R10 CHKLNS LNS P 0 DOTHIS3 RTID HOLDTID RTNAME HOLDNAME DOTHIS3 EQU MVC MVC MVC RCID OCID RSECT OSECT RROOM OROOM 263 11 5 EL PROCKS4PDEUROTIN AP SODESC NA ENTRADA DE ARCHIVO BAL R10 WRITE BAL R10 READOFF CLI EOFOFFER C Y BE DOTHIS4 CLC HOLDTID OTID BE DOTHIS2 MVC RREC BLANKS BAL R10 WRITE L R10 SVTHIS1 BR R10 Se realiza una comprobaci n de una p gina completa antes de cada registro que se est impreso ver CHKLNS En el proceso de el formato de una l nea informe se compruebe si el recuento de l nea LNS es cero Si es as entonces esta es la primera l nea en una p gina mostrar el ID maestro y nombre de nuevo Despu s de cada l nea tiene el formato y el impreso el siguiente oferta de cursos registro que se lee El proceso se repite hasta que la oferta de cursos de archivos es un EOF o el maestro ID ha cambiado en comparaci n con la bodega de identificaci n 11 5 1 El CHKLNS HDGS y rutinas de escritura
436. ntavos es una cuesti n de preferencia personal Para ejemplo usted puede preferir que la parte en blanco de d lares como en WK7 arriba o puede preferir mostrar un cero en la parte de d lares En este ltimo caso la m scara ser a cambiado con la X21 descendi una posici n a la izquierda Por ejemplo 198 CAPITULO 9 LA INSTRUCCION EDITAR MVC X 402021204B2020 ED WK7 FLDB da igual a C bbb0 00 intenta Habida cuenta de escribir la instrucci n s para mover H DC PL3 6 gt 9 tal que se C bbbbb 6 10 tal que se C bbb00 6 11 tal que se C bbbO 06 gt Impresi n de comas De la misma manera que los per odos de a adir a la salida podemos a adir una coma a la salida Para imprimir una coma a adir una coma X 6B en la posici n adecuada s dentro de la m scara Continuando con nuestro ejemplo anterior MVC WK10 X 4020206B2020214B2020 ED WK10 FLDA da WK10 igual a C bb1 234 56 Tenga en cuenta que nuestro campo de destino y la mascara han pasado de ocho bytes a diez bytes Tenga en cuenta tambi n que el n mero total de X 20 y X 21 todavia es impar siete una para cada digito en FLD intenta Habida cuenta de escribir la instrucci n s para mover W a DC PL5 6301982 gt 12 WK10 tal que WK10 se C bbb6301982 13 WK12 tal que WK12 se C bbb6 301 982 14 WK12 tal
437. ntener nacional A Z o de num rico 0 9 caracteres y debe comenzar con un car cter nacional Me he limitado mi nombres de los campos siete caracteres de modo que puede agregar un car cter m s delante como yo para los campos de entrada O para los campos de producci n o W para los campos de trabajo Como esta es la descripci n del registro de entrada voy a utilizar una I como el primer car cter de cada campo nombre no porque tenga que hacerlo s lo porque tiene sentido El dise o de registro completo de la siguiente manera ff 40 41b gt IREC DS OCL29 Teacher record ITID DS CL3 Teacher ID nbr ITNAME DS CL15 Teacher name ITDEG DS CL4 Highest degree ITTEN DS CL1 Tenured ITPHONE DS CLA Phone nbr ITCRLF DS CL2 PC 370 only CR LF 40 Ala 41 2 1 DEEINI TVIMIOVIMBEXNYO IOR IYAYIOS DH DEHRA R CTERES Aqu se utiliza la instrucci n de DS en lugar de la DC DS significa Definir almacenamiento Sirve la misma prop sito como DC salvo que no le asigna un valor inicial Si usted est familiarizado con COBOL un DS es como una definici n del campo sin una cl usula de valor No es necesario asignar un valor a estos campos No se hace referencia antes de leer el primer archivo GET despu s de que todos ellos tienen valores Los comentarios se utiliza para describir cada campo Sin embargo los nom bres de campo debe ser tan significativo como posible con la limitaci n de och
438. ntidad de la orden m s antigua en la cantidad de orden econ mico Utilice DDNAME NEWTOOL DAT en el DCB para este nuevo archivo Todas las herramientas deben ser escritos para este nuevo archivo incluso aquellos para los que no hab a orden nuevo puesto Comando USE DOS para ver el archivo 15 Ejercicios 15 a a Llene los espacios en blanco l neas 15 19 y 26 29 STUFF7A PC 370 CROSS ASSEMBLER OPTIONS LXACE LOC ADR1 ADR2 LINE 000000 1 000000 2 000000 3 LABEL STUFF7A 179 6 XXX XXX XXX Min XXX XXX XXX PAGE OP BEGIN CSECT USING 7 15 EJERCICIOS CAPITULO 7 BOLSAS DE ARITMETICA DECIMAL 000000 47 0 058 0058 4 000004 DC 000005 E2E3E4C6C6F7C140 6 DC 000010 0000000000000000 7 HZQKX001 DC 000058 90ECDOOC 000C 8 KZHQX001 STM 00005 50DOF014 0014 9 ST 000060 18ED 10 LR 000062 41D0F010 0010 11 LA 000066 50DOEO008 0008 12 ST 00006A 13 DROP 00006A 14 USING 000064 0097 0092 15 PACK 000070 0097 0095 16 AP 000076 ____DO80____ 0090 0097 17 CP 00007C ________ 0086 18 BE 000080 __________ 0095 0097 19 SP 000086 00000086 20 S EQU 000086 21 RETURN 000086 58DD0004 0004 22 L 00008A 98ECDOOC 000C 23 LM 00008 O7FE 24 BR 000090 25 LTORG 000090 26 M DC 000092 ______ 27 N DC 000095 ____ 28 Q DC 000097 ________ 29 R DC 0000A0 30 END b b Usted es el equipo cu les son los valores de M N Q R y despu s de este programa se ejecuta _________ __
439. ntil at EOF also x WRAPUP2 EQU CLI EOFMAST C Y BE WRAPUP3 BAL R10 MASTLOW B WRAPUP2 WRAPUP3 EQU CLI EOFTRANS C Y BE WRAPUP4 BAL R10 TRANSLOW B WRAPUP3 WRAPUP4 EQU CLOSE MASTERIN CLOSE TRANSIN CLOSE MASTEROT BAL R10 DOCOUNTS CLOSE REPORT WTO gt BQSFU Audit list on REPORT TXT L R10 SVWRAP BR R10 EAA AAA 9k 9k 9k A A A A I I kk ORO 24 24 24 FOR R k k 2k 2k 2k 2k kkk OR OR DOCOUNTS Show counts for audit AR Rod R OR 297 12 2 CMPREUNGAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N DOCOUNTS EQU ST BAL MVC BAL MVC MVC ED BAL MVC MVC ED BAL MVC MVC ED BAL MVC MVC ED BAL MVC MVC ED BAL MVC MVC ED BAL MVC MVC ED BAL L BR R10 SVCOUNTS R10 HDGS AREC BLANKS R10 WRITE ADESC CL25 Transactions In ACOUNT EDCOUNT ACOUNT TRANSIN R10 WRITE ADESC CL25 Transactions Rejected ACOUNT EDCOUNT ACOUNT REJECTS R10 WRITE ADESC CL25 01d Masters In ACOUNT EDCOUNT ACOUNT KOLDIN R10 WRITE ADESC CL25 01d Masters Deleted ACOUNT EDCOUNT ACOUNT DELETED R10 WRITE ADESC CL25 01d Masters Changed ACOUNT EDCOUNT ACOUNT CHANGED R10 WRITE ADESC CL25 New Masters Added ACOUNT EDCOUNT ACOUNT ADDED R10 WRITE ADESC CL25 New Masters Out ACOUNT EDCOUNT ACOUNT NEWOUT R10 WRITE R10 SVCOUNTS R10
440. ntre los campos se han dado los valores iniciales de los espacios en blanco Podr a haber inicializa todos los campos a los espacios en blanco si se cambia el DSS para pa ses en desarrollo pero no es necesario ya que los los campos no se utilizar n hasta que los campos de entrada se han trasladado in A pesar de que cada campo es m s de un byte de largo un espacio en blanco es suficiente Al definir los datos de caracteres DC con el tipo de C el campo se rellenar con espacios en blanco Esto no debe confundirse con la instrucci n de MVC que no Pad Voy a agregar otra secci n para el programa definiciones de campos diversos Me gusta cualquier grupo de trabajo campos juntos Yo a menudo comienzan los nombres de campo con W s que mi uso de PC 370 requiere que Puse un CR LF al final de cada l nea de impresi n as que he a adido un campo de trabajo para el programa de este prop sito Este campo se define como 43a TEACH2A MLC area de trabajo 43a 45 Miscellaneous field definitions WCRLF DC X 0D25 PC 370 ONLY EBCDIC CR LF La X indica que este campo se destina a contener los datos hexadecimales El 0D hexadecimal corresponde a un retorno de carro EBCDIC y en hexadecimal 25 corresponde a un EBCDIC salto de l nea Este mismo campo se utiliza en la mayor a de nuestros programas Una vez definidos los campos ahora podemos moverlos El mover la entrada o campos de trabajo para Los AT los campos de salida correspo
441. o A lo largo de este cap tulo se har uso del archivo de la oferta de cursos OFFER DAT Nuestra primera de programa OFFER10A MLC las listas de selec cionados los campos de cada registro en dicho archivo La l gica de salto de p gina es incluido Hay un l mite de diez l neas de detalle en cada p gina La salida se muestra a continuaci n y el listado del programa completo se encuen tra en la p gina siguiente No hay nada nuevo aqu el programa es dado el fin de proporcionar un punto de partida para nuestro debate 222 CAPITULO 10 QUIEBRE DE LA LOGICA DE CONTROL DE COURSE OFFERINGS Page Sem Course Section Teacher 1 W92 EG102 1 732 W92 MA107 1 218 W92 PE151 1 574 92 101 1 218 92 BU101 1 218 F92 EG101 1 732 92 EG101 2 732 92 101 1 626 92 101 2 626 92 PE151 1 574 COURSE OFFERINGS Page 2 Sem Course Section Teacher W93 EG102 1 854 W93 MA101 1 626 W93 MA107 1 626 W93 PE151 1 574 search read OFFER into IREC EOFSW SVREAD return 222 223 232 241 READ EQU ST R10 SVREAD GET OFFER IREC Read a single offer record B READX ATEND EQU MVI EOFSW C Y READX EQU L R10 SVREAD BR R10 222 CAPITULO 10 QUIEBRE DE LA LOGICA DE CONTROL DE 223 OFFER10A MLC 223 PRINT NOGEN FKK KK gt x gt lt K FKK K X K K R ok ok K K FK FK K FKK FK FK K K ok FK K FKK FK FK K FK FK FK K FK FK FK FK K FK FK FK K FK FK FK FK K oe ok FILENAME OFFER10A MLC AUT
442. o caracteres A menudo incluyen el comienzo y el final de posiciones de la materia en los comentarios Por ejemplo ejemplo 1 41a IREC DS OCL29 1 29 Teacher record ITID DS CL3 1 3 Teacher ID nbr ITNAME DS CL15 4 18 Teacher name ITDEG DS CL4 19 22 Highest degree ITTEN DS CL1 23 23 Tenured ITPHONE DS CL4 24 27 Phone nbr ITCRLF DS CL2 28 29 PC 370 only CR LF Veamos de nuevo en la 0CL29 En un cap tulo anterior nos dice que el cero significa que este campo IREC se subdivide El cero en esta l nea es en realidad un multiplicador lo que significa que son iguales a cero ocurrencias de 29 bytes es decir IREC se define como 29 bytes de longitud pero no recibe ninguna de almacenamiento de su cuenta Por el contrario simplemente se superpone los siguientes campos ya que ocupan el 29 Siguiente bytes KOK k OK k k k KOK OE k k K OK k OR OE K k K El uso de multiplicadores de cero es muy com n tambi n Por ejemplo si quiero un diez campo de un octeto que contiene todos los asteriscos podr a c digo de cualquiera de los siguientes 1740 440 42ap STARS DC CL 102 STARS DC C STARS DC 10 1 12 gt STARS DC 10C x STARS DC 5CL2 STARS DC 2CLB gt 41 42a 42b 2 1 DEEENI ETWINDOV IMBENXNYO IIOIN IYAYIOS DHEN R DEHRA R CTERES Usted no puede asignar un valor que utilizan corriente continua a un campo definido con un cero multiplicador Adem
443. o de secuencia de curso y que no hay espacio suficiente para almacenar todos los Cursos LOADTBL EQU ST R10 SVLOAD 0I COURSE 10 X 08 OPEN COURSE LA R3 TABLE SR R4 R4 LOADTBL2 EQU BAL R10 READCOUR CLI EOFCOURS C Y BE LOADTBLX 390 15 6 LA RUTINA DE IN 44 IX CI N 15 TABLA DE PROCESAMIENTO CLC PREVCID CCID BNL LOADTBL3 MVC PREVCID CCID CH R4 MAXROWS BNL LOADTBL4 MVC 0 5 R3 CCID MVC 5 15 R3 CCDESC PACK 20 1 R3 CCHRS LA R3 L TABLE R3 LA R4 1 R4 B LOADTBL2 LOADTBL3 EQU WTO TRANSCR2 B RETURN LOADTBL4 EQU WTO TRANSCR2 B RETURN LOADTBLX EQU STH R4 ROWS CLOSE COURSE L R10 SVLOAD BR R10 15 6 2 Las rutinas de LEA Nbr of courses exceeds table Course file not sequenced by CID size Hay tres archivos de entrada cursos los estudiantes y los grados Las rutinas para los tres son muy similares READCOUR EQU ST R10 SVREADC GET COURSE CREC B READCX EQU MVI EOFCOURS C gt Y EQU L R10 SVREADC BR R10 ATENDCRS READCX READSTUD EQU ST R10 SVREADS GET STUDENT SREC B READSX ATENDSTU EQU MVI EOFSTUD C Y READSX EQU 391 15 6 LA RUTINA DE INGIAR ACI N15 TABLA DE PROCESAMIENTO L R10 SVREADS BR R10 READGRAD EQU ST R10 SVREADG GET GRADE GREC B READGX ATENDGRA EQU MVI EOFGRADE C Y READGX EQU L R10 SVREADG BR R10 15 6 3 La rutina PROCESO Al entrar a la rutina de pro
444. o un total de 256 valores posibles de 0 a 255 que puede representarse por un byte Este hecho es importante pero a n no responde la pregunta C mo fun ciona un ordenador que los procesos de bits que est n encendidas o apagadas solamente representan los datos La respuesta a la cuesti n radica en la uti lizaci n de c digos Es posible que haya jugado con c digos secretos cuando eras m s joven Por ejemplo usted puede tener utiliza el siguiente ABCDEFGHIYZ 1234567 89 25 26 El uso de este c digo si tengo que enviar la col palabra me gustaria enviar 3 1 2 2 1 7 5 lugar y nadie sab a lo que estaba diciendo Esto es com nmente referido como un c digo pero en realidad es lo que se conoce como cifrado de sustituci n Un c digo es realmente algo diferente Con el fin de representar los datos un sistema similar de codificaci n se utilizan para asignar un valor decimal de 0 a 255 inclusive a cada car cter Hay dos reg menes de tal codificaci n La primera EBCDIC o Extended Binary Coded Decimal Interchange Code es el c digo utilizado por los mainframes de IBM y de por lo tanto PC 370 Una porci n de c digo que se muestra aqu A 193 G 199 212 5 226 Y 232 4 244 B 194 H 200 N 213 T 22 ASCII C digo Est ndar Americano para el Intercambio de Informaci n es el c digo utilizado por los no IBM los mainframes y todos los ordenadores Una porci n de c digo que se muestra aqu
445. o de un solo y este registro puede ser par o impar Por ejemplo where SUBTOTAL L R8 SUBTOTAL DS F where DISCOUNT MH R8 DISCOUNT DS H En primer lugar uno de los valores que se multiplican se coloca en un registro Recordatorio el uso L si el valor es un fullword o LH si el valor es una media palabra En segundo lugar se multiplican Especificar el registro como el primer operando y la media palabra como el segundo operando Por ltimo el producto ser un fullword ocupando el registro Si el pro ducto no caben en el registro el truncamiento se produce sin previo aviso Considere el siguiente ejemplo FULL1 DC F 64 00 00 00 40 HALF2 DC H 8 00 08 Para multiplicar FULL1 por HALF2 64 x 8 512 X200 y convertir el producto a un n mero de Bolsas de que el c digo R4 L R4 FULL1 00 00 00 40 R4 MH R4 HALF2 00 00 02 00 DBLWORD CVD R4 DBLWORD 00 00 00 00 00 00 51 2C intenta 1 5 Teniendo en cuenta R H 15 DC DC H 4 S y T DC H 0 Suministro de las instrucciones para multiplicar por S R dando T Mostrar los resultados intermedios R3 1 6 Teniendo en cuenta Un F 32 DC DC y C DC H 0 Suministro de las instrucciones para multiplicar A por B da C Mostrar los resultados intermedios 414 R3 16 3 BINARY DIVISI N KIA D YUDO INS TIH S AIKINRSETICA BINARIA RA 1 7 Teniendo en cuenta registro de 6 contiene 16 Utilice la instrucci n a
446. o dos Ese programa produjo una lista de todos los profesores de la peque a ciudad uni versitaria de la Comunidad Esta lista conten a el informe y los encabezados de columna pero no incluye la l gica de salto de p gina Vamos a modificar este programa para incluir las partidas con la p gina n meros A fin de demostrar la l gica de salto de p gina mientras trabaja con un conjunto de datos de la de tama o manejable vamos a suponer que un m ximo de tres l neas de detalle se van a imprimir por p gina Nuestra nueva salida aparecer como sigue LIST OF TEACHERS Page 001 ID Name Degr Ten Phone 732 BENSON E T PHD N 5156 218 HINCKLEY G B 5509 854 KIMBALL S W PHD 5594 81 LA RUTINA CHKLNSAPITULO 8 LOGICA DE SALTO DE P GINA LIST OF TEACHERS Page 002 ID Name Degr Ten Phone 626 YOUNG B MBA Y 5664 574 SMITH J MS Y 5320 Hay cinco pasos para producir saltos de p gina estos pasos se muestran en el diagrama de flujo en el siguiente p gina Estos pasos requieren que agregar varios campos a nuestro programa PGS DC PL2 0 Nbr of pages printed LNS DC PL2 3 Lines printed on this page MAXLNS DC PL2 3 Max nbr lines per page My line counts exclude hdgs 1 Antes de imprimir una linea compruebe la linea de cuenta para ver si es mayor igual a el n mero maximo de l neas permitido por p gina Si es asi entonces 2 A adir una al n mero de p ginas Mueva el n mero de p ginas a
447. o es el mismo que en el presupuesto Nosotros nos ocuparemos de este problema en el siguiente cap tulo 161 7 11 LA 7 BOLSAS DE ARITM TICA DECIMAL intenta Dado A PL2 10 DC DC PL3 5 B C PLi DC 3 y D DC PL2 7 Mostrar la representaci n hexadecimal de la A despu s de cada una de las siguientes Comience con nuevos datos cada vez 21 SP A B 22 SPA 23 SPD A 7 11 La Instrucci n CP El PP comp rese con embalaje instrucci n funciona igual que el CLC com p rese con car cter l gico la instrucci n salvo ambos operandos deben ser v lidos campos de pic nic y La longitud m xima de cada operando es de 16 El segmento siguiente programa ilustra el uso de SP y PP Teniendo en cuenta Un PL3 DS B DS PL3 C DS PL4 estamos para restar el menor de A y B de C El c digo de BAL necesario es el siguiente CP A B BH USEB SP C A B DONE USEB EQU SP C B DONE EQU intenta Dado A C y D son v lidos todos los campos de pic nic 24 Escriba el c digo necesario para restar uno de A si A es mayor que 25 Escriba el c digo necesario para a adir la A a la B si B es igual a C 26 Escriba el c digo necesario para mover el m ximo de A B y C a D 162 7 12 EJEMPLO DICRR GAHAMA GONSAB WISI ARDIMETICA DECIMAL 7 12 Ejemplo de programaci n Revisited Ahora estamos listos para volver a nuestro problema de programaci n para p
448. o esta l gica concordancia nosotros mismos Demostrar que la l gica es el prop sito de este cap tulo Nota no introducir nuevas instrucciones de ensamblador en este cap tulo 11 1 Clasificaci n de los archivos de entrada Hemos dicho que el profesor ID ID del curso n mero de secci n y n mero de habitaci n vendr desde el archivo de oferta y el nombre del maestro provienen del archivo MAESTRO Para imprimir la nombre de los maestros basados en el maestro de identificaci n que se coinciden con los dos archivos basado en el maestro de identificaci n Sort El profesor de identificaci n se conoce como el campo clave Con el fin de hacerlo ambos archivos deben estar en maestro de De secuencia de identificaci n es decir deben ser ordenados Tipo de comando de DOS es cruda pero ser suficiente En el mundo mainframe que usar a un mucho m s sofisticado paquete de clase como como Syncsort Para ordenar estos archivos que escriba el siguiente en el s mbolo de DOS sort 10 offer dat gt offer srt sort 1 teacher dat gt teacher srt Estas instrucciones ordenar los archivos DAT Informe txt la creaci n de los archivos SRT Podemos utilizar DOS Comando TYPE para ver estos archivos Para ejem plo A MIN gt type offer srt A MIN gt type teacher srt 218HINCKLEY G B MBA N5509 W92MA1071218A2 574SMITH J F92AC1011218B1 626YOUNG F92BU1011218B1 732BENSON E T W92PE1511574GYM 854KIMBALL S W PHD Y559
449. oducci n 370 es un producto shareware desarrollado por Don Hig gins que permite al usuario escribir y ejecutar programas en lenguaje ensam blador para sistemas SYSTEM 370 MAINFRAME en un ordenador personal Antes de el desarrollo de PC 370 una MAINFRAME era necesaria para hacer esto El lenguaje de ensamblador System 370 se refiere a menudo como BAL por sus siglas en ingles Basic Assembler Language BAL es un idioma de segunda generaci n La primera generaci n de idiomas son los idiomas de las m quinas Los programas en idiomas de las m quina fueron escritas en c digo binario nor malmente representado por unos y ceros Para ejemplo el c digo de lenguaje de m quina necesaria para mover un campo a otro podr a ser como sigue 110100100000001111010000101010111101000010100000 Como se pueden imaginar estos programas son muy dif ciles de escribir y m s dif cil de mantener El lenguaje de ensamblador fue desarrollado para super ar este problema La idea era asignar un c digo mnem nico simple para cada operaci n y sus operandos Por ejemplo los primeros ocho bits de la c digo de m quina que se ha indicado 11010010 indica una operaci n de desplaza miento de caracteres por lo que ser a MVC entonces utilizar en su lugar esa palabra MVC es despu s de todo mucho m s f cil de recordar que 11010010 11 1 1 INSTALACION CAPITULO 1 PRIMEROS PASOS CON PC 370 Otro programa llamado el ensamblador traduc
450. ok kk R 2k ke ok ke KOR R OR KOR 3K 2K 2k kk k K OR OR OK R K Input record definition Master In Yk 5k sk sk 5k sk kk k k kkk kk kk k k ke ke ke ak 9k OR kk k ko ek ke 2k k kk k OR KOR 3K 2k k kk k 2k OR OR 2K R K IREC DS OCL62 1 62 Master record INBR DS CL5 1 5 Customer nbr ILNAME DS CL10 6 15 Last name IFNAME DS CL10 16 25 First name IADDR DS CL15 26 40 Address ICITY DS CL10 41 50 City ISTATE DS CL2 51 52 State IZIP DS CL5 53 57 Zip DS CL2 58 59 Unused IACD DS CL1 60 60 Transaction code A C D ICRLF DS CL2 61 62 PC 370 only CR LF 2k k 2K 3K 2k 3K 2k ak k R OR KOR 3K 2K 2k k K 2k gt K OR OR OK K K Input record definition Transaction kokck kkk kk PK k 5k joke ok ok k k R k ok ke k ak 9k OR k ke ok ok 3k k 3k ke ke 2k ak R ko ke ok ok ke k k KOR KOR 2K 2K 2k kk OR k OR KOK R K TREC DS OCL62 1 62 Transaction record TNBR DS CL5 1 Customer nbr TLNAME DS CL10 6 15 Last name TFNAME DS CL10 16 25 First name TADDR DS CL15 26 40 Address TCITY DS CL10 41 50 City TSTATE DS CL2 51 52 State TZIP DS CL5 53 57 Zip DS CL2 58 59 Unused TACD DS CL1 60 60 Transaction code A C D TCRLF DS CL2 61 62 PC 370 only CR LF FKK KK K K K K K K K FK K KK FK FK K K K FK FK K K FK FK K KK FK RR ok ok OK FK KOR OR oe ok OR 300 12 2 CMPREUNAS LENENCIAL DEL ARCHIVO DE ACTUALIZACI N Output record definition
451. omo sigue COUNTS DS 0CL29 TRANSIN DC PL4 0 CL25 Transactions In REJECTS DC PL4 0 CL25 Transactions Rejected HOLDIN DC PL4 0 CL25 01d Masters In DELETED DC PL4 0 CL25 01d Masters Deleted CHANGED DC PL4 0 CL25 01d Masters Changed ADDED DC PL4 0 CL25 New Masters Added NEWOUT DC PL4 0 CL25 New Masters Out Hemos eliminado el centinela en favor de la lucha contra el control de bucle Cada uno de los campos de conteo transindividuales rechaza etc son consideradas por el ensamblador para ser de cuatro bytes de longitud ya que es la longitud del campo por primera vez en que PL4 linea Esto puede ser verificado por ver las cosas de la izquierda para una instrucci n hace referencia a estos campos El 0CL29 DS utiliza en cuenta no es obligatorio pero es una manera conveniente para indicar la duraci n de la cada fila Nosotros utilizamos un multiplicador de cero puesto que los recuentos en s no ocupan ning n espacio Nuestra nueva soluci n es la siguiente LA R8 COUNTS R8 POINTS TO FIRST ROW PA 78727 THERE ARE SEVEN ROWS LOOP EQU MVC ODESC 4 R8 DESC FROM 4 PAST WHERE R8 POINTS 374 15 3 CARGANDO UNA TME A UDO TEE MPG DA MIENTO MVC OCOUNT EDCOUNT MOVE MASK PRIOR TO EDIT ED OCOUNT 0 R8 COUNT COMES FROM WHERE R8 POINTS BAL R10 PRINT R8 L COUNTS R8 POINT TO NEXT ROW BCT R7 LOOP SUBTRACT ONE FROM ROW COUNTER IF RESULT gt ZERO T
452. ondici n entonces se toma la rama Por ejemplo 10 00 Condition code 8 Tenga en cuenta que el nuevo uso de la ecuaci n en el ejemplo de arriba Un asterisco cuando se utiliza como operando en una instrucci n se refiere a la direcci n de esa instrucci n Aqu la ecuaci n se utiliza para equiparar una etiqueta con una direcci n en el programa Esa es una forma elegante de decir la etiqueta EQU es una forma conveniente de definir un p rrafo en el BAL Se utilizar en todos los ejemplos y los programas a partir de ahora BE Branch on A Equal B BH Branch on A High BL Branch Low BNE Branch on A Not Equal B 80 etc 3 5CAMIMPAGBS IN BAN BAMPIOMPSRACION DE CAR CTER FIELDS BNH Branch A Not High BNL Branch on A Not Low Asi por ejemplo las instrucciones previas antes de Cristo podria reescribirse como CLC A B BE EQUAL BH AHIGH BL ALOW BNE NOTEQUAL BNH ANOTHIGH BNL ANOTLOW Una BC importante sigue siendo BC 15 es un salto incondicional Es simple mente su mnem nico Todas estas ramas son los mismos que GOTO en otros idiomas Si le han ense ado a utilizar la programaci n estructurada o m s concretamente go to menos de programaci n esto puede no sienta bien con usted Sin embargo acostumbrarse a l No se puede hacer ir a menos de programaci n en el BAL Hay algunas macros de uso com n que permiten a un IF ENDIF construir pero son una extensi n de la LBA y no se disc
453. ongitud del primer operando Como con todas las instrucciones de ensamblador el primero de los seis octetos es el c digo de operaci n Estos op los c digos son los siguientes Op C digo de Instrucci n PACK X F2 MVZ MVN y tambi n instrucciones de tipo SS pero de la misma forma que el MVC y las instrucciones de la CVX El c digo de operaci n para MVZ es X D3 El c digo de operaci n para MVN es X D1 Usted puede ver la mayor a de estos c digos op en el siguiente extracto de COGS7B PRN 0001 6 21204720498 0482 04 8 161 PACK WQOH IQOH 0001CC F911D472D470 0482 0480 162 CP WQOH WENDING 0001D2 4780D1FE 020 163 FORMATX 0001D6 4740D1DA 01 164 BL SHORT 0001DA FA10D478D2FC 0488 030 165 AP HOVER P 1 0001E0 D204D4E1D2F5 04F1 0305 166 MVC ORESULT CL5 over 0001 6 47FOD1E6 01 6 167 B DODIFF 0001 000001 168 SHORT EQU 0001 FA10D47AD2FC 048 030 169 AP SHORT P 1 0001 0 D204D4E1D2F0 04 1 0300 170 MVC ORESULT CL5 short 0001F6 000001 6 171 DODIFF EQU 0001F6 F811D474D470 0484 0480 172 ZAP WDIFF WENDING 0001 FB11D474D472 0484 0482 173 WDIFF WQOH 000202 F321D4DDD474 O4ED 0484 174 UNPK ODIFF WDIFF 000208 D300DADFD2FA O4EF 030A 175 MVZ OD 00020E 0000020E 176 FORMATX EQU El segundo byte de la instrucci n es la longitud Cada longitud ocupa un half byte o cuatro bits Recordemos que cuatro bits puede variar en el valor de 0 170 7 14 DATOS DE EBR ADEIHSLO
454. or no se detecta hasta que ejecute tiempo Esto puede ser visto con el siguiente muy poco del programa MP BEGIN MP FLDA FLDB RETURN FLDA DC PL3 5 FLDB DC PL3 20 FLDC DC PL3 1000 FLDD DC PL5 5 FLDE DC PL5 20 FLDF DC PL5 1000 END Debe clave de este programa y ejecutarlo Al cambiar la l nea MP s lo puede probar cada uno de de las instrucciones MP estaremos mirando y verificar las conclusiones presentadas en en todo el cap tulo De las im genes de pantalla siguiente se puede ver que como se mencion anteriormente el error no es detectado hasta el tiempo de ejecuci n A MIN gt 1370 mp lx Copyright message appears here 309 13 1 LAS INSAR TICIONES QUE BONSABIDEMRITM TICA DECIMAL PC 370 LINKAGE EDITOR OPTIONS ON LXEFIP STATS 5 00001 MAXSTD 00001 57788 NO ERRORS FOUND A MIN gt mp TRACE A 08E4 ID BUG 370 A 000270 OP 58DD0004 kkk kk PC 370 System Release 4 2 01 07 88 Copyright C 1988 Donald S Higgins You are encouraged to copy and share this package with other users on the condition the package is not distributed in modified form and that no fee is charged If you find PC 370 useful send 45 dollars to the address below to become registered user and support continued shareware development Registered users will receive notices of future PC 370 releases Don Higgins 6365 32 Avenue North St Pe
455. os 118 5 2 EL SISTEMA BINARUAN MEBO REPRESENTACI N DE DATOS 1956 6x1 6 SI res 5 x 10 50 a 9 x 100 900 idee inh 1 x 1000 1000 1956 Adem s recuerda 10 0 1 10 1 10 10 2 100 10 1000 asi podemos volver escribir lo anterior como 1956 As vemos que para un n mero en base 10 cada d gito se multiplica por un poder sucesivos de diez Cu l es el n mero m s alto con cuatro d gitos decimales Respuesta 9999 Sabemos esto porque 9 es la cifra m s alta permitida en el sistema de numeraci n en base 10 y para obtener el mayor n mero de decimales con cuatro d gitos simplemente use este d gitos en todas las cuatro posiciones Del mismo modo el menor n mero decimal con cuatro d gitos es 0000 ya que 0 es la m s baja de dos d gitos permitido en el sistema de numeraci n en base 10 y para obtener el menor n mero con cuatro d gitos decimales simplemente uso de este d gito en todas las cuatro posiciones As pues en resumen El sistema de base 10 consta de diez d gitos Ellos son del 0 al 9 inclusive El valor de un n mero se obtiene multiplicando cada d gito por una po tencia sucesivos de diez a os y sumando estos productos Para obtener el mayor n mero en un n mero determinado de d gitos uti liza el d gito m s alto 9 en todas las posiciones Del mismo modo para obtener el n mero m s bajo en un n mero determinado de d gitos utiliza el menor
456. os vamos a modificar la rutina como LEA siguiente A OK KK K READ Read a record RRR ala kk search read INVENTRY into IREC EOFSW IN SVREAD return 156 157 164 207 211 READ EQU ST R10 SVREAD GET INVENTRY IREC Read a single teacher record AP HIN P 1 Increment record count B READX ATEND EQU MVI READX EQU L R10 SVREAD BR R10 donde IN DC PL2 0 Input record count En esta cuenta se muestra s lo una vez despu s de todos los registros han sido procesados la l gica de hacerlo aparecen en la secci n Wrapup Vamos a volver a utilizar el rea de registro de salida de la siguiente manera 156 7 8 EJEMPLO DE PROGRAMACION LA PRODUCCION DE LA CR NICA DE VEN ASITULO 7 BOLSAS DE ARITM TICA DECIMAL BE AAA ARR I OR OR IK KK KK a kkk kkk k WRAPUP Those things which happen one time only after all records have been processed BE AAA I A I OK AAI AK A WRAPUP EQU ST R10 SVWRAP MVC OREC BLANKS MVC OCRLF WCRLF PC 370 only BAL R10 WRITE Skip a line MVC OREC 22 CL22 XXX records processed UNPK OREC 3 IN Count MVZ OREC 2 1 X FO Remove sign BAL R1i0 WRITE CLOSE INVENTRY CLOSE REPORT WTO gt COGS7A Sales recap on REPORT TXT L R10 SVWRAP BR R10 El programa completo COGS7A MLC sigue
457. os siguientes del tercer curso los estudiantes con m s de tres abandonos 90 3 7CAR ERTIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS los estudiantes con m s de tres ciclos repetidos Habida cuenta de las definiciones de los campos siguientes determinar si un estudiante debe ser colocado en el asesoramiento acad mico GPA DS CL3 Example 2 97 2297 COMP DS CL2 Number of courses completed WD DS CL1 Number of withdrawls HREP DS CL1 Number of repeated courses ADVISE DS CL1 Academic advisory Y N T El siguiente es un extracto de un cat logo de la escuela Reglamentos de ayuda financiera del gobierno federal requieren que los receptores de ayuda financiera para avanzar progresivamente hacia el logro de sus grados A fin de mantener la elegibilidad para ayuda financiera federal los estudiantes deben hacer progresos adicionales de acuerdo a la tabla siguiente A os transcurridos n mero m nimo de cursos desde el inicial efectuada con el paso de grado enrollment MBA MHRM MPM Habida cuenta de las definiciones de los campos siguientes determinar si un estudiante es elegible para ayuda financiera federal FFA YEARS DS CL1 Years elapsed COMP DS CL2 Number of courses completed DEGREE DS CL4 Degree sought FFA DS CL1 Fed Fin Aid eligibility Y N 8 Teniendo en cuenta las siguientes definiciones de los campos adyacentes BOY DC CL7 WILLIAM GIRL1 DC CL4 CORA GIRL2 DC CL6 HANNAH GIRL3 DC CL4 Emma
458. otal for this WWISC IWISC product WTOTAL P 0 Initialize the total to zero WTOTAL WCALIF and start adding WTOTAL WILL WTOTAL WUTAH WTOTAL WWISC OSALES WIOTAL Move total to output OSALES 2 1 X FO and remove the sign WBEGIN IBEGIN WPURCH IPURCH Expected ending inventory WENDING WBEGIN Beginning WENDING WPURCH Purchases WENDING WIOTAL Sales OENDING WENDING OENDING 2 1 X FO OQOH IQOH Actual ending inventory OCRLF WCRLF PC 370 only WQOH IQOH WQOH WENDING Compare actual vs expected FORMATX Don t show difference if zero SHORT HOVER P 1 Count overages ORESULT CL5 over DODIFF 166 7 12 EJEMPLO GONSAB WISI ARDIMETICA DECIMAL AP SHORT P 1 Count shortages MVC ORESULT CL5 short DODIFF EQU ZAP WDIFF WENDING Difference Expected Actual SP WDIFF WQOH UNPK ODIFF WDIFF MVZ ODIFF 2 1 X FO FORMATX EQU L R10 SVFORM BR R10 sk sk oe R OR KOR ROROROROROR OR OR WRITE Write a single detail line Y 3k sk kk ok 5k ok ke ok ke k ak joke sk ok k k R 2k ke k k R OR KOR KOROROROROR OR OR OR K R K WRITE EQU ST R10 SVWRITE PUT REPORT OREC Write report line L R10 SVWRITE BR R10 k 3k 3k 3k akak ak K k k ak ak ak aK 3k 3k 3K 3k 3K ak ak aK ak ak 3K 3K 3K 3K k K K 3K 3K ak a
459. p tulo posterior Tenga en cuenta que cuando he cambiado la m scara que ten a que aumentar la longitud del campo de recepci n que sol a WK8 en lugar de WK7 Si no lo hace es la fuente de muchos errores de programaci n para el comienzo de BAL los programadores Recuerde la longitud del campo de recepci n debe ser la misma que la longi tud de la la m scara y que la m scara debe tener como muchos X 20 s y X 21 s ya que hay d gitos en el campo de Bolsas de que est siendo editada intenta Habida cuenta de escribir la instrucci n s para mover E de E PL2 DC 4 19 WKS de tal manera que se C bbb4 WK5 20 WK6 de tal manera que WK6 se C bb 04 9 0 6 Impresi n CR cr dito DB de d bito Del mismo modo si estamos trabajando en una aplicaci n de contabilidad podemos a adir CR X C3D9 o DB X C4C2 a nuestra m scara para indicar un cr dito o d bito respectivamente El CR o PP se van a imprimir si el n mero es negativo de lo contrario se sustituye por el car cter de relleno Por ejemplo dada POS DC PL3 123 NEG DC PL3 123 CR DC X 402021204B2020C3D9 DB DC X 402021204B2020C4C2 200 CAPITULO 9 LA INSTRUCCION EDITAR Las instrucciones siguientes le dan los resultados indicados WK9 D9 MVC WK9 CR 40 20 21 20 4B 20 20 C3 ED WK9 POS 40 40 40 F1 F2 intenta Dado PL2 B DC 38 escriba la instrucci n s para mover B de la 21 WK6
460. producir una lista de los registros en el archivo TEACHER DAT Esto programa leer un registro escribir un registro sin formato en absoluto Dicha lista es com nmente denominada un 80 80 o la lista de tarjetas imagen El t rmino se remonta a los d as de las tarjetas perforadas Cada tarjeta perforada tenia 80 caracteres y era com n tener un programa que simplemente listaba las tarjetas en una cubierta Eso es lo que nuestro programa va a hacer Vamos a mejorarlo despu s Nuestro prop sito al hacer este programa es introducir a los generales que se encontraran en todos nuestros programas En muchos casos no se explicar en detalle como la PROCEDURE DIVISION no se explica en una clase COBOL de principiantes nos limitaremos a senalarlo y decir c mo para usarlo sin entrar en los por qu en este punto El programa y sus resultados se muestran en la p gina siguiente Aqu est nuestra breve introducci n a estos comandos comunes Hablaremos acerca de la mayor a de ellos en m s detalle m s adelante PRINT NOGEN No imprimir las expansiones de macro Eso no significa nada para ti ahora y de hecho no tiene ning n efecto en PC 370 Pero es algo que se encuentra al comienzo de casi todos los programas BAL y que debe escribirse tambi n Asterisco en una columna indica que toda la l nea es un comentario Favor de usar libremente START 0 Marca el inicio de su programa Directivas de Assembler como PRINT Start 0 NoGen y
461. put line definition YK 3k sk 5k kkk kk ke PK 5k joke ke ok k k ak ok ok 3K k ok ke Ok ak ak ko KOR 3K 2K ak K ak R K KOR 3K 2K 2k ee K K OREC DS OCL42 1 42 DC CL10 gt 1 10 235 10 3 SINGTAH EVED CONQROIBBRHWKLAPROGIEAMD SOLON TROL DE oc ID OSECT OT ID OCRLF FKK gt lt x gt lt K K Rd KOR FK R R ad R OR DS DC DS DC DS DC DS He CL5 11 15 CL6 gt 16 21 CL1 22 22 CL8 gt 23 30 CL3 31 33 CL7 34 40 CL2 41 42 adings definitions Course 1D Section number Teacher ID PC 370 only CR LF K KK FK FK K FK K FK K K K FK FK K FKK FK FK R R K KOR KOR K KOR KOK KOR KOR K KOR KOR FK R OR R OR R OR XX XX 1 2 3 4 FORMFEED DS HD1 HDPGS HD2 HDSEM HD3 HD4 HD5 DC DC DC DC DS DC DC DC DS DC DS DC DC DS DC DC DS DC DC DS DC DC COURSE OFFERINGS Semester XXX Course Section XXXXX X XXXXX X XXXXX X Sem XXX BZZ9 sections OCL42 X 0C CL39 gt 40C _ X 0D25 OCL42 CL36 CL4 BZZ9 XL2 0D25 OCL42 CL21 CL3 CL16 XL2 0D25 OCL42 40 XL2 0D25 OCL42 CL40 XL2 0D25 OCL42 CL40 XL2 0D25 236 PageBZZ9 Teachers XXX XXX XXX 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE END BEGIN 10 4 Romper el cont
462. put record definition TREC DS OCL29 Teacher record IDATA DS CL27 Teacher data ICRLF DS CL2 PC 370 only CR LF END BEGIN A MIN gt teachic A MIN gt type report txt 732BENSON E T PHD 15156 218HINCKLEY G B 15509 854KIMBALL S W PHD Y5594 30 3la 31b 31c 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 626Y0UNG MBA Y5664 5748 J MS Y5320 Un problema con TEACH1C MLC es que el usuario debe recordar que el informe de salida se encuentra en REPORT TXT Vamos a hacer un tltimo cambio de este programa para este capitulo vamos a agregar tres WTOs como siguiente WTO para indicar colocaci n de la WTO Programa ha comenzado la ejecuci n Despu s de la instrucci n BEGIN TEACH1D MLC primer WTO 31a 32 WTO gt TEACH1D Begin execution WTO para indicar colocaci n de la WTO Archivo de salida est disponible despu s de la declaraci n CERRAR para ese archivo TEACH1D MLC segundo WTO 31b 32 WTO gt TEACH1D Teacher list on REPORT TXT WTO para indicar colocaci n de la WTO Programa ha terminado normalmente antes de la instrucci n RETURN TEACH1D MLC tercer WTO 31c 32 WTO gt TEACH1D Normal end of program 31 32 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 El nuevo programa es TE
463. que WK12 se C bbb63 019 82 15 WK12 tal que WK12 se C bb063 019 82 16 tal que se C bb1 982 este es un tanto complicado Habida cuenta de escribir la instrucci n s para mover C C DC PL4 72384 gt 17 WK9 tal que WK9 se C bbb72 384 gt 18 WK10 tal que WK10 se C bbb7 238 4 9 0 5 Impresi n de la Senal Considere el siguiente ejemplo Teniendo en cuenta POS DC PL3 123 A positive number NEG DC PL3 123 A negative number MASK4 DC X 402021204B2020 199 CAPITULO 9 LA INSTRUCCION EDITAR si el codigo de instrucciones siguientes obtener los mismos resultados WK7 MVC WK7 mask4 40 20 21 20 4B 20 20 ED WK7 POS 40 40 40 Fi 4B F2 F3 Vemos que tanto el POS y NEG ser n impresos como C bbb1 23 La instruc ci n ED elimina el signo Para corregir este problema podemos a adir un gui n 60 gt al final de la m scara Este gui n se sustituye por el car cter de relleno si el n mero no es negativo Por ejemplo dada MASK5 DC X 402021204B202060 Si el c digo de las siguientes instrucciones que recibe diferentes correctos WK8 MVC WK8 MASKS 40 20 21 20 4B 20 20 60 ED WK8 POS 40 40 40 F1 F2 Vemos que las OP se imprimir como C bbb1 23 b gt mientras que NEG se imprimir como C bbb1 23 La instrucci n EDMK se puede utilizar para imprimir un signo inicial en comparaci n con un final signo ser discutido en un ca
464. que ambos archivos se encuentran en EOF F T la rutina de instalaci n contendr un oscurecimiento de lectura para ambos archivos F T LEA ser la rutina de leer un registro de cada archivo F T PROCESO compara la rutina de un registro de cada archivo basado en el primer campo de F T en el registro hay dos condiciones posibles como resultado de la comparaci n en el PROCESO F T de rutina registros no coincidentes siempre indica un error fatal F T habr un CHKLNS separado y HDGS rutinas para cada archivo de entrada F T se lee el siguiente registro de cada archivo al final de la rutina PRO CESO F T cuando llegamos a Wrapup sabemos que ambos archivos se encuen tran en EOF F T 2 Qu cambios har a usted a TEACH11A MLC para mover el cheque por F92 semestre los registros de la READOFF de rutina a la rutina PROCE SO Mostrar las dos rutinas 3 Consulte el auto de pueblo peque o de almacenamiento en la base de datos m s conjuntos de datos Elaborar una lista de inquilinos casillero de la siguiente manera 1 2 3 4 5 12345678901234567890123456789012345678901234567890 SMALL TOWN self storage Page BZZ9 Inquilinos actual 273 11 8 EJERCICIOAP TULO 11 M S DE UNA ENTRADA DE ARCHIVO Atenci n al cliente Locker XXXXX XXXXXXXXXXXXXXXXXXXX XX X mm dd aa XXXXX XXXXXXXXXXXXXXXXXXXX XX X mm dd aa XXXXX XXXXXXXXXXXXXXXXXXXX XX X mm dd aa Usted necesitar el CLIENTE y los archivos de taquill
465. r IOCRLF ODS CL2 17 18 PC 370 only CR LF SA AAA R KOR 9k ARR A A A Output line definition SEA AA OR R KOR 9k 9k 9k A A A k k kkk k kkk kk OREC DS OCL42 1 42 DC CL10 1 10 OCID DS CL5 11 15 Course ID DC CL6 16 21 OSECT DS CL1 22 22 Section number DC CL8 gt 23 30 OTID DS CL3 31 33 Teacher ID DC CL7 34 40 OCRLF DS CL2 41 42 PC 370 only CR LF BEA AA R OR KOR 9 9k 9k 9k A A A A I OR OR 21 21 Headings definitions BREA AAA AA 9k 9k RA A A A I I A A 1 1 21 21 A A A la COURSE OFFERINGS PageBZZ9 Semester XXX Course Section Teachers see wom E XXXXX X XXX XXXXX X XXX XXXXX X XXX Dept XX BZZ9 sections Sem XXX BZZ9 sections FORMFEED DS 0 1 42 PC 370 only DC X 0C EBCDIC formfeed DC CL39 gt 246 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE DC 40C _ DC X 0D25 HD1 DS 0CL42 DC CL36 HDPGS DC CL4 BZZ9 DC XL2 0D25 HD2 DS 0CL42 DC CL21 HDSEM DS CL3 DC CL16 DC XL2 0D25 HD3 DS 0CL42 DC CL40 gt DC XL2 0D25 HD4 DS 0CL42 DC CL40 DC XL2 0D25 HD5 DS 0CL42 DC CL40 DC XL2 0D25 END BEGIN 10 4 4 Totales Rolling For testing EBCDIC CR LF COURSE OFFERINGS Page Semester Course Section Teacher No es m s que una manera de mantener el recuento de las secciones por departamento y por semes
466. r a de programas de negocio siguen una estructura similar Se podr a utilizar el mismo nombre o algo similares Por ejemplo la in stalaci n es a veces llamado Limpieza com nmente abreviado como HSK De inicializaci n o del Banco de Jap n Principio de Empleo y Wrapup a veces se llama FINALIZACI N o EOJ Fin de Trabajo A continuaci n se muestra la parte de la l gica s lo de TEACH3A MLC Un cuadro se ha elaborado en torno a las partes de el programa que representan la configuraci n PROCESO y las secciones Wrapup 3 86 486 PRINT NOGEN FOSSA KOK KK KK KOK OK K FILENAME TEACH3A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Produce a list of tenured instructors FAA AAA ARR A A A A I I I ORO 21 21 24 2k R START 0 REGS BEGIN BEGIN WTO TEACH3A Begin execution OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT PUT REPORT HD1 97 4 1 COOKPETIIAT ION OO GEIR UCMRAPRU IP SHRROGRAMA DE BAL PUT REPORT HD2 PUT REPORT HD3 PUT REPORT HD4 LOOP EQU GET TEACHERS REC Read a single teacher record CLI ITTEN C Y Is teacher tenured BNE LOOP No then skip this record MVC OTID ITID Move teacher ID Nbr to output MVC OTNAME ITNAME Move teacher Name to output CLC ITDEG CL4 PHD Hig
467. ra mover el mayor de mitad y la totalidad de Max donde Max se define como la un fullword 14 2 1 Adem s Binario Un registro es siempre el campo de recepci n de cualquier instrucci n Adem s binario Primero utilice la L LH o LR instrucciones para colocar un operan do en un registro A continuaci n utilice el complemento A agregue media palabra AH o A adir registro AR la instrucci n en funci n de si el segundo operando es fullword media palabra o registro respectivamente Por ejemplo dada A DS F B DS F C DS H DDSF para a adir el que D podemos c digo L R3 A RS3 B AH R3 C ST R3 D Otro ejemplo Dado A es una fullword a adir 1 a A Hay muchas maneras de que podamos hacer esto entre ellos or L R3 A L R3 A R3 F 1 R3 H 1 ST R3 A ST R3 A Una vez m s no hay manera de a adir a un n mero binario sin pasar por un registro Dicho de otra As todas las instrucciones matem ticas binarias son de tipo RR o RX s lo no hay ning n tipo de matem ticas binarias SS instrucciones 348 14 3 BINARIO RESTA CAPITULO 14 BINARY ARITHMETIC intenta 5 Habida cuenta de F1 y F2 son fullwords y H1 y H2 son medias palabras Escriba el c digo necesario para poner el menor de F1 F2 y H1 H2 en el registro 7 Su c digo no debe cambiar los valores de la F1 F2 H1 y H2 No definen los campos de trabajo de otros Tendr dos registros KOK KOK OK KOK OE KOK OE KK OK KOK KK
468. raci n del es de 29 y la INFORME DE VENTA IREC IREC que termina con un CR LF que ha sido le do desde el archivo de entrada TEACH1B MLC listado de maestros sin LF version completa 28 PRINT NOGEN kkk kk kk kk FILENAME TEACH1B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 28 1 4 NUESTRO PRIMER PROGRAMA DE PROCESAMIENTO DE ARCHIVOS CAPITULO 1 PRIMEROS PASOS CON PC 370 REMARKS A card image list of teacher records BEA 5k Pk ok 5k PK oR ok 9k Pk ok ok 9k R ok 9k OA I ICI A I I CK AK a k R kk A kk kk k k kk k K Prologo 23a BEGIN BEGIN OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OPEN TEACHERS LOOP GET TEACHERS REC Read a single teacher record WTO IDATA Display the record B LOOP Repeat EOJ processing ATEND CLOSE TEACHERS Epilogo 26a File definitions TEACHERS DCB EODAD ATEND 26c Input record definition IREC DS OCL29 Teacher record IDATA DS CL27 Teacher data ICRLF DS CL2 PC 370 only CR LF END BEGIN A MIN gt teachib T32BENSON E T PHD 15156 218HINCKLEY G B MBA 15509 854KIMBALL S W Y5594 626Y0UNG Y5664 574SMITH J MS Y5320 REPORT DCB Cada archivo necesita una DCB LRECL 29 RECFM F Igual que los profesores de archivo MACRF P significa poner este archivo se abre para la salida DDNAM
469. rama sigue el listado 435 17 5 PROGRAMAQGAIPIUEIMPLO A NIVEL DE BITS DE OPERACIONES de c digo fuente 436 ff 40 4 4395 440p PRINT NOGEN KOK KR de OR FK FK K K old KR KR R R FK ole KOR OR ok oe ooo ok ole ka gt K R FILENAME BITOPS MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Demonstrate bit level operations 5k 5k ok ok CA 9k Pk ok ok PK k ok ok 5k oR ICA I k k kkk k k k kkk k 21 K K KOR K k k kk R K START O REGS BEGIN BEGIN WTO EXAMPLE 2 Demonstrate use of OI to change WTO lower case letter to upper case WTO LOWER 01 LOWER X 40 WTO LOWER WTO EXAMPLE 3 Demonstrate use of OI to remove WTO gt the sign from a number following an UNPK UNPK UNPACKED P 12345 WTO UNPACKED OI UNPACKED L UNPACKED 1 X FO WTO UNPACKED WTO EXAMPLE 6 Demonstrate use of NI to change WTO upper case letter to lower case WTO UPPER NI UPPER ALLBITS X 40 WTO UPPER WTO EXAMPLE 7 Demonstrate use of XI to toggle WTO gt the sign of a packed number MVC EDITED MASK ED EDITED POSITIVE WTO EDITED XI POSITIVE L POSITIVE 1 X 01 MVC EDITED MASK ED EDITED POSITIVE WTO EDITED XI POSITIVE L 1 01 MVC EDITED MASK ED EDITED POSITIVE WTO EDITED 436 17 5 PROGRAMACAPEJEMPLD A NIVEL DE BITS DE OPERACIONES WTO WTO
470. ramaci n que ha aprendido En su trabajo usted probablemente han utilizado matrices o tablas Usted es probablemente consciente de los beneficios del procesamiento de mesa capacidades en un lenguaje de programaci n Las aplicaciones m s comunes incluyen Al validar edici n de datos a menudo queremos asegurarnos de que un campo es una de varias valores admisibles Estos valores leg timos pueden ser colocados en una tabla y el campo en cuesti n se puede comparar a cada entrada en la tabla Gastos de env o puede variar seg n la zona y cada estado tiene asignado un n mero de zona El campo de estado dentro de cada registro puede ser utilizado para buscar un estado zona de la tabla para encontrar la zona correspondiente y que la zona podr a ser utilizado para buscar una zona o un tipo de tabla para encontrar el costo de env o adecuado 369 15 1 DEFINICION DE UNA TABLA SENTINEL CICLOS CONTROLADOS CAPITULO 15 TABLA DE PROCESAMIENTO Un usuario puede solicitar un informe similares a las ventas Cogsworths Cronica con una columna que muestra por ciento a total para cada de talle Con el fin de elaborar un informe el total debe ser conocido Esto supondr que o bien pasar el archivo una vez s lo para determinar el total o el almacenamiento de todos los los datos necesarios en un cuadro que se imprime en EOF cuando se conoce el total La capacidad de los cuadros proceso requerir un importante grado de competencia en e
471. ras de la mayor a de los mainframe F T 4 En la rutina HDGS se muestra en este cap tulo el n mero de linea LNS se pone a cero F T porque las partidas son libres h Comando COPY de DOS puede ser usado para enviar el informe a la impresora F T i La l nea de FORMFEED debe ser la misma longitud que cualquier l nea de partida de otros F T j La rutina de CHKLNS se invoca por primera vez en la rutina de instalaci n F T k El recuento de l nea LNS debe ser inicializado a cero F T 1 CHKLNS invocar HDGS LNS si es inferior a MAXLNS F T m LNS se incrementa despu s de PUT en la rutina de WRITE F T 2 Mostrar los cambios necesarios para el programa de ejemplo TEACH8A MLC si el informe se est espera que m s de 999 p ginas de largo 3 Mostrar los cambios necesarios para el programa de ejemplo TEACH8A MLC si a diferencia del autor prefiere las partidas se incluyen en la cuenta en l nea 4 Muchas de las impresoras de la PC original no reconocer ASCII 12 como un car cter de avance La mayor a de estas impresoras ni siquiera tienen un bot n de avance de p gina Para avanzar a la parte superior de la P gina de estas impresoras es necesario escribir un n mero suficiente de l neas en blanco como 66 LNS Modificar la HDGS rutina para utilizar este m todo en lugar de FORMFEED como se muestra Para ahorrar papel usted puede asumir cada p gina es de 22 l neas de largo lo cual permite simular las tres
472. rcent of National gt lt gt K gt lt x gt R K FK Rda R R R OR FILENAME COGS13B MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 x XA XX REMARKS Produce report for COGSWORTH INDUSTRIES California s contribution to sales gt K gt K gt lt gt x gt lt gt lt K K K FK K KK FK FK dd FK FK FK K FK FK 2K R OK START 0 REGS 327 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL BEGIN BEGIN WTO COGS13B Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO 2COGS13B Normal end of program RETURN continued 328 329 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL Recuerde nunca es apropiado utilizar los porcentajes individuales 22 41 y 34 para determinar un porcentaje total Muchos programadores principiantes intento de llegar a la cifra final el promedio de los porcentajes individuales Sin embargo 22 41 34 3 32 no el 30 Por ciento del total es siempre un c lculo por separado basado en los totales de los datos originales no los porcentajes individuales FF 327 4327 FAA k k k k 9k ok Ok 9k 9k 3k 9k 9k 3K aK ak I I IK 3K 3K 3K 3K K K R KOR AACA AK 3K R OK KK K K SETUP Those things which happen one time only before any records are p
473. resultado de un SI es un GOTO Esto era realmente el caso de algunas versiones anteriores de BASIC 4 Adem s en nuestra vieja base lo nico que puede GOTO es una REM comentario Declaraci n espec ficamente puede GOTO a una THEN REM REM ELSE ENDIF REM REM y o real o solamente Eso es lo que es la codificaci n de IFS en BAL Considere los siguientes ejemplos Si usted no sabe BASIC pero s otra lengua debe ser capaz de comprender los ejemplos No te cuelgan en la sintaxis b sica tales como signos de d lar para indicar las variables de cadena etc Es el concepto de FI de programaci n en un lenguaje de bajo nivel que m s nos interesa aqu Una nota sobre los diagramas de flujo contenida en este documento Si es t familiarizado con la programaci n estructurada entonces usted sabe que to dos los problemas de programaci n se pueden resolver mediante tres simples constructos secuencia selecci n IF THEN ELSE y la iteraci n DoWhile Todos los diagramas de flujo debe ser construido de manera que se pueden des glosar en combinaciones de estos tres constructos solamente Los diagramas de flujo que se ve aqu no se ajustan a estas construcciones La raz n es que estas construcciones en particular la selecci n y la iteraci n generalmente permiten las condiciones de compuestos AND y OR Desde BAL no permite que estas condiciones compuesto selecciones m ltiples deben ser utilizados es decir un simple DoWhile en a
474. resultados de las ediciones siguientes a MVC WK11 MASK ED WK11 PL4 0 b MVC WK11 MASK ED WK11 PL4 1 MVC WK11 MASK ED WK11 PL4 1 MVC WK11 MASK ED WK11 PL4 12 e MVC WK11 MASK ED WK11 PL4 12 MVC WK11 MASK ED WK11 PL4 1234 MVC WK11 MASK ED WK11 PL4 1234 h MVC WK11 MASK ED WK11 PL4 12345 i MVC WK11 MASK ED WK11 PL4 123456 4 MVC WK11 MASK ED WK11 PL4 1234567 a 9 Escribir un programa que verificar sus respuestas al ejercicio 8 anterior Sugerencia V ase en este cap tulo EDITS9 MLC 10 Este ejercicio es similar al ejercicio 12 del cap tulo 7 Modificar el pro grama COGS9A MLC en este cap tulo para incluir totales por estado es decir su resultado deber a aparecer como sigue 219 9 3 EJERCICIOS CAPITULO 9 LA INSTRUCCION EDITAR 1 2 3 4 5 6 123456789012345678901234567890123456789012345678901234567890 COGSWORTH INDUSTRIES Sales Recap Product Calif 11 Utah Wisc TOTAL GIZMOS 20 30 20 20 90 WIDGETS 15 10 10 2 37 JUNQUE 25 15 15 18 73 TOTAL 60 55 45 40 200 3 records processed 11 Modifique el programa del ejercicio 13 del capitulo 7 de utilizar ED en lugar de UNPK y MVZ 12 Modifique el programa del ejercicio 14 del capitulo 7 de utilizar ED en lugar de UNPK y MVZ 13 Consulte la base de datos peque a ciudad en la n mina m s conjuntos de datos Utilice el historial del archivo de producir un registro d
475. rias veces en un programa F T i BE es un ejemplo de un extendido mnemot cnico F T j BC 2 XXX y XXX BL son equivalentes F T 88 Phone 2 3 7CAR ERCIOBOSIES EN BAL COMPARACI N DE CAR CTER FIELDS k A fin de aplicar y de las condiciones o la CLC y las instrucciones de la CLI permite TF comparaciones m ltiples en una nica instrucci n 1 El desplazamiento expl cito m Longitud expl cita puede se puede ser utilizado con CLI F T r utilizado con CLI F T 2 Teniendo en cuenta los campos de entrada siguientes NAZIP9 DS OCL9 NAZIP5 DS CL5 NAZIP4 DS CL4 ZIP CODE 9 DIGITS ZIP CODE FIRST 5 ZIP CODE PLUS 4 Escriba el c digo de BAL necesario formatear el c digo postal de la im presi n seg n las definiciones de PRZIP9 DS OCL10 PRZIP5 DS CL5 PRDASH DS CL1 PRZIP4 DS CL4 Un plus 4 existe si no es en b 3 Teniendo en cuenta FLDA DS CL3 FLDB DS CL3 FLDC DS CL3 MAX DS CL3 Escriba el c digo de BAL para FLDC a MAX los campos siguientes FORMATTED 9 DIGIT ZIP CODE ZIP CODE FIRST 5 HYPHEN IF PLUS 4 EXISTS PLUS 4 IF IT EXISTS lanco y no todos los ceros mover el m ximo de FLDA FLDB y 4 Habida cuenta de las definiciones de los campos siguientes NACITY DS CL12 NASTATE DS CL2 NAPHONE DS OCL1 NAAREA DS CL3 NAEXCH DS CL3 NALINE DS CLA NACODE DS CL1 WSWITCH DS CL1 56 67 CITY 68 69 STATE 0 70 79 PHONE 70 72 AREA CODE 73 75 EXCHANGE 76 7
476. rimer departamento que figuran en el semestre fue tambi n F93 PE estos aparecer an en dos p ginas distintas y tener dos cuentas separadas Por lo tanto comprobar el semestre antes de revisar el departamento 238 10 4 ROMPER EL CONTROL DE NIVEL MULTIPLE PROBLEMA DE PROGRAMMH NILO 10 QUIEBRE DE LA L GICA DE CONTROL DE PROCESS EQU ST R10 SVPROC BAL R10 CHKSEM See if new semester BAL R10 CHKDEPT See if new department donde CHKSEM y CHKDEPT son RR K K FK K FK K FK FK K K FK FK K FK K FK FK K K K FK K K CHKSEM Check for change in semester major control break gt K 5k sk ok ok 5k sok kk kkk kk kk kk k k k I ak k kk k 1 kk 4 k k kk k k 24 21 1 A 2k k A A K K K K 239a search CHKSEM HOLDSEM vs ISEM to ENDSEM IDEPT SVCHKSEM 239a 241 249 CHKSEM EQU ST R10 SVCHKSEM CLC HOLDSEM ISEM Compare w current BE CHKSEMX Same semester get out BAL R10 ENDSEM Process semester break MVC HOLDSEM ISEM Update major break field MVC HOLDDEPT IDEPT Update minor break field CHKSEMX EQU L R10 SVCHKSEM BR R10 CHKDEPT Check for change in department minor control break BESO kk kk kk Pk ok ok kk CII AI k kk k k kk 4 4 21 kk k k k kk kk K 21 k ak 2k A K K K R 239b search CHKDEPT HOLDDEPT vs
477. rocessed gt K gt K gt lt gt lt gt x gt lt K ok gt K gt K k K SETUP ST R10 SVSETUP OI INVENTRY 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN INVENTRY OPEN REPORT BAL R10 HDGS BAL R10 READ L R10 SVSETUP BR R10 AAO AAA ARR A A A A I I I A 2k 21 HDGS Print headings FEA AAA AAR A A A A I I I I kak 2k 2k 24 KOR R k ak k kk 2k 2k kkk R R HDGS EQU ST R10 SVHDGS PUT REPORT HD1 PUT REPORT HD2 PUT J REPORT HD3 PUT J REPORT HD4 PUT J REPORT HD5 PUT J REPORT HD6 L R10 SVHDGS BR R10 BEA AAA 9k 9k 9k A A A PROCESS Those things which happen once per record SEA AAA ARR A A A A PROCESS EQU ST R10 SVPROC BAL R10 FORMAT BAL R10 WRITE BAL R10 READ L R10 SVPROC 329 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL BR R10 Ad RR FK ok ok EK K KOR KOR R R R ok OR FORMAT Format a single detail line ACA CA Pk ok ok PK k ok ok 5k k kk kk k k 1 akk k R KOR R R FORMAT EQU ST R10 SVFORM MVC OREC BLANKS MVC ODESC IDESC PACK WCALIF ICALIF PACK WILL IILL PACK WUTAH IUTAH PACK WWISC IWISC ZAP
478. roducir las discrepancias de inventario Informe de Industrias Dind n Va mos a utilizar la misma definici n de registro de entrada que se utiliz en COGS7A MLC El dise o de impresi n para el informe es el siguiente 123456 12345678901234567890123456789012345678901234567890123456789012346 as que vamos a utilizar la siguiente definici n de registro de salida FKK KK KK KK K K K K FK FK dd OK OK ol e Output line definition Yk 3k sk k ok ok AA IACI I PK oR Ok 9k I IK A ok 1 21 OR 4 1 4 24 R R 2 kkk kk kkk kkk kkk k kkk OREC DS OCL67 1 67 ODESC DS CL10 1 10 Product description DS CL4 11 14 OBEGIN DS CL3 15 17 Beginning inventory DS CL5 18 22 OPURCH DS CL3 23 25 Purchases DS CL5 26 30 OSALES DS CL3 31 33 Units sold DS CL6 34 39 OENDING DS CL3 40 42 Ending inventory expected DS CL5 43 47 OQOH DS CL3 48 50 Ending inventory actual DS CL6 51 56 ODIFF DS CL3 57 59 Difference DS CL1 60 60 ORESULT DS CL5 61 65 over or short OCRLF DS CL2 66 67 PC 370 only CR LF Nuestra logica para el formato de las lineas de detalle es el siguiente 1 Paso 1 A adir California Illinois Utah y las ventas de Wisconsin para obtener las ventas totales Desde la entrada de los campos est n llenas y puesto que requiere adem s ambos campos embalados tendremos que utilizar algunos campos de trabajo PACK WCALIF ICALIF PACK WILL IILL PACK WUTAH IUTAH PACK WWISC IWISC ZAP WTOTAL P 0 AP WTOTAL WCALIF
479. rol de nivel m ltiple Prob lema de programaci n Ahora introducimos m ltiples niveles de control de procesamiento de des canso Supongamos que adem s de mostrar un recuento de las secciones por semestre tambi n nos gustar a mostrar un recuento de las secciones por de partamento dentro de semestre por ejemplo despu s de enumerar todas las secciones que ofrece la Matem ticas departamento se mostrar un recuento de las secciones Nosotros sin embargo muestran esta cuenta s lo si el contador es mayor que 1 a fin de no el desorden de nuestro informe Adem s siempre se duplicar el espacio saltar una l nea entre los departamentos El nuevo informe aparecer como se muestra en la siguiente p gina 10 4 1 Romper el control de nivel m ltiple L gica La l gica necesaria para producir este informe es similar a la utilizada en la simple ruptura nivel de control transformaci n y es el siguiente 1 Compruebe si hay un cambio en el departamento As como hemos solic itado un cambio en el semestre en el el programa anterior tenemos que comprobar si hay cambios en el departamento en este programa Con el fin de Para ello tendremos que una variable en donde se puede mantener el departamento de registro a registro Esto se define como HOLDDEPT DC CL2 gt Hold department Por supuesto queremos que el semestre y el departamento del primer reg istro para ser reconocidos como tales por lo que inicializar HOLDSEM y H
480. s 32555 41499 D 32555 Master Baja Escribir el maestro al Nuevo Maestro Leer el siguiente registro de grandes maestros 41499 41499 D Claves iguales Eliminar registro existente Simplemente no se escribir el registro al nuevo maestro Lee el siguiente registro de ambos archivos 55123 55123 A 55123 Claves iguales Agregar un registro existente Esta es un error Escribir el maestro al Nuevo Maestro Leer el siguiente registro de ambos archivos 61626 61627 C 61626 Master Baja 278 CAPITULO 12 CUENCIAL DEL ARCHIVO DE ACTUALIZACION Este es un error de transcripci n Escribir el maestro al Nuevo Maestro Leer el siguiente registro de grandes maestros 77271 61627 C Transacci n bajos Cambiar un registro que no existe Esto es un error Leer el registro de la transacci n siguiente 77271 81228 D 77271 Master Baja Escribir el maestro al Nuevo Maestro Leer el siguiente registro de grandes maestros 81288 81228 D Transacci n bajos Borrar un registro que no existe Esto es un error Leer el registro de la transacci n siguiente 81288 82446 A 81288 Master Baja Escribir el maestro al Nuevo Maestro Leer el siguiente registro de grandes maestros 81997 82446 A 81997 Master Baja Escribir el maestro al Nuevo Maestro Leer el siguiente registro de grandes maestros 94993 82446 A 82446 De transacci n bajos Agregar un registro Escribir el registro de transacciones Leer el registro siguiente transacci n 9
481. s de longitud Recuerde que en nuestro an lisis de la instrucci n de CLC que la longitud de la comparar es determinada por la longitud del primer operando Desde ese operando un campo es de 3 octetos de largo 3 bytes ser n com parados Esto se muestra en la instrucci n como 3 menos uno o 2 El hex gono representaci n de los 2 es X 02 y eso es lo que sigue el c digo de operaci n es decir un Convenio de Responsabilidad Civil por un per odo de 3 es representado como X D502 En la l nea 17 pasamos al campo de campo B C Campo B se define como 4 bytes de longitud mientras que el campo C se define como 2 bytes de longitud Sabemos que la longitud de un MVC est determinada por la longitud de la primera operando Desde ese operando Campo C es de 2 bytes de longitud 2 bytes ser n comparados Esto se muestra en la instrucci n como 2 menos uno o 1 La representaci n hexadecimal de 1 es X 01 y eso es lo que sigue el c digo de operaci n es decir un MVC para una longitud de 2 se representa como X D201 135 6 3 EL FORMMIR THLINBTRQUEIDSNHSXA COSA DE LA IZQUIERDA Bytes El halfword segundo tercero y cuarto indica que la base y el de splazamiento de la primera octetos operando y la media palabra tercero quinto y sexto indica que la base y el desplazamiento de la segundo operando Esto funciona de la misma como se describe en la instrucci n de formato SI anterior excepto que hay dos operandos en lug
482. s ser realmente el ENSAMBLADOR determinando las instrucciones de c digo objeto que ser a producido por el ENSAMBLADOR a partir del c digo fuente En el cap tulo 7 usted aprender sobre aritm tica decimal enpaquetada De hecho la mayor a de la aritm tica en ensamblador es decimal enpaquetados o n meros binarios Los n meros decimales enpaquetados son los m s importantes de los dos ya que se debe convertir a decimales enpaquetados para imprimir As que este es un cap tulo muy importante En el cap tulo 8 aprender acerca de la l gica de salto de p gina Esta es una de las muchas aplicaciones de la aritm tica que aprendimos en el cap tulo 7 En el cap tulo 9 aprender acerca de la instrucci n EDIT que le permite imprimir un n mero decimal enpaquetado en casi cualquier forma que nece sites por ejemplo con comas y punto decimal En este punto ser posible la elaboraci n de informes de calibre profesional En el cap tulo 10 L gica el cap tulo 11 m s de un archivo de entrada y el cap tulo 12 Numeraci n secuencial de archivos de actualizaci n podr aprender la l gica necesaria para completar algunas aplicaciones de negocio muy comunes No hay instrucciones de ENSAMBLADOR nuevas aqu el nfasis INDICE GENERAL INDICE GENERAL est en la l gica En el cap tulo 13 aprender s m s acerca de aritm tica decimal enpaquetada espec ficamente c mo multiplicar y dividir Divisi n en ENSAMBL
483. s a nivel de bits La mayor a de estos son bastante especializados no se necesitan muy a menudo pero cuando usted los necesita simplemente no hay sin obtener por ellos En particular se examinar la OI NI XI OC Carolina del Norte XC TM SRL y SLL instrucciones 429 17 1 LA O Y Y KXXH USIMA DE DE OPERACIONES 17 1 La O Y y exclusiva o de operaciones Por ahora sabemos que cada byte se compone de ocho bits o d gitos binarios Hay tres a nivel de bits operaciones Estas operaciones se conocen como O Y y exclusiva Cada una de estas operaciones de compara bits correspondientes de cada uno de los dos operandos Cualquier bit del operando destino puede ser cambiado como resultado de la comparaci n El resultado depender de la tabla de verdad siguiente The result is 1 The result is 1 The result is 1 if either bit if both bits if exactly one bit is 1 are 1 is 1 Operand 1 0 0 1 10 0 1 1 0 O 1 1 Operand 2 0 1 0 10 1 0 1 0 1 0 1 Result 0 1 1 10 0 0 1 0 1 1 El almacenamiento correspondiente y Inmediata SI las instrucciones son o inmediato NI y OI inmediata y XI en exclusiva o inmediato 17 2 El OI NI y XI de Instrucciones En el siguiente an lisis se har referencia a las posiciones de bits por n mero la norma es n mero de bits de De izquierda a derecha comenzando con cero 01234567 Ejemplo 1 Gire a la izquierda la mayor a de los bits en el primer byte de la FLD
484. s totales en d lares para este producto Esto cifra se a ade a la del acumulador Leer el registro siguiente y repetir 313 13 2 PROGRAMA DE EJEMPLO LAS VENTAS EN DOLARES A NIVEL NACIONAL JOINPIONISO 13 M S BOLSAS DE ARITM TICA DECIMAL PROCESS EQU ST PACK PACK PACK PACK ZAP AP AP AP AP PACK ZAP MP AP BAL L BR R10 SVPROC WCALIF ICALIF Each product s sales must WILL TILL be packed so they can be WUTAH IUTAH added to total for this WWISC IWISC product WTOTAL P 0 Initialize the total to zero WTOTAL WCALIF and start adding WTOTAL WILL WTOTAL WUTAH WTOTAL WWISC WSELL ISELL Unit sell price PK5 WTOTAL Length of WTOTAL is PL2 PK5 WSELL and length of WSELL is PL3 WDOLLARS PK5 so need PL5 for product R10 READ R10 SVPROC R10 El programa completo COGS13A MLC sigue 314 search read INVENTRY into IREC EOFSW SVREAD return 314 READ ATEND READX EQU ST GET B EQU MVI EQU L BR R10 SVREAD 315 353 357 418 421 INVENTRY IREC Read a single product record READX EOFSW C Y R10 SVREAD R10 314 13 2 PROGRAMA DE EJEMPLO LAS VENTAS EN DOLARES A NIVEL NACIONAL JDINP NISO 13 M S BOLSAS DE ARITM TICA DECIMAL 315 COGS13A MLC 315 PRINT NOGEN EEEE EEEE EEE E k kk kk kk kkk k kkk kkk kkk K FILENAME COGS13A MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS Determine nationwide dollar sales
485. sc TOTAL GIZMOS 020 030 020 020 WIDGETS 015 010 010 002 JUNQUE 025 015 015 018 1 2 3 4 5 12345678901234567890123456789012345678901234567890123456789012345 194 CAPITULO 9 LA INSTRUCCION EDITAR COGSWORTH INDUSTRIES Inventory Discrepancies Report Product Begin Purch Sales Expect Actual Result GIZMOS 017 099 090 026 023 003 short WIDGETS 022 034 037 019 019 JUNQUE 030 052 073 009 010 001 over 003 records processed 001 indicate shortage 001 indicate overage Se utiliz la operaci n UNPK para mover los resultados de una operaci n arit m tica a un campo de salida y la se utiliz la operaci n MVZ para eliminar el signo Hemos visto que un n mero con signo que a veces de impresi n como una carta Recuerde que en nuestro debate en ese cap tulo que hay dos problemas con esta t cnica ceros a la izquierda no se suprimen y el signo positivo o negativo se pierde En este cap tulo se presenta la edici n de instrucci n que nos permitir elim inar ceros a la izquierda e imprimir un signo as como para realizar todas las operaciones de formato que se ha visto en otros idiomas tales como la inserci n de una coma la protecci n de cheques etc 9 0 1 Problemas con UNPK y Revistited Supongamos que se nos da FLDA define como PL4 con un valor de 123 456 FLDA DC PL4 123456 01 23 45 6C Para imprimir este campo podr amos usar UNPK y MVZ de la siguiente man era UNPK FLDA FO
486. sically deleted that is those 5 records were no longer included in the MASTER file Sometimes we prefer records be logically deleted that is the records are still included in the MASTER file but they are tagged in such a way as to indicate that they should not be processed by other programs This is how dBASE handles deleted records an asterisk in the first position of the record is used to indicate logically deleted records d BASE s PACK command is used to physically delete them We have included the most recent transaction code in position 60 of the master record We could say a D in this position indicates the record is logically deleted a Change the sample program to include this feature b Show how the READ routine would be modified for all other pro grams using this file c Write a program which would physically delete all records which are currently logically deleted similar to dBASE s PACK d Write a program which would undelete all records which are cur rently logically deleted similar to dBASE s RECALL 6 Refer to the Small Town Payroll database in More Datasets The follow ing table describes the transactions used to update the EMPL file Field Nbr Name NUM LNAME FNAME DEPT RATE TYPE ACD CRLF ONOOFWN Field Description Employee number Last name First name Department Pay rate Rate type Transaction code PC 370 Only Begins 1 4 14 24 25 30 31 32 Ends 13
487. so de longitud expl cita y el de splazamiento de elaborar una lista de campos seleccionados de la oferta de cursos de archivo Ejecutar el programa como es el determinar la sali da A continuaci n realice los cambios necesarios para limpiar el c digo mientras que todav a producir los mismos resultados Su soluci n no debe utilizar la longitud expl cita y desplazamiento a todos 37 466b PRINT NOGEN gt lt gt K gt lt gt lt gt lt gt lt K gt K ok ok ook K X K K FK K K R ok K X K R K R R R K oe K K FK ok ok FKK FK FK K K FK FK K FKK FK FK K FK FK FK K FK FK FK FK de OK K OK FILENAME OFFER2A MLC AUTHOR SYSTEM PC 370 R4 2 REMARKS A quick and dirty list of offerings gt lt gt K KK gt x K ok gt gt K ok KOK K KR FK K KOR K FK K K R FK K dd KOR FK R OROR FK K OK Prologo 23a BEGIN BEGIN 72 2 5 EJEBXB KIIUSO 2 DEFINICI N Y MOVIMIENTO DE CAR CTERES OI OFFER 10 X 08 DI REPORT 10 X 08 OPEN OFFER OPEN REPORT LOOP GET OFFER IREC MVC OREC 2 IREC 3 MVI OREC 2 C MVC OREC 3 3 IREC 5 MVI OREC 6 C MVC OREC 7 1 IREC 8 MVC OREC 11 1 IREC MVC OREC 12 3 19 MVC OREC 15 2 IREC 1 MVC OREC 20 4 IREC 12 MVC OREC 27 3 IREC 9 MVC OREC 31 2 C MVC OREC 33 2 X 0D25 PUT REPORT OREC B LOOP ATEND CLOSE OFFER CLOSE REPORT 26a OFFER DCB REPORT DCB IREC
488. sor El cociente es luego se coloca en el lado izquierdo de los dividendos en los bytes no ocupada por el resto Para ejemplo dividend quotient remainder what s left length of divisor Por ejemplo dadas las definiciones de los campos siguientes A DC PL5 25 dividend DC 2242 divisor y luego resulta en lo siguiente A before DP 00 00 00 02 5C A after DP 00 00 6C 00 1C El cociente es entonces en A 3 y el resto est en A 3 2 Tenga en cuenta que A en su totalidad no es de ser un n mero v lido de pic nic intenta 1 16 Dado A PL3 47 DC y B DC PL1 9 muestran que DP A los resultados de B en A 005C2C ZAP la cociente en Q ZAP el resto en R 2 17 Dado C DC PL5 1276 y D DC PL2 100 muestran C y D despu s de DP C D ZAP el cociente en Q ZAP y el resto en R 3 18 Habida cuenta de E PL4 10 DC y DC PL2 25 F E y F despu s de mostrar DP E F ZAP el cociente en Q y ZAP el resto en R Los resultados del ejercicio anterior se puede demostrar a trav s de un programa corto y PC 370 s laboratorio Considere el siguiente programa DP MLC DP BEGIN DP A B DP C D DP E F RETURN A DC PL3 47 B DC PL1 gt 9 DC PL5 1276 D DC PL2 100 E DC PL4 10 F DC PL2 25 END 321 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL El resultado de archivo PRN es el siguiente DP PC 370 LOC 000000 000000
489. ta del comando DIR que el tamano total del archivo es de 145 bytes Por qu Cada registro usa 27 bytes para los datos y 2 bytes para el CR LF para un total de 29 bytes por registro Hay 5 registros en el archivo y 5 29 145 bytes Esto demuestra que como se dijo anteriormente cuando se utiliza un PC al pulsar el Tecla RETURN a ade dos caracteres a un registro Hay una desventaja real de usar COPY con la creaci n de un conjunto de datos si usted comete un error debe teclear Z y presione RETURN para finalizar y luego comenzar de nuevo Es mucho m s f cil de usar un editor para crear un conjunto de datos ADVERTENCIA algunos editores de PC quitan los espacios en blanco Estos editores est n muy bien para escribir c digo fuente de PC 370 pero no se puede utilizar para crear conjuntos de datos de PC 370 Si usted no est seguro de c mo su editor de obras utiliza el comando DIR para comprobar el tama o del archivo y comprobar que tal como lo hicimos anteriormente Si despu s de pasar por el proceso anterior para validar el tama o del archi vo usted encuentra que usted est fuera de el 1 de solo byte no te preocupes Su editor probablemente a adido un especial de fin de archivo EOF a su archivo Eso est bien He aqu otro ejemplo Considere la tabla de cursos Tabla 1 4 OFFER que se ofrecen desde el peque o pueblo Base de datos de la Universidad El dise o de registro siguientes se describe el archivo 21 1 3
490. tar 02011B obligando a todo el registro para comenzar en un fullword frontera Esto se hace con una DS OF como se muestra Una vez mas se puede suministrar la LOC falta 020118 DS OF eee INREC DS OCL80 INZIP DS n INCODE DS CLi Mura INAMT DS F E edu INJUNK DS CL6 INLIMIT DS F Una vez m s usted debe terminar con INLIMIT a partir de las LOC 020128 por 020126 y 020127 se todav a omitido Teniendo en cuenta estos campos se definen en el orden indicado no hay manera de que pueda vigor INAMT y INLIMIT a un l mite fullword Cuando se utiliza un diseno de registro con campos definidos como fullwords es com n la pr ctica a Utilice DS OF para forzar el comienzo del registro a un l mite fullword y Aseg rese de que todos los campos definidos como de tipo F comenzar en la columna n 4 1 es decir las columnas 1 5 9 13 Esta segunda regla se puede lograr mediante la definici n de un registro de tal manera que se definen todos los campos de tipo F antes de que otros campos Esta es una pr ctica com n en algunas tiendas De hecho algunas instalaciones se ir tan lejos como para decir que todos los disenos de registro se define de modo que su longitud total es un m ltiplo de cuatro incluso si esto significa relleno el registro con unos pocos bytes de relleno Por supuesto estos son consideraciones hechas en el momento del diseno de registro est disenado se trata de cuestiones de diseno
491. taras los ejercicios y te divertir s mientras aprendes C mo est organizado este libro En el cap tulo 1 podr s aprender la mec nica de la escritura el montaje y ejecuci n de programas de ENSAMBLADOR que utilizan PC 370 Tambi n aprender s c mo crear las bases de datos uti lizadas en este texto En el cap tulo 2 aprender s los fundamentos de la definici n y como mover campos de caracteres A continuaci n seras capaz de producir informes en for matos simples En el cap tulo 3 aprender s c mo hacer condiciones en ENSAMBLADOR Prob ablemente ser diferente a todo lo que has hecho antes Pero puedes hacerlo basta pensar a un nivel muy bajo En el cap tulo 4 aprender s c mo estructurar un programa en ENSAM BLADOR Muchos programadores piensan estructura y ENSAMBLADOR no pertenecen a la misma frase Pero si sigues algunas reglas muy simples pronto escribiras programas que son muy f ciles de modificar y mantener En el cap tulo 5 aprender s m s acerca de la representaci n de datos in cluyendo los sistemas de numeraci n binario y hexadecimal y las secuencias de caracteres EBCDIC y ASCII Muchos textos de ensamblador presentan esta infor maci n en el primer cap tulo pero tuve que posponerlo hasta este capitulo en favor de permitir escribir programas tan pronto como sea posible En el cap tulo 6 podr s aprender sobre algunos de los formatos de instruc ciones de ENSAMBLADOR Al t rmino de este cap tulo podra
492. tersburg Florida 33710 FEA I 9k 9k 9k ak ak ak KOR 3k 3K 3K 3K K K A A AI Ik K 21 K KK KK 4 4 K TYPE H FOR HELP XA XA X X X X XX Al igual que en nuestro an lisis anterior de PC 370 75 laboratorio ID ERROR nos dice que el programa ha composici n y A 000270 nos dice d nde Restamos X 200 de la direcci n que nos da 000070 la direcci n de la siguiente instrucci n a ejecutar el programa no habia terminado Nosotros ver en la lista PRN que esta es la ubicaci n de la macro de re greso para la instrucci n lo que provoc el error es la instrucci n anterior MP PAGE 1 PC 370 CROSS ASSEMBLER OPTIONS LXACE LOC ADR1 ADR2 LINE LABEL OP OPERANDS 000000 1 BEGIN 000000 2 MP CSECT 000000 3 USING 15 000000 47FOF058 0058 4 B KZHQX001 000004 5 DC AL1 11 000005 D4D7404040404040 6 DC CL11 MP 000010 0000000000000000 7 HZQKXOO1 DC 18F 0 000058 90 00 000C 8 KZHQXOO1 STM 14 12 12 13 310 13 1 LAS INGRRUCCIONES BOLSABIDEARITMETICA DECIMAL 00005C S50D0F014 0014 9 ST 13 HZQKX001 4 000060 18ED 10 LR 14 13 000062 41 0 010 0010 11 LA 13 HZQKX001 000066 50D0E008 0008 12 ST 13 8 0 14 00006A 13 DROP 15 00006A 14 USING HZQKX001 13 00006A FC22D06AD06D 007A 0070 15 MP FLDA FLDB 000070 16 RETURN 000070 58DD0004 0004 17 L 13 4 13 000074 98ECDOOC 000C 18 LM 14 12 12 13 000078 O7FE 19 BR 14 00007A 0
493. tes 172 7 14 DATOS DE ER ADEIHSLOE EJXCHISAR NE ARITM TICA DECIMAL SELECT ADDRESS STOP OPTIONS CONTINUE TO NEXT TRACE ID DUMP 370 386 MEMORY AT SELECTED ADDRE SET EBCDIC OR ASCII DUMP FORMAT SET FIND TRACE ID DISPLAY 370 INSTRUCTION COUNTER WORD JUMP TO NEW 370 386 INSTRUCTION ADDRE SET KILL TRACE MODE OR RESTORE TRACES SET LIMIT FOR Q AND T MODIFY 370 386 MEMORY LIST TRACE TABLE PRINTER ON OFF SET QUIET MODE LIST 370 386 REGISTERS SAVE UNSAVE CURRENT TRACE ID FROM KILL SET TRACE MODE LIST 370 386 FREE STORAGE ASSIST LOG ON OFF MODIFY 370 386 REGISTER Nw MEH E r G H m m 55 55 SWITCH 370 386 MODE AFFECTS D E J 0 M R W Y lt CR gt REPEAT DUMP lt BS gt DUMP BACK lt SP gt DUMP FORWARD lt ESC gt EXIT TO MS DOS Pulsamos Esc para volver al DOS nos dice que el programa ha terminado y A 000276 nos dice d nde Pero la direcci n de ID ERROR 000276 no significa nada para nosotros sin la inclusi n de la Asamblea tenemos que tener el PRN inclusi n en el orden de de ser capaz LOC 000000 000000 000000 000000 000000 000004 000005 000010 000058 00005C 000060 000062 000066 00006A 00006A de hacer cualquier depuraci n ADR1 ADR2 LINE LABEL OP 1 2 3 BEGIN 4 47 0 058 0058 OB 6 C2C5C7C9D5404040 7 0000000000000000 8 70 001 90ECDOOC 000C 9 KZHQXOO1 50D0F014 0014 10 18ED 11 41D0F010 0010 12 50D0E008 0008 13 14 1
494. tes de almacenamiento X 32768D y X 32767C Pero para almacenar estos mismos valores en un halfword requiere s lo dos bytes de almacenamiento un ahorro del 33 Sabemos que un fullword ocupa cuatro bytes Siguiendo el mismo patr n que el anterior es decir utilizando el bit m s a la izquierda para indicar que el signo vemos que el rango de valores para un fullword positivo es 0000 0000 0000 0000 0000 0000 0000 0000 Binario O 10 a trav s de 1111 1111 1111 1111 1111 1111 1111 0111 El rango de valores para un fullword negativo es 1111 1111 1111 1111 1111 1111 1111 1111 a trav s de 0000 0000 0000 0000 0000 0000 0000 1000 Tenga en cuenta que se necesitar an seis bytes para almacenar este mismo n mero en formato compacto Pero por supuesto los seis bytes podr a al macenar un n mero de envasado en la gama 99999999999 El rango de valores para una palabra doble se 9 223 372 036 854 775 808 a 9 223 372 036 854 775 807 Lo suficientemente grande para la mayor a de las empresas 14 1 Comparaci n de dos campos binarios Cualquier operaci n aritm tica binaria incluyendo una comparaci n nece sitar por lo menos un registro Supongamos que A y B son cada fullwords A tiene un valor de 5 y B tiene un valor de 5 Pueden ser se muestra en hexadecimal como 00 00 00 05 FF FF FF FB No podemos utilizar CLC comparar los campos CLC A B 345 Binario Binario Binario 2 14
495. tes est n en blanco Una soluci n es la siguiente GET MNAME C BE NOINIT CLC MNAME 1 11 CL11 gt BNE MVI MNAME 1 C NOINIT EQU Observe el uso de EQU para definir una etiqueta para que el programa puede rama o ir a basado en el c digo de estado resultante de CLI o CLC 3 6 Sample Program Recordemos que el problema de programaci n presentado en el comienzo de este cap tulo fue 85 3 6CSRMIPLD BROERANBAL COMPARACI N DE CAR CTER FIELDS Para determinar si un profesor es titular y por consiguiente incluirse en el informe y Para determinar si el instructor tiene un doctorado y para imprimir una S o una N en consecuencia El nuevo programa es TEACH3A MLC el programa y sus resultados los sigu lentes 86 cap 3 86 PRINT NOGEN gt K sk 5k ak 5k ok ak k 5k ok ok 5k ak K aK 5k aK ke kk PK 3K aK aK K 2K ke 3K 3K a K 3K K aK 3K 2K PK 3K 3K ke K 3K 3K aK 3K K K K 3K K 3K 2K FK K 3K K 3K 3K 2K K 3K 3K K K FILENAME TEACH3A MLC AUTHOR SYSTEM REMARKS Bill Qualls PC 370 R4 2 97 Produce a list of tenured instructors EIA Prologo 23a BEGIN LOOP YESPHD OTHERS BEGIN WTO OI OI OPEN OPEN PUT PUT PUT PUT EQU GET CLI BNE MVC MVC CLO BE MVI EQU MVI EQU MVC MVC MVC PUT gt TEACH3A TEACHERS 10 X 08 RE
496. tores del shareware requieren que su software sea distribuido en su 14th generation languages por sus siglas en ingles 12 13 1 2 NUESTRO PRIMER RUGERLOIA HONNIBROS PASOS CON PC 370 totalidad Gran parte nunca lo usaras Para simplificar el uso de PC 370 el Directorio MIN contiene los archivos m nimos necesarios para escribir y ejecutar todos los programas contenidos en este texto Los programas pueden ser almacenados en y ejecutados desde un disquete Si quieres hacer eso entonces debe hacer una copia de seguridad del disquete de distribuci n Esto se puede hacer con DISKCOPY desde el comando de DOS desde el C gt del sistema escriba DISKCOPY A A y pulsa ENTER Intercambiar discos cuando se indique Mantenga el disquete de distribuci n en un lugar seguro Si se utiliza una unidad de doble densidad Basta con copiar la carpeta MIN desde el disquete de distribuci n a su disquete de trabajo Si va a almacenar y ejecutar sus programas desde un disco duro a contin uaci n cree un directorio por ejemplo como PC370 y use los comandos de XCOPY de DOS para copiar todos los directorios y archivos desde el disquete al directorio Por ejemplo C 1 gt md pc370 C 1 gt cd pc370 C PC370 gt xcopy a s A lo largo de este texto se supone que PC 370 se ejecuta desde la directorio MIN de un disquete El directorio SOURCE contiene el c digo fuente de todos los ejemplos con tenidos en este libro Se le anima a
497. tre En nuestro soluci n hemos anadido una a ca da uno de estos dos contadores en la rutina PROCESO Tambi n es com n a incrementar el contador de poca importancia el contador es de menor impor tancia en este caso el recuento de las secciones de departamento Z DEPT Luego cuando se detecta un periodo de control de menor importancia agregue la cuenta de menor importancia a la contar con mayores antes de restablecer el recuento de menores a cero Esto se refiere a veces como renovable los totales La aplicaci n de esta l gica de trabajo ser a la siguiente PROCESS EQU ST R10 SVPROC BAL R10 CHKSEM BAL R10 CHKDEPT AP DEPT P 1 ENDDEPT EQU 247 Have removed AP SEM P 1 10 5 INFODPAH IRHSUMIDQUIPBRBIIIWIAADIOPHOGIDKMIGN OROL DE BAL R10 WRITE SEM DEPT Roll counts ZAP DEPT P 0 Reset counter 1 R10 SVENDDEP BR R10 Esta t cnica es realmente m s eficiente que el m todo anterior Hay un total de dos puntos de acceso por lo que el tama o del programa es esta misma Pero en el viejo m todo Z SEM se incrementa por uno de una vez por cada registro En este m todo SEM se incrementa por la cantidad en DEPT una vez por cada departamento La t cnica a utilizar es una cuesti n de preferencia personal pero debe sin duda ser capaz de reconocer y entender tanto 10 5 Informe resumido Problema de progra maci n En nuestra versi n final del programa que desea producir un in
498. tulos de la tabla de dise o de impresi n de c digo ensamblador real Por ejemplo 37 465 66bp HD3 DS OCL62 DC CL40 ID Name Degr DC CL20 DC XL2 0D25 La ventaja de esta t cnica es m s evidente cuando hay varias l neas de par tida cada uno de m s de 80 caracteres de ancho La mayor a de los informes de mainframe est n disenados para ser 132 caracteres de ancho exclusivo de los el car cter de control de carro Esto se discute en el ap ndice Las definiciones completas partidas son las siguientes ez 37 72 Headings definitions HD1 DS OCL62 DC CL40 LIST OF TEACHERS DC CL20 DC XL2 0D25 HD2 DS 0CL62 DC CL60 DC XL2 0D25 HD3 DS OCL62 DC CL40 ID Name Degr DC CL20 DC XL2 0D25 HD4 DS OCL62 DC CL40 DC CL20 DC XL2 0D25 66 Ten Ten Phone Phone 67 2 4 AGRAP AR VOEN CABFIDADIONDEMOVIMMNMTO DE CAR CTERES Despu s de que el archivo de salida informe es abierto y antes de leer los registros cada una de las lineas de partida que esta escrito El comando PUT se utiliza para este prop sito El nuevo programa es TEACH2C MLC la programa y sus resultados los siguientes ff 40 465a 101 PRINT NOGEN KK FK FK K KK FK FK K K FK FK K FKK FK FK FK FK ok FILENAME TEACH2C MLC AUTHOR Bill Qualls SYST
499. uando nos referimos 112 4 1 ION OO GEIR OCWRALR IP SHRROGRAMA DE BAL a registrar 10 R10 aparecer en la lista de referencia cruzada producida por el ensamblador Nuestra versi n final del programa TEACH4C MLC sigue TEACH C MLC 113 PRINT NOGEN SO OOO I KOR k kkk kk kk kk kk 2k KR FILENAME TEACH4C MLC AUTHOR Bill Qualls SYSTEM PC 370 R4 2 REMARKS This is a revision of TEACH4B MLC Produce list of tenured instructors How to structure a BAL program SOO OO OR k kkk k kkk kk kk 2k R X X C X START 0 REGS BEGIN BEGIN WTO TEACHAC Begin execution search main loop SETUP EOFSW to EOJ PROCESS WRAPUP 111 WTO gt Normal end of program RETURN ok OR R K 3K 2K 9k ok ke K 2k 2K K 3K 3K 3k 3K 2k 2k k gt k gt K 2K 2K 2K R K SETUP Those things which happen one time only before any records are processed lt gt lt al ok ok ok ok K k K de ok ok K X K ale FK ok ok K K KK X ok ok ale ok ok ale K K 5 ode ok FK FK de ok ok ale FK ok K ode K ale X X ok KK X K K K K ale SETUP EQU ST R10 SVSETUP OI TEACHERS 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OI REPORT 10 X 08 PC 370 ONLY Convert all output from EBCDIC to ASCII OPEN TEACHERS OPEN REPORT BAL R10 HDGS BAL R10 READ Priming read L R10 SVSETUP BR R10
500. uct CL20 National XL2 0D25 OCL62 Sales XL2 0D25 BEGIN 333 California Sales 13 5 UN EJEMPLOUDPT amp LIM B BOLSAS DE ARITM TICA DECIMAL 13 5 Un ejemplo detallado El siguiente ejemplo es m s complejo y muestra el proceso de pensamiento necesario para hacer la multiplicaci n y la divisi n de los problemas que aparecen en el mundo real Supongamos que la actual tasa de impuesto de seguridad social FICA es 6 29 y se aplica a los primeros 57 600 de ingreso solamente Total de retenciones FICA no puede exceder 3 623 04 Datos de la n mina viene de una tarjeta de archivo de imagen e incluye los siguientes campos Input Fields IPPGR DS CL6 Current pay period Gross 9999 99 IYTDGR DS CL8 Year to date Gross 999999V99 IYTDFICA DS CL7 Year to date FICA W H 99999V99 Work Fields WFICA DC PL3 0629 FICA rate V9999 WFICA DC PL4 362304 FICA dollar cap 99999V99 Escriba el c digo de BAL necesario para producir los campos de salida siguiente Definir los campos de trabajo adicional en caso necesario Dutput Fields OPPFICA DS CL5 Current pay period FICA W H 999V99 OYTDGR DS CL8 Year to date Gross 999999V99 OYTDFICA DS CL7 Year to date FICA 99999V99 13 6 Soluci n Desde cada uno de los campos de entrada y de salida se divide en zonas decimal sin envasar como se indica por definici n como CL y desde cada uno sera la entrada el resultado de la aritm tica vamos a def
501. udad Comunidad de base de datos College La salida deber a ser por la OMC s lo no hay ning n archivo de salida Utilice un registro en el mostrador Uso Bolsas de campos s lo como necesaria para el comando de la disfunci n er ctil Su mensaje debe aparecer como sigue Hab a cursos ofrecidos en XXX W93 semestre Consulte COGS9A MLC en el cap tulo 9 Este programa produce la venta Cr nica de Dind n Industrias Vuelva a escribir este programa para que se lea COGS BIN en lugar de COGS DAT Todos los aritm ticas en binario es decir el uso envasados s lo los campos que sean necesarias para el comando ed Consulte la base de datos Small Town Hardware Store en m s conjuntos de datos Escriba un programa que va a convertir los campos num ricos en la herramienta de archivo binario Todos los campos de conteo debe ser almacena como medias palabras Todos los d lares y los campos ciento deben ser almacenados como fullwords La salida archivo debe ser dejado en forma EBCDIC No utilice CR LF Llame a su TOOL BIN archivo a Nota puede ser necesario volver a ordenar los campos dentro del reg istro o a adir campos no utilizados relleno a fin de garant a de que el fullwords y medias palabras pueden de hecho estar debidamente alineados Escribir un programa que lea el archivo producido en el ejercicio 8 anterior y crear el el informe muestra en el ejercicio 14 a del Cap tulo 7 A pesar de que el programa no se ped a editada sal
502. ue devuelve la fecha del sistema en la Utilice DATE370 MLC dd mm aa formato no del siglo Llame a su DATE370 CPY rutina Modificar uno de sus los 446 17 8 EJERCICIOSCAPITULO 17 A NIVEL DE BITS DE OPERACIONES programas de informe existente para utilizar esta rutina para obtener la fecha del sistema y que la fecha de impresi n en las l neas Copia se debati por primera vez en el cap tulo 13 8 Utilice DATE370 MLC en este cap tulo para escribir una copia de rutina que devuelve la hora del sistema en formato no cent simas Llame a su TIME370 CPY rutina Modificar uno de sus hh mm ss los programas de informe existente para utilizar esta rutina para obtener la hora del sistema y la impresi n que el tiempo en las l neas Copia se debati por primera vez en el cap tulo 13 447 Capitulo 18 Indices 448 Indice de cuadros TT STUDENT te ae 4 A ER EE Ne E 17 1 2 COURSE e fe e ta RR CS 17 92 THACHER 65944 ch ae Rae eed a 18 1 4 OFFER x54 4 4 4 Water lott ch BEA Reg MOE ied id ay BS 18 165 GRADE uus he fe en ae Se Qh Cia ate ae ak og eons 19 Chunks ascii 38 cap 3 86 COGS13A MLC 315 COGS14A MLC 353 COGS14B MLC 357 COGS16A MLC 418 COGS16B MLC 421 COGS7A MLC 157 COGS7B MLC 164 COGS9B MLC 211 ejemplo 1 41a Epilogo 26a ex 37 327 ff 40 Field A 76a Field 76b Field F
503. ue otras veces tomar la direcci n de B Como antes si me estoy moviendo la direcci n de un archivo puedo c digo MVC CSTREET ASTREET pero si me voy a mudar la direcci n del archivo B voy a c digo MVC CSTREET 28 BSTREET MVC CSTREET 28 2 CL2 b 59 2 3 LON amp P UDLEOXPL SHITINACRUNDESIPDXYMNITENTOE CAR CTERES El uso excesivo de los literales de los programas m s grandes pueden hacer m s dif cil de mantener En lugar de han literales de muchos de los type CL5 b y CL2 b etc es probablemente mejor para definir un solo campo llamado espacios en blanco o espacios de una longitud suficiente como para ser utilizado en lugar de estos literales Para ejemplo yo podr a c digo BLANKS DC CL30 b y luego el c digo MVC CNAME espacios en blanco MVC CSTREET espacios en blanco o cuando el movimiento de datos desde el archivo B MVC CNAME 20 bname MVC CNAME 20 5 espacios en blanco MVC CSTREET 28 BSTREET MVC CSTREET 28 2 espacios en blanco Tenga en cuenta que un desplazamiento expl cito puede ser utilizado con MVI tambi n Sin embargo una longitud expl cita no se puede utilizar con MVI incluso si la longitud indicada es 1 Por ejemplo para mover un asterisco a la tercer byte de la basura puedo c digo MVC JUNK 2 1 CL1 JUNK MVI 2 C JUNK MVI 2 STAR donde STAR EQU C x pero no puedo c digo MVI JUNK 2 1 C Recuerde los valores eq
504. uetados el m s a la derecha de dos d gitos hexadecimales representan el signo F D o C Evidentemente alg n mecanismo similar se utiliza para indicar el signo de un n mero binario La clave para entender los n meros binarios es reconocer que se utiliza m s a la izquierda m s alto poco para representar el signo este bit estar apagado 0 para los n meros positivos y en 1 para los n meros negativos Nota Considerando que un n mero puede ser envasados sin firma no hay n meros binarios sin signo Por lo tanto el rango de valores para una media palabra positiva es 0000 0000 0000 0000 Binary 010 0 0 0 a trav s de 1111 1111 1111 0111 Binary 32767 10 El rango de valores para una media palabra negativa es 1111 1111 1111 1111 Binario 1 10 El hecho de que X FFFF 1 es contrario a la intuici n Pero pensar de esta manera si a adimos X 0001 para X F FFF tenemos X 10000 que cuando se trunca a dos bytes es X 0000 As vemos que 1 1 0 Por lo tanto X FFFF debe ser igual a 1 Bolsas de campo de dos bytes pueden variar en el valor de 999 a 999 sola mente Pero como hemos visto un halfword puede variar en el valor de 32768 a 32767 inclusive Ahora supongamos que queremos almacenar un valor que 344 14 1 COMPARACI N DE DOS GCAAPPOSIBINARBISARY ARITHMETIC nunca saldra de ese rango Para almacenar 32768 32 767 en forma de pic nic que requieren de tres by
505. uiparados no se puede utilizar como operandos de un MVC y por lo tanto el siguiente no funciona MVC JUNK 2 1 STAR Cuando se utiliza MVC el desplazamiento explicito puede ser utilizado tanto en el env o y la recepci n de los campos pero la duraci n expl cita puede ser utilizado en el campo de recepci n solamente Cuando se utiliza la MVI el de splazamiento expl cito puede ser utilizado tanto en el env o y la recepci n de los campos pero la duraci n expl cito no se puede utilizar en absoluto Este m todo de movimiento con el desplazamiento y la longitud se expresa a veces v ctimas de abusos Unos a los programadores a escribir programas enteros usando este m todo a fin de evitar el tiempo y esfuerzo necesarios para el c digo de dise o de registro Pero esta es una pr ctica peligrosa ya que es muy dif cil de depurar Si ese fuera el nico punto negativo no ser a tan malo porque el programador es s lo herir a s mismo Pero estos programas a continuaci n obtener pasados a otros programadores que deben mantenimiento Uso expl cito de desplazamiento y la longitud de moderaci n Su uso puede ser 60 61 2 3 LON amp P UDLEOXPL SHITINACRUNDESIPDXYMNITENTOE CARACTERES apropiado cuando refiri ndose a una parte de un campo pero rara vez seria apropiado cuando se refiere a una parte de un registro TEACH2A MLC El siguiente programa TEACH2B MLC es funcionalmente equivalente al programa que se muestra anterior
506. uir un ap strofo en un literal el c digo de un ap strofo doble no una cita Por ejemplo HD2 DS DC DC OCL62 CL60 XL2 0D25 326 Calif ornia s Contribution to Sales 327 13 4 MUESTRA DEL PROGRAMA CONTRIBUCION DE CALIFORNIA A LAS VENTASHPEULO 13 M S BOLSAS DE ARITM TICA DECIMAL Con el fin de determinar el porcentaje de las ventas por producto para California se divide por el total de ventas de California nacional de ventas Despu s de encontrar las ventas totales de este producto utilizando el mismo m todo que se muestra en el programa anterior se proceder como sigue ZAP DIVIDEND WCALIF ZAP DIVISOR WTOTAL SRP DIVIDEND 3 0 DP DIVIDEND DIVISOR SRP QUOTIENT 64 1 5 ZAP PK2 QUOTIENT MVC OPCT X gt 40202120 ED OPCT PK2 MVI OPCT L OPCT PERCENT En aras de la brevedad he omitido el c digo para comprobar la divisi n por cero Observe el uso de la instrucci n de la MVI y el uso del operador de longitud como un desplazamiento para mover un signo de porcentaje inmediatamente despu s de que el valor del porcentaje Una l gica similar se necesita al final del trabajo en Wrapup para calcular por ciento del total El resultado final es COGSWORTH INDUSTRIES California s Contribution to Sales Nationwide California Product Sales Sales GIZMOS 90 20 WIDGETS 37 15 JUNQUE 73 25 TOTALS 200 60 El programa completo COGS13B MLC sigue 327 329 gt PRINT NOGEN Pe
507. ull words palabra doble F T alineados e La secuencia correcta de las instrucciones para mover Hl a la Fl es LH ST F T f La secuencia correcta de las instrucciones para mover F1 a es L ST F T 365 14 9 EJERCICIOS CAPITULO 14 BINARY ARITHMETIC 4 La secuencia correcta de las instrucciones para a adir H1 a H2 es LH LH A STH F T h La secuencia correcta de las instrucciones para restar H1 de F2 es LH 5 STH F T Para restar el valor de R3 desde el valor de uso R4 S R4 R3 F T Para mover el valor de a R5 uso ST R5 R3 F T Para mover el n mero 5 para R6 uso CVB R6 P 5 F T 2 J k l No Ne gt La secuencia correcta de las instrucciones para convertir H1 a un campo de relleno de tama o PL3 F T es LH CVD ZAP m La secuencia correcta de las instrucciones para mover un campo de relleno de PL5 tama o a la F1 es F T ZAP CVB ST 2 Habida cuenta de la F1 F2 y F3 son fullwords Escriba el c digo de BAL a a lugar de la suma F1 F2 en la categor a F3 lugar de la diferencia F1 F2 en la categor a F3 a lugar el mayor de la F1 F2 y F3 en el registro 4 el lugar de la suma F1 F2 en el registro 5 lugar de la suma editado F1 F2 en WK8 utilizando la mascara X 4020202020202120 lugar de la suma F1 5 en la categoria F3 J 3 Teniendo en cuenta H1 H2 y H3 son medias palabras Escriba el c digo de B
508. un pic nic 147 7 2 BOLSAS DE FORPIATOOECIBOMISAS DE ARITM TICA DECIMAL Usted probarlo 5 Un campo decimal dividido en zonas de longitud de siete es decir con siete d gitos se requiere un nic campo decimal de qu longi tud 6 Un campo decimal empaquetado de longitud tendr siete d gitos cu n tos La Instrucci n PACK La instrucci n de BAL para empacar un n mero es apropiadamente PACK El c digo para implementar cada una de las ejemplos anteriores es el siguiente Para condensar el n mero 1 que ocupa un byte en un byte d nde Pack AA CC CLI 1 B DS PL1 Para condensar el n mero 12 que ocupa dos bytes en dos bytes PACK B donde A CL2 1B DC B DS PL2 Para condensar el n mero 123 que ocupa tres bytes en dos bytes PACK B donde A CL3 12L DC B DS PL2 Para condensar el n mero 1234 que ocupa cuatro bytes en tres bytes PACK B donde CL4 1234 DC B DS Para condensar el n mero 12 345 que ocupa cinco bytes en tres bytes PACK B donde A CL5 1234E DC B DS PL3 El campo de tipo P especificador como en PL3 indica un campo de pic nic Es importante entender que la especificador de tipo suele ser significativa s lo cuando se asigna un valor inicial a un campo con un DC Nosotros puede embalar un n mero en un campo definido como de car cter C hexadecimal X o cualquier otro Adem s el longitud de campo se refiere al n mero de bytes utilizados para ese campo no al
509. una manera de anular la duraci n de la mudanza Hay una manera sencilla En cualquier MVC podemos afirmar una longitud expl cita Esta longitud supera la longitud predeterminada que es la longitud del campo de recepci n Por ejemplo MVC CNAME 20 se mover bname veinte bytes solamente El problema con esto es que los octetos 21 a 25 de CNAME se mantendr n sin variaci n es decir si el campo de o registro no se ha aclarado los datos de aName puede ser de sobra en los bytes Una forma de evitar esto es borrar el campo o registro antes de cualquier movimiento que se hace Por ejemplo MVC CNAME CL25 b En todos nuestros ejemplos hemos supuesto que los datos que se mueve se va a colocar en el primer byte del campo Es decir que hay un desplazamiento por defecto o saltar de cero Esto es por lo general pero no siempre el caso Asi como nos puede dar una longitud explicita tambi n podemos dar una explicita desplazamiento Al hacerlo tendr que talar todo el campo o registro como se muestra arriba Por ejemplo si estoy en movimiento el nombre de un archivo puedo c digo MVC CNAME aName como antes pero si me voy a mudar el nombre del archivo B voy a c digo MVC CNAME 20 bname MVC CNAME 20 5 CL5 b gt Qu pasa si el campo de direcci n de la calle se define como 30 bytes en los archivos de A y C pero como 28 bytes en el fichero B Una vez m s a veces C obtendr la direcci n de A mientras q
510. unt of records written DBL DC D 0 To convert packed to binary COPY COGS BEA A AA R R KOR 9k 9k 9k CA A A A CIC OR ORO 1 1 1 Output record definition BEA AAA ERA 9k ACCA A A DS OH Force halfword alignment OREC DS OCL28 1 28 Inventory record 355 14 7 MUESTRA DEL PROGRAMA DISCREPANCIAS INFORME DE INVENTARIO DEL ARCHIVO BINAR DULO 14 BINARY ARITHMETIC Q 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 To HH HH Hd Hj n m 1 10 Product description Units sold in Calif Units sold in Illinois Units sold in Utah Units sold in Wisconsin Beginning inventory Purchases throughout year Actual quantity on hand Cost each 99V99 Sell for each 99V99 gt lt gt K gt lt K gt x ok KK ok ok gt K FKK FK K FK FK FK ok ok KOR K ld OK OK K R ODESC DS OCALIF DS OILL DS OUTAH DS OWISC DS OBEGIN DS OPURCH DS OQOH DS OCOST DS OSELL DS MSG DS DC MSG OUT DC DC END Output message count of records written Kok 9k ok ok 3 sk OCL32 CL11 COGS14A XL4 40202120 CL17 records written BEGIN 14 7 Muestra del Programa Discrepancias In forme de Inventario del archivo binario Veamos ahora el segundo programa COGS14B MLC Este programa se pre senta el inventario Las discrepancias informe del nuevo archivo binario
511. unt to zero PROCESS Those things which happen once per record BEA AAA ARR A A A PROCESS EQU ST R10 SVPROC CLC TTID OTID Attempt match on teacher ID BH PROC2 Offerings low BL PROC3 Teacher low BAL R10 MATCH Otherwise a match was found B PROCESSX PROC2 EQU No teacher for this offering BAL R10 0FFERLOW B PROCESSX PROC3 EQU No offerings for this teacher BAL R10 TEACHLOW PROCESSX EQU L R10 SVPROC 267 11 7 PROGRAMA P T SODUCIOWAS DE UNA ENTRADA DE ARCHIVO BR R10 OR KOR kkk k kkk Kk k k K KOR K K TEACHLOW No courses for this teacher This is NOT an error condition Just skip this teacher and go to next Ad Rd KOR FK R R KOR R OR TEACHLOW EQU ST R10 SVTCHLOW BAL R10 READTCH Read next teacher record L R10 SVTCHLOW BR R10 SAO AAA Rok 9 9k 9k A k k 2k 2k R 2k kkk OR R MATCH Course offering with teacher lt 2K gt lt lt al k x ale ode X ok oko ok ok ok ok ok X K de K K 2K ok oko ok ok ale K ok ale ode de X FK K ok ok oko ok ale K K ale X 2K K K 2K K ale ale K ale ale MATCH EQU ST R10 SVMATCH MVC HOLDTID TTID Current teacher MVC HOLDNAME TTNAME BAL R10 DOTHIS1 Do this one teacher BAL R10 READTCH Read next teacher record L R10 SVMATCH BR R10 K sk ok K sk sk ok oko 5k ok ok sk oR kk ok okeok kk PK 9k KOR ok KOR KOR okcokek ook Ek kkk k kkk kk kk kk kkk k kk kk Kk K
512. utir n aqu KOK OK OK k OK k KOK OE k KOK OK k K K k k K You Try It 5 Will BC 8 SKIP branch to SKIP if the condition code is 8 6 Will BC 12 SKIP branch to SKIP if the condition code is 2 7 Will BC 15 SKIP branch to SKIP if the condition code is 8 8 Will BE SKIP branch to SKIP if the condition code is 8 9 Will B SKIP branch to SKIP if the condition code is 4 X kk OK OK CK ck CK ck CK OK ck k ck OK ck CK OK OK OK 3 5 Compares in BAL Sample IFs normalmente no es el primer idioma que aprende una persona Lo que sigue es una manera f cil de aprender a hacer BAL FI en BAL que se aprovecha de los conocimientos de programaci n existentes Para aprender a hacer las federaciones en BAL usted debe pensar muy bajo nivel BAL es despu s de todo un nivel bajo de segunda generaci n de idiomas As que vamos a dar un paso atr s en el tiempo Vamos a suponer que estamos codificando en una forma muy primitiva de BASIC Esta versi n de BASIC es totalmente desestructurado y tiene las siguientes restricciones 1 S lo hay una l nea por cada declaraci n En las versiones m s recientes de BASIC de dos puntos se pueden utilizar para poner varias instrucciones BASIC en la misma l nea Este no ser el caso en BASIC nuestro viejo 81 3 5CAR NDABES IN BAN KAMPIOMPSRACION DE CAR CTER FIELDS 2 Hay un verbo SI SI pero este no permite que las condiciones de com puestos AND y OR 3 Lo nico que puede hacer como
513. uy primitivo Sin embargo si usted sabe lo que buscar que puede ser muy til Considere el siguiente programa SO0C7 MLC START 0 BEGIN BEGIN AAA See ete E 80 7 BY BILL QUALLS USING PC 370 V4 2 FORCE DECIMAL EXCEPTION a et et ee yt AP SUM ONE AP SUM TWO RETURN SUM DC PL2 0 ONE DC PL1 1 TWO DS PL1 2 Error END Este programa contiene un error deliberado la definici n de dos deber a ser un DC en lugar de una DS Cuando intento agregar dos a SUM el segundo AP voy a tener una Abend Si nos reunimos enlaces y ejecutar este programa se obtiene la siguiente A MIN gt sOc7 TRACE A 08E4 ID BUG dde k kk kk K PC 370 System Release 4 2 01 07 88 Copyright C 1988 Donald S Higgins You are encouraged to copy and share this package with other users on the condition the package is not distributed in modified form and that no fee is charged If you find PC 370 useful send 45 dollars to the address below to become registered user and support continued shareware development Registered users will receive notices of future PC 370 releases Don Higgins 6365 32 Avenue North St Petersburg Florida 33710 TYPE H FOR HELP X X X X X X X 370 A 000276 OP 58DD0004 Si tipo H pero no pulse Enter obtenemos la pantalla de ayuda siguien
514. va a mover un Si o no a un campo el significado es bastante obvio En aquellos casos en los que no mover un Si o No el nombre del campo como g nero a menudo hacen que el significado de la valor inmediato M o F obvio Pero qu pasa con el texto siguiente 37 455a 55 gt MVI RACE C 1 MVI STATUS C D Qu hace un RACE 71 significa Cu l es el estado y lo que hace un valor de D indican El siguientes son mucho m s significativas donde 37 455b 55d MVC RACE HISPANIC HISPANIC DC CL1 MV C STATUS DIVORCED DIVORCED DC CL1 Pero nos acaba de decir que debemos utilizar un MVI en lugar de un MVC para mover constantes de la longitud de uno Tan C mo podemos utilizar la MVI y a n as obtener las ventajas de un c digo m s significativo La respuesta es utilizando la instrucci n EQU El EQU o igualar verbo le permite asignar un nombre a un valor inmediato A continuaci n puede utilizar ese nombre como el segundo operando de una MVI y otras instrucciones como veremos m s adelante Para utilizar una EQU con los ejemplos anteriores nos c digo donde 37 455c 5 gt MVI RACE HISPANIC HISPANIC EQU C 1 MVI STATUS DIVORCED DIVORCED EQU CD 55 56a 56b 2 2 HBREEINIXBIAINSS CAR CTERES Tenga en cuenta que no puede haber ning n operador de longitud en la definici n EQU es decir usamos C l en lu
515. vo OFRECEMOS registro de cada archivo A continuaci n comparar el ID maestro de maestro de los maestros de identificaci n los dos archivos Hay tres archivos menos de Maestro ID del archivo OFRECEMOS condiciones posibles como resultado OFERTA BAJA de la presente comparar a la ID en el archivo MAESTRO MAESTRO es mayor que la ID en MATCH BAJA el archivo OFERTA la ID en el archivo MAESTRO es menor que la ID en el Archivo de oferta o la ID en el archivo MAESTRO es igual a la ID en el Archivo OFERTA VOLVER La primera condici n podr a indicar que tenemos un Registro de oferta con un profesor de identificaci n que no se encuentra en el archivo MAESTRO Evidentemente esto podr a indicar un error condici n La segunda condici n que podr a indicar que tenemos un TTiD Registro maestro con un profesor de identificaci n que no se encuentra en el archivo OFERTA Esto indicar a que este profesor particular no es la ensefianza de los cursos durante el semestre F92 Simplemente se saltar estos R10 BAL La tercera condici n que indique que tenemos un Registro de oferta con un profesor de identificaci n que se encuentra en el archivo Esto indica que este profesor y curso deben ser listados en el informe Cada una de estas condiciones ser n tratados por separado en un de rutina El Maestro de archivo bajo condici n indica que tenemos un TEACHLOW maestro que no es la ensenanza de las clases este semestre No el procesamiento es
516. xadecimal adem s s lo no es tan f cil como la aritm tica binaria pero no es tan malo una vez uno se acostumbra a ella Habr ocasiones en que es necesario utilizar la aritm tica hexadecimal en BAL como cuando la depuraci n de su programa Durante ese tiempo es probable que desee utilizar un calculadora Sin embargo una cierta comprensi n de la aritm tica simple hexadecimal mejorar su eficacia como un programador en ensamblador Como se puede imaginar con la adici n hexadecimal se llevar a la cada vez que llegue a diecis is a os Considere el siguiente ejemplo 126 1 1 1 1 5 6 EJERCICIOS CAPITULO 5 REPRESENTACION DE DATOS 1 ADE C7 5E 7 14 7 21 16 5 ent 2 ADE C7 A5 1 D C 1 13 12 26 16 10 3 ADE C7 BAS 1 A 1 10sx 11 entrar B 11 La respuesta es ADE 6 C716 516 Si usted convertir esos valores decimal ver este es equivalente a 2782 199 2981 Usted probarlo 20 28916 3A5 16 ______ 16 21 4A816 DD7 16 ______ 16 22 32FE 16 722 16 16 5 6 Ejercicios 1 Verdadero o falso a El sistema de numeraci n en base 2 es tambi n conocido como el sistema de n meros binomiales F T gt El sistema de numeraci n en base 2 tiene dos d gitos 1 y 2 F T nN 1011 es una base v lida 2 base 10 y la base de n mero de 16 F T Un sub ndice puede ser utilizado para indicar la base de un n mero cuando la base est F T
517. y OPURCH DS H 21 22 Purchases throughout year OQOH DS H 23 24 Actual quantity on hand OCOST DS H 25 26 Cost each 99V99 OSELL DS H 27 28 Sell for each 99V99 Tenga en cuenta que no hay CR LF al final del registro El CR LF no es nece sario hemos utilizado en nuestros programas anteriores para que pudi ramos utilizar el comando de DOS para ver nuestros datos Desde que este disco contiene los n meros binarios el nico campo que puede ver es la descrip ci n por lo que se omite el CR LF Necesitamos un DCB para ambos archivos Mostramos aqui la DCB para el archivo de salida No hay nada inusual aqu Por supuesto la LRECL 351 14 6 MUESTRA DEL PROGRAMA DATOS DINDON CONVERTIR A BINARIO CAPITULO 14 BINARY ARITHMETIC debe coincidir con la duraci n se muestra en el dise o de registro de salida arriba 28 BINARY DCB LRECL 28 RECFM F MACRF P DDNAME COGS BIN Dado que nuestros datos contiene los datos binarios no podemos utilizar la conversi n de EBCDIC a ASCH Eso tipo de conversi n simplemente no funcionar ya que no es un uno a uno entre los c digos ASCII y EBCDIC As que vamos a omitir la instrucci n de OI que se utilizan para ya antes de la instrucci n OPEN OI INVENTRY 10 X 08 PC 370 ONLY Convert all input from ASCII to EBCDIC OPEN INVENTRY OPEN BINARY NOTE Output in EBCDIC Por supuesto para leer este archivo nuevo el programador debe saber que ya est EBCDIC y

Download Pdf Manuals

image

Related Search

Related Contents

DATALOGIC SCANNING  Home Decorators Collection 6183710970 Instructions / Assembly  Pino AL Anleitung , Version (12/2014 PDF)  www.silva.se  Cubiertas de Fibrocemento - Puerto Rico Suppliers .com    Fashion Completo  DeLOCK 65260  Benq BL3200PT  4 - L`affectation du résultat des sociétés  

Copyright © All rights reserved.
Failed to retrieve file