UE 686_3_Univac_9000_Card_Assembler_Programmed_Instruction_V3_1973 686 3 Univac 9000 Card Assembler Programmed Instruction V3 1973
UE-686_3_Univac_9000_Card_Assembler_Programmed_Instruction_V3_1973 UE-686_3_Univac_9000_Card_Assembler_Programmed_Instruction_V3_1973
User Manual: UE-686_3_Univac_9000_Card_Assembler_Programmed_Instruction_V3_1973
Open the PDF directly: View PDF .
Page Count: 113
Download | |
Open PDF In Browser | View PDF |
UNIVAC 9000 CARD ASSEMBLER Programmed Instruction Course Book 3 - BAL Application Si=E~Y_JLUNIVAC · tr COMPUTER SYSTEMS EDUCATION CENTER UE-686.28 UNIVAC 9000 CARD ASSEMBLER PROGRAMMED INSTRUCTION COURSE I BAL APPLICATION Book-3 UE-686.28 UNIVAC is the registered trademark of Sperry Rand Corporation. Other trademarks of Sperry Rand Corporation are FASTRAND, UNISCOPE, and UNISERVO. Sperry Rand Canada Limited Registered User. UNIVAC Marca Registrada. © 1973 Sperry Rand Corporation Printed in U.S.A. CONTENTS Page INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . 3-1 ...... TALK-THAU PROGRAM 3-2 Marketing Sales Report Problem Statement Input File Output Report Talk Thru Macro Call Cards (Coding) User Program (Coding) Flowchart DIAGNOSTIC EXERCISE OPERATING PROCEDURES . . . . . . . . . . . . . . . . . . . . . . 3-25 • • • • • • • I I I • • • • I I I I I I .. 3-27 Preassembly Macro Pass Generator (Data Preparation and Operating Procedures) Two-Pass Card Assembly (Data Preparation and Operating Procedures) Two-Pass Linker (Data Preparation and Operating Procedures) Assembly Listing (Talk-Thru Program) Linker Map (Listing) Sample Production Run Output . . . . . . . . . . . 3-51 TERMINAL PROBLEM Payroll Reconciliation Report Objective Input Data Processing Output 3-iii CONTENTS (Continued) Page REFERENCE SUPPLEMENT OPEN CLOSE USING EXTRN. ENTRY. GET . . PUT . . CNTRL. Introduction to Pack and Unpack Pack . Unpack . Add Packed Decimal Subtract Packed Decimal Zero and Add Packed Decimal Multiply Packed Decimal Move Character . . . . Move Immediate Compare Packed Decimal Compare Logical Compare Logical Immediate Branch on Condition Branch and Link Store Halfword . Edit Instruction . Halt and Proceed 3-iv . . . . 3-59 3-59 3-60 3-61 3-62 3-63 3-64 3-65 3-66 3-68 3-69 3-71 3-73 3-75 3-77 3-79 3-81 3-83 3-84 3-86 3-8ff· ·3-90 3-92 3-93 3-95 3-98 INTRODUCTION This text is Book 3 of a series of programmed instruction manuals designed to teach 9000 Series Card Assembler programming. Successful completion of Book 1 (UE-868.1 ), Book 2 (UE-868.2) and the self-test evaluation covering Assembler Language programming are prerequisites for starting Book 3. In this text, the concepts and techniques taught in the course are implemented by a "talk-thru" exercise in which the solution of a typical data processing problem is presented. Each stage in the solution is explained including the problem statement, formatting, flowcharting, and coding. A diagnostic examination covering the flowcharting and coding is included in the exercise. In the final section of the course, the novice programmer, given a problem statement, is responsible for the solution of the problem. The reference supplement is designed to provide a convenient means of reviewing instructions. 3-1 TALK-THRU PROGRAM This exercise includes all of the documentation required to produce a complete program. The material provided includes the process flowchart, source coding, printer format chart, and the assembler listing. You will be instructed to refer to this material as you 'follow the analysis of the problem. The exercise begins with a statement of the problem and a description of the input and output parameters. The next steps are the flowcharting and coding of a solution. One solution is illustrated on the flowchart and coding sheets found on pages 3-18 through 3-23. The several intervening pages of this text give a detailed analysis of this solution by showing each block of the flowchart, the coding associated with each block, and a description of the rationale and implications of each step. 3-2 MARKETING SALES REPORT PROBLEM STATEMENT The programmer's objective is to prepare a report to management reflecting the total annual sales for each salesman, and also, a total of all sales for the year. There is one input file and one output file as shown below. PROGRAM PROCESSING PRINTED REPORT INPUT DATA CARDS Figure 3-1 Input Data System Flowchart Sales cards for each salesman. Sales cards contain: Employee number, name and sales information. Data cards are in employee number sequence. Processing Print headings at top of page (EMPLOYEE NUMBER, SALESMAN and SALE). Number all pages and print a final heading. Accumulate total annual sales for each salesman. Final total of all sales for the year. Output A printed report showing total annual sales for each salesman and a final total of all sales for the year. Maximum number of pages is nine. NOTE: To simplify this exercise, title of report, date, and other items normally found in the heading have been omitted. 3-3 INPUT FILE The input file is constructed of SO-character (80-byte) records in the format described below. Item Bytes Columns 6 15 6 Employee Number Salesman Name Sales per Month NUMBER NAME SALES BLANK oooooooooooooooaooooooocoooooooooooooooooooooooooooooc JOOOOOOOOOOOOO 123456789ro"~nw~wum~~~nn~~~v~~m~nnM~$n~n~~aa~a«uu~w~~~~ -7 ss 69 10 111111111111111111111111111111111111111111111111111111 !1111111111111 22222222222222222222222222222222222222222222222222222~ ·2222222222222 333333333333333333333333333333333333333333333333333333 33333333333333 44444444444444444444444444444444444444444444444444444, \4444444444444 55555555555555555555555555555555555555555555555555555[ j5555555555555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 s 6 6 6 6 6 6 6 6 6 6 6 6 _6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 16666666666666 77777777777777777777777777777777777777777777777J77777 7777777777777 88888888888888888888888888888888388888888888888888888 8888888888888 9999999999999999999999999999999999999999999i999999999 121456 78910"UnWGIBDIB~m~nn~~~v S~H~UDM~H~~H~~a~~~~~u~~~~~- 0-5081 Figure 3-2 3-4 Input Card Format n 12 13 74 75 76 n 78 i9 83 9999999999999 GB 69 70 7l 72 73 74 75 76 77 78 79 8~ OUTPUT REPORT The output is a printed report in the following format: Column headings are printed at the top of each page. Page numbers are printed at the top of each page. Lines of print are double spaced. Total sales is printed at end of report. The Printer Format Chart on the next page illustrates a typical report to be printed in the format specified above. 3-5 CHART PRINTER FORMAT (A) I O> FORM NUMBER APPLICATION FORM PARTS RUN NAME RUN NUMBER PREPARED BY TYPE OF PRINTOUT RECORD NAME RECORD NUMBER APPROVED BY DATE DATE APPROVED ~+k·~.+-· i -t-++i-- · · 11++· ·1+ ++++++++++++++++H+++-+-++++-++-H+-H+-H-Hl-++-i~-rl+-++-1-+-H--+ ~ 1 -1 ..i 'I +-+- -t- ·t- · - ++- - I H- · tI Il ± l 1 1 - - -1H-,1 +- -1-H .- l · I . ·+J - - -r-H-f _L:+- -+-tt:1 +1 - -H-H+-·· - IL 1-· - 1r- . ~ i-;;t-. t++- _LLt lJ.. r-·-H-r -H T 1 -1rH- J 1- . 1- 1 1 1 ++t· lIT1'·~T-h1 1· r' m·-1 · Hlithr o++t-1 tl +h I· Hi-1 1 -1111 1 -f . , r1 [· t 1n 1 1 -u1+1rt~1]_ 'R+i J I n+-i ~rti+~ 1_ j i-;1-t: T11~n 1f --~~ffi + -i--1- nJ- It' 1+1+ .-1 I 1 '.l ·1·11 1 - · t- f ·1 - H- . rH·H,·H-i 1 J , 1.: I 1 1: ·1 I 1 I· '1 1 J1 lJ f H · I r-Ht1 i•J --1 ·1 1 1 11111, ltr :r Ti ;-i-fftrJ _n t- _ ± Ht ±THH!tfI .;. 1 START 100 LABEL 11 OPERATION 11 10 16 OPERAND See note below. The START Assembler~directing instruction defines the starting location in memory of the first statement in the program. When the program is linked to other subroutines the ST ART address may be changed. DEFINE INPUT/OUTPUT DEVICES TO BE USED BY PROGRAM LABEL 11 OPERATION 11 10 16 OPERAND 72 r---1---, I I I I DTF's L __ l I I __J DTF's are not handled by the user program. Handling of DTF's will be explained at the end of this talk-thru. The DTF's are positioned here for reference only. ALLOCATE MEMORY LABEL 11 OPERATION 11 10 16 OPERAND 105 110 USING Each USING statement allocates 4096 bytes of memory. (It is assumed that the memory storage requirement for this program will not exceed 8000 bytes.) NOTE: The numbers listed near the right margin are referenced to the coding line numbers used by the programmer on the coding sheets, pages 3-19 to 3-22. 3-7 SUPPLY PROGRAM WITH LABELS FOR DTF'S 1 EXTRNS 115 120 T READ and PANT will be defined in another program. SUPPLY SYSTEM WITH LABELS OF SUBPROGRAMS LABEL 11 OPERA TIOH 11 10 OPERAND 16 ENTRYS 125 130 135 RBUF, EOJ, and FOF are the labels of subprograms within the user program. ACTIVATE CARD READER, PRINTER LABEL OPERAND 11 OPERA TIOH 11 10 16 OPEN READ OPEN PRINT 140 145 OPEN READ makes the file named READ available for sending input. OPEN PRNT makes the file named PRNT ready to receive output. CLEAR PRINTER LINE COUNTER TO ZERO LABEL OPERAND 11 OPERA TIOH 11 10 16 150 CLEAR COUNTER Moves zeros from storage area TZER+4 to the two-byte area defined as CNTR. 3-8 CLEAR PRINTER WORK AREA WITH SPACES LABEL 11 OPERA TIOH 11 10 OPERAND 16 CLEAR PRINTER AREA 155 160 MVI moves a space (blank) into the first byte of the PRWK area. MVC moves a space from the first byte of PRWK into the next 131 positions. POSITION PAPER ON PRINTER LABEL OPERAND 11 OPERA TIOH 11 10 16 Positions printer paper to the top of ADVANCE TO HOME PAPER POSITION 165 page~ SETUP PAGE NUMBER LABEL OPERAND 11 OPERA TIOH 11 10 170 16 ADD 1 TO PAGE Adds one packed byte from the contents of an area defined as ONE to a one-byte area defined as PAGE and stores the result in the area defined as PAGE. INSERT SPACES BEFORE FIRST SIGNIFICANT DIGIT MOVE PAGE TO PRINTER WORK AREA 175 180 Moves the mask from MSK3 into an area defined as PSAL + 22(2). Note: (2) 2 bytes. 3-9 PREPARE PAGE NUMBER FOR PRINTING LABEL OPERAND 11 OPERA TIOH 11 10 16 Unpacks PAGE {page number) and places it in PSAL + 22 for a length of 2 bytes. PREPARE COLUMN HEADERS FOR PRINTING MOVE HORS TO PRINTER WORK AREA 185 190 195 Moves first header {HDR1-Employee Number) to PEMP (15 positions) Moves second header {HDR2-Salesman) to PSMN (8 positions) Moves third header {HDR3-Sales) to PSAL (5 positions) All headers defined above are subdivisions of PRWK. ADVANCE SINGLE LINE BEFORE PRINTING SPACE 1 200 PRINT 205 Advances single line before printing the header. PRINT COLUMN HEADINGS LABEL OPERAND 11 OPERA TIOH 11 10 16 All data that has been placed in the PRWK reserved area HDR1, HDR2, HDR3, PAGE will be sent from PRWK to printer. 3-10 READ ANOTHER CARD 210 LABEL 11 OPERA TIOH 11 10 16 OPERAND READ A CARD Reads a card into an area defined as CARD. CLEAR PRINTER WORK AREA CLEAR PRINTER AREA 215 220 MVI places a space into first location of an area labelled PRWK. MVC moves the space from PRWK + 1 into the next 131 consecutive locations. SET UP PRINT AREA WITH DATA MOVE EMPLOYEE NUMBER & NAME TO PRWK 225 230 Moves EMPN to PRWK area (Employee number) Moves SMAN to PRWK area (Salesman's Name) STORE EMPLOYEE NUMBER FOR LATER COMPARISON LABEL 11 OPERA TIOH 11 10 16 OPERAND MOVE EMPLOYEE NUMBER TO SAVE 235 Moves EMPN (employee number) to a storage area called SAVE. 3-11 PACK SALE FOR SUBSEQUENT ADDITION LABEL OPERAND ti OPERATION 11 10 16 PACK SALE TO A WORK AREA 240 ADD SALE (PACKED) TO TOTAL SALE 245 Packs the six bytes of information located at SALE into the four bytes reserved for an area labelled PAKS. ACCUMULATE TOTALS FOR EACH SALESMAN LABEL 11 OPERA TIOH 11 10 16 OPERAND Adds the packed information found in PAKS (four bytes) to the six bytes · located at TSAL. READ ANOTHER CARD 250 LABEL 11 OPERA TIOM 11 10 16 OPERAND READ A CARD Reads a card and places data into. area defined as CARD. COMPARE EMPLOYEE NUMBERS LABEL 11 OPERA TIOH 11 10 16 OPERAND 255 Compares information stored in EMPN with the information stored in SAVE. BRANCH BACK TO MIN IF SAME EMPLOYEE; ADVANCE TO PRINT TOTAL OTHERWISE LABEL 11 OPERA TIOH 11 10 16 OPERAND Branches if equal to the subroutine labelled MIN. If not equal, processes next instruction. 3-12 260 ACCUMULATE TOTAL SALES LABEL 11 OPERATION 11 10 16 OPERAND ADD TOTAL SALES TO FINAL TOTAL 265 Adds (packed) information stored in TSAL to information stored in FTOT and places result back in FTOT. STRUCTURE PRINTER TOTAL SALES) WORK AREA FOR TSAL (SALESMAN'S l MOVE MASK, THEN TOTAL SALES TO PRINTER WORK AREA Moves the mask located at MSK1 to PRWK. 270 275 I PREPARE TOTAL SALES FOR ONE EMPLOYEE FOR PRINTING Unpacks information found in location labelled TSAL and places it in PRWK + 80 (16 bytes).. PRINT LABEL 11 OPERA TIOH 11 10 16 280 OPERAND PRINT All data placed in printer work area (PRWK) will be sent to PANT and printed. ADD A ONE TO LINE COUNTER 285 ADD 1 TO COUNTER Adds (packed) information found in location labelled ONE to information found at location labelled CNTR. 3-13 COMPARE FOR 25 LINES (END OF PAGE) LABEL OPERAND 11 OPERATION 11 10 . 16 Compares (packed) data located in area labelled FIVE with the data labelled CNTR. BRANCH TO FILE OVERFLOW ROUTINE IF EQUAL (SKIP TO NEXT PAGE); IF NOT EQUAL, FALL THAU LABEL 1s OPERATION 1s 10 16 OPERAND If equal (25 lines have been printed), branches to a subroutine labelled FOF. CLEAR OUT OLD DATA, PREPARE NEW DATA FOR PRINTING CLEAR TOTAL SALES TO ZEROS 300 305 Moves characters found in a location labelled TZER to a location labelled TSAL (six positions) then branches unconditionally to subroutine labelled MAN. Generally, at this point a routine testing for a us and the step was therefore omitted. /* card would be written. However, the System's IOCS does this for ADD LAST SALESMAN'S TOTAL TO FINAL TOTAL Adds (packed) Total Sales to Final Total and places the result back in FTOT. 3-14 310 ADD TOTAL SALE TO FINAL SALE SET FORMAT OF PRINTER WORK AREA MOVE MASK, THEN TOTAL SALE TO PRINTER WORK AREA 315 320 Move MSK1 to printer work area (PRWK + 80, 16 positions). PLACE TOTAL SALE FOR LAST SALESMAN IN PRWK AREA LABEL 11 OPERATION 11 10 16 OPERAND Unpacks TSAL and places its contents in PRWK + 80. PRINT TOTAL SALES LINE 325 LABEL 11 OPERATION 11 16 10 OPERAND PRINT All data placed in PRWK is sent to PRNT and printed. CLEAR PRINTER WORK AREA WITH SPACES I CLEAR PRINTER WORK AREA TO ZEROS 330 335 T Moves a space to the first position of Printer Work Area (PRWK). Moves a space from first position of Printer Work area to the next 131 consecutive locations. 3-15 FORMAT PRINTER WORK AREA AND PLACE FINAL TOTAL IN PRWK 1 MOVE IN MASK, THEN FINAL TOTAL TO PRINTER WORK AREA 340 345 T Moves information from MSK2 to PRWK + 75. Unpacks FTOT and places information in PRWK + 75 (21 positions). Moves in final total to occupy positions specified by the mask. MOVE HEADER FOR FINAL TOTAL INTO PRINTER WORK AREA LABEL • OPERA TIOH • 10 . OPERAND 16 Moves HDR4 (final total) into PRWK + 56. l MOVE IN "FINAL TOTAL" (HEADER) TO PRINTER WORK AREA 350 I ADVANCE SINGLE LINE LABEL • OPERA TIOH • 10 OPERAND 16 SPACE 1 355 PRINT 360 Causes the printer to advance one line before printing next line. PRINT LABEL • OPERAND OPERA TIOH • 10 16 All data placed in PRWK sent to the printer. 3-16 CLEAR PRINTER WORK AREA WITH SPACES 1 LABEL OPERAND 11 OPERA TIOH 11 10 16 CLEAR PRINTER WORK AREA 365 370 I Moves a blank into first position of the printer work area. Moves blanks into the next 131 positions. MOVE HEADER TO PRINTER WORK AREA I MOVE .IN "END OF FISCAL VEAR" (HEADER) Moves HDR5 (End of report for fiscal year} into PRWK + 51 (29 positions}. 375 I PRINT LABEL 11 OPERA TIOH 11 10 OPERAND PRINT 16 380 All data placed in PRWK sent to PRNT and printed. DEALLOCATE READER AND PRINTER LABEL OPERAND 11 OPERA TIOH 11 10 16 CLOSE READ . CLOSE PRINT Informs the system that it no longer needs reader and printer, closes READ and PANT file and displays 1 FFF on the console to let operator know that program has terminated normally. END 385 390 565 Review the coding forms and flowchart found on the next few pages then complete the Diagnostic Exercise found on the page following the flowchart. 3-17 UN I VAC. @l•l•l•J ASSEMBLER CODINGS FORM SERIES MA_C_R_o_c_AL __ L_c_A_RD __ s _ _ _ _ _ _ _ __ PROGRAM1 _ _ 11 OPERATION 'II LABEL I ...1...1...1-11.J-1 I I ...LJ l..l .l ..l..l..l..l..1..l..l l l I _J l_ __l __l rt:'.Jm.T IDT,F1CR J ..l ...1 l..!.l ..l l .l..l. J. 1..L.J. ..L mFP..J3 t OPERAND 'II 16 10 ~J..J.J PROGRAMMER _ _ _ _ _ _ _ _ _ DATE _ _ _ _ _ _ PAGE_ OF _ _ PAGES IEOF. n.~Rn.T. •I 1 _L _1-1 ..1.l l I ., I01Ali=iRSUF ,, ..1...1 ...1 ...1 COMMENTS 1...1...1...1...1l...1...1...1...1l...1~...1...13...1...1...1...1l...1...1...1...1J I I l ..L ..L I I I j ..Ll..L..L..L..Ll.J...L.l..l.lt1..L_1_l1..L..L ax~~=il_~2_w__l_..L..L..L.l.1..L.l...L..Ll.J..l...L.l.lLL_lL1..L_L I I I I ~~0=2..Ll..L..L..LJ..L..L..L..Ll..!..!...1....1.l..!...1....1..J.l_l_L_l_ll_l__J__l__L_l_J__1_J_ ...1....1._l_l_l...1..l. l l ...1. ..1. _L _l_ _L _l _t_ ..1 J -1 _l _L...1..L-11-1.l ...J....L...J...l.1..l....L I _J_ __l l...L.J. ...L J_ _l_l...11 I ~D..l ...J...! l l __l l _l_ _J_ IF.Ol!._T19613..L .l I I I JI I I I I I _L..1._t_-11111-1111 _l_l_l_1_1__ll..L-1...1..!l I I _l_ I I ..il..i _l_ ...1 _j_ ..1...L...1...1._J_1..1. l ...1 l I I I IJ I I __l__l...1..ll...1..1 J ..l ..l ..l ll..L.JJ_J__l__l__ll..1...1-1....11...1..l..l__ll...1..1..l..lj __l__l_l__ll..1..1 l ..l ..l ..1 I I I I I IJ.J_ll__l...1_1...11...1...1..l__lj...l..l..l...11IIIII1--1 I I I I IJ_L...1l...1...1..J...J.l...1...1...1__lJ...1..l..l...1j __l 1...1 ...1 J ..l __l ..l __l__l__l..1....1..L..l l.l...L ..L ...1 __l _l_ _j_ __l __l _L J 1..1. ..l ..l..l l..l J. l..! l ..L ..i _L I I I I J J J J I L _l _J _l J_ ..l -11...!__l__l__ll.J...1 I I I I I I 11 l_l_l..Ll..L...1..L_L_l___l..L..L..Ll-1..L...1...1.11 I I I I J. ..L I I I l I I I I I l.J..l.I I 1I1...1 JI I 1--1 I 11 I I I l I I I _I I l l.i. JI l .l J. 1 ...l I t I J I _L __t_l__l__l_l_t_J_l....1....1_1_1 I I I I I I I I l I ·1..1..l. _L I LL_l...11..L_l_i_t__l_L_t__l_..LJ l _l _l _l_ __t l_ _1_ _l_l_l___t_t_ l_j _j _l_l ti ~ I I j Ix _1_1_1_1__1_1_J _1__1 J_t l...1..!..l..ll--1--1..l._l_j I L_j I I ii I .J. ...1.·J. ...1. ..L ..L .i. l _j _l _j ..L...1.....1.l..L..L..L..LlJ I I .l. __l _l l _L I j I I I I I I I I I I I I l..!..1 ..l __l__l__l J...l__l j_l_..1 ..l I I ..l _J_ _l l _l ..1...l..l ..l 1 _l_l_l__lj_...1...1 l..!...l ..l ~__l__l_ll...L...L_L__ll_J__l_J__J_l...L...L...L...Ll-1...t..l..ll1...L...L...Ll...1...L...L..ll...L...t...l...tl...t..J...l..ll..l..l JI I 1-1.tl..L_l__l__ll..L...1...1..ll_J__J_.J._Llt I I I l_j , I I 1L_l__l_l1__l..1._l...lj..J...l...1...1J__l_l..l..l.j I I I I I I I I 1 1-1 L _I I I LIL J_i_l_l_..!l..1-1..1..!l I I I I l I _l _l L _L I I I l _J_ I 1 1J1...1 ..!l__l_l_l__j_l_J___l_L_J_l I I ! I I I _l __l I l l ..l ..l ..1. _l ...1 _l j I I I _I I I I I _I I I J I ...11...L...1..J....LI [ l _l l _J_ _l_ 1 _L ..l. _l _l _l ..L...Ll _l _l__l _l ..! I I I I I ! I I I I I I '· I _J__l_J ......L.L.L.1_L...L..i I I I I I I I I I I! I l~LJ I I I 11 1 _l_J_ _l -1....Ll_l_l_l_L I _i_l_ ...l ...l ...1. ..1 ..L .l ...l ..L j __l__l__t_J_J_l_..1..!..1l..1...1_l___ll.J..!..l..l..1.l..l..l...1J__l__t__l__ll..1..t..1...1l..!...1..l..!l..1..1_l_..lJ.l..1...1..ll_l__1_1_1i Ill ...l _l I I _J__l__J_ _l _l l..L.J._l__j_ _l ..L -11..L..J...L_Ll_l__l__l_J_l.J.-1..l.....l.i __l..l._l_..11..1....l I I l I ..L ...l J_ ..L ..l_!_..!_Ll_l_..!..1..ll__L..l..J...lJ..L..l..!..1.l..1...!..l..lJ-1LJ..-11-1..LJ.._!_l..1....1..1...l.l~..!J...lJ..1..l..l..lJ..1..1-1..1l I I I I _I ..L ..L l.i..l...L..L 1l_1_L__l_l_l I l ...L_Ll ..L ..L..L..L I l l LL_L_t__l__t__t__l_J_l_l_l..l....1.11 I I I I ..1 _J_ __l _L UDl-15 .. B I I l..1.J..!.!l-1ii.__l_JK I _l___l _l___t _J_ _l ~ 1LJ...1...1_1J__t_l_l_ll...1...1..!...1l I I I I I I _L _L __l __l _l___t ...1 I I I ...1...11 ..l -1...l -1. __t__t_l__t ...L I l_L_L...J.J_...l__l..1...11..l..l..1..11 I I I I I I I J_l_L..LJ_..L..L..L..LJ_ I I I I I l....L Ll_L-1...1-1...11...l__l...1..ll__l_j__l_lj ~JL_ll_l_J__L_l_J__l..l...L..!l_L_J___l_Ll..1..l...l..!111-LLl_l_L_L I _t _J_ ..L be I I I l_1_...1. ..L l . . ! i .J. I..! l I _J__j_l l..!.J. ...l _l I I I ..L_l_L_t_l__1__i _l___l..!..! l..1..! l I _J_.J.l..1.11_1J_l..1...!..1l.J...1..J..ll_l_l__l__ll _J_ __l_J___l l..1..1 I ..Ll 1_1_...1...1...Ll..L-1..L-11 __l_l_..L..L..l_l___l..L..Ll..L.J...L.J...1.J....1....1...Ll..l...L...1....1...l_L_l__l_L..1_1_..L_l_..L..1..L..L_L..Ll I _l _l .J.1..J...1..1..l.l...1..1..l..ll..t...1...J....11-1.J...1...Ll-1...l...1.Jl...1-1..l..!l..!..1...!.llt 1 1 t l J I ...1 l _l I l-1LL1__l_l__l_j_1_l_L_l...Ll...1 I _l_J_ _l_!__t __l _J_ ..1 __l __l __l J_ ..lJJ._l_l...ll.!..1...1..ll_-1..l-1J.l...1...1...1_Ll..L..1...l_lj...1....l....l....1.l.J...1...1....l.llLLLl J__ t--11..L_l l-1...1...l-1...L...L...L...11-1...L...L...11...1...1...1...Ll.1..!..1..11 I I ..1 ..l...J...l ..l. l_1__t__1_1__l _l ..1.l IY I~ I lJ...L_Lil...l..L.J....ll_l...L..L..Ll_L..L...L...LJJ...L..L..Ll..L..L..LJ.~I J...l .l IJ='~__..1-"_if_L _L _L ..L _L ..L..L_Ll J h..---· - ......... l l..L...1..L ..L _1 1...1..! l..!..! _I _L _! ..l _L L l _t__l_ ..l ..l ..l ..l l j IOT1T1L.=iYA_SJ..,_L I 1 I l_ J.. _J_ J.. ..L..L..L-11..L-1 --1 I I I I I I I Llllll...1-1...1l..1...1..1...1l..1..1...1...1l...1...1...1...1l .............. T~S M lflti:::i· ~ J. _l_ __l _i__l_ _l_ J. J.. ..L ..1 __l ..L J.. J.. ..1 I I I I _J_ __l ..L _J_ 1..L __l ...L ..L _l i...1..l...l..J.J._l_l_l_ll_l..L...1--11_1_1_1..l.1 LT~TBROt:~:; r~~\ti5 Vr::/~~~u N IVAC . lf w ~-:mo.:- "" PROGRAM I 0 ASSEMBLER CODING FDRM ":l-'.e.:- "' LABEL 10 UDI -1548 2sE~IES USER PROGRAM 11 OPERA TIOM 11 PROGRAMMER _ _ _ _ _ _ _ DATE _ _ _ _ _ PAGE_ OF_PAGES OPERAND 16 .@l•l•l•J COMM EM TS 72 80 UNIVAC ASSEMBLER CODING FORM @l•l•l•J SERIES PROGRAM LABEL w I l\J _. UDl ·1548 USER PROGRAM 'b OPERATION 'b 10 16 PROGRAMMER _ _ _ _ _ _ _ DATE _ _ _ _ _ PAGE__L OF__!PAGES OPERAND COMMENTS 72 80 UNIVAC u' NI'V,...., //\,c ;;~:,;}1'• ~·::.~'!'~'"(,I' '"'1t":; .c:,e:cT:"",''~"'1'"'"7'~''.'.l\ f .)l ASSEMBLER CODING FORM @l•l•l•J SERIES PROGRAM LABEL UDl-1548 USER PROGRAM !5 OPERATION 11 10 16 PROGRAMMER _ _ _ _ _ _ _ _ DATE _ _ _ _ _ _ PAGE-4- OF-4-PAGES OPERAND 11 COMMENTS 72 80 llOVE HORS TO PRINTER WORK AREA SPACE 1 PRINT 185 190 195 200 PRINT ADD TOTAL SALES TO FINAL TOTAL CLEAR PRINTER WORK AREA 265 360 365 370 205 2 3 Figure 3-3 Marketing Sales Report Flowchart 3-23/24 DIAGNOSTIC EXERCISE WORKSESSION - MARKETING SALES REPORT PROBLEM Circle answers below, then check with the correct answer on the next page. The following questions refer to the flowchart and the following constant values are assumed: PAGE = /d COUNTER 1. When is the counter incremented? a. b. c. d. 2. = f1 After each line of data is printed After each page of data is printed Before the first line of data is printed Before each heading line is printed 5. a. b. c. 6. When is the printer work area cleared? (Select two correct responses.) a. b. c. d. Before Before Before Before each line of data is moved into PRWK each line of data is printed each heading line is printed each heading line is moved into PRWK When does page change occur? a. b. c. d. 4. After After After After 5 lines of printing 25 lines of printing 65 lines of printing 26 lines of printing After /* is READ After the last card is READ After a blank card is READ What is the value of counter after 30 lines of data has been printed? a. 2 b. 5 c. d. 29 e. 7. 3. When is the EOJ routine executed? 0 31 Which block in the flowchart represents the function that starts the header subroutine? a. b. c. d. Block Block Block Block 150 165 185 215 When is the FOF routine bypassed? a. b. FIVE(25) When CNTR When CNTR :/= FIVE(25) 3-25 DIAGNOSTIC EXERCISE ANSWERS 1. 2. 3. 4. 5. 6. 7. a a,d b b a b a 3-26 OPERATING PROCEDURES INTRODUCTION Now that you have completed the talk-thru and the diagnostic exercise for the Marketing Sales Report Program, the operating procedures presented in this book will simulate the processing of that Marketing Sales Report program. The Univac-supplied programs used by the programmer at assembly time will be described. How to build an input "job stream" will be illustrated and the operating procedure required to obtain the desired output from the computer will be simulated. To present the material in its simplest form, this section will include only the basic operating procedures. The back of this section contains a printout listing the complete coding for the Marketing Sales Report Program, Linker Map and the output from a sample production run. When the program coding is completed, the information on the coding forms is punched on cards thereby producing two decks of cards: the DTF statement cards and the main source program cards. The DTF cards are processed by a Preassembly Macro Pass program provided by Univac. The output of the Preassembly Macro Pass program is combined with the user Source Code program and processed by the Assembler Program. The output of the Assembler program is processed by the Linker Program. Preassembly Macro Pass Program The Preassembly Macro Pass Program generates the source code for the DTF statements which define the input/output devices the user accesses at program run time. The output of the Preassembly Macro Pass, is combined with the user's source code program and assembled. Assembler Program The Two-Pass Assembler converts source code programs (user programs) to machine code (object programs). The assembler produces an object card deck and a printout that lists the source code and the object code generated by the source deck, The output of the assembler is the input to the Linker Program. Linker Program The purpose of the Linker Program is to combine the object programs (card reader, printer, user program) into a single object program. The output is an executable object program. 3-27 PREASSEMBLY MACRO PASS GENERATOR PROGRAM DATA PREPARATION The Preassembly Macro Pass program generates the IOCS source code for the peripheral devices accessed by the user program. The input flow is set up as follows: COL SYSTEM WILL HALT AND DISPLAY 1 FFF. DTF'S USING STATEMENTS PROGRAM OCCUPIES 4K. COL I SENTINEL CARD (* /) SYSTEM HALTS, DISPLAYS 01 FFF; DEP.RESS START UNIVAC SUPPLIED PERIPHERAL SUPPORT LIBRARIES COL 10 USED WITH SK OR 12K MEMORY SYSTEM* UNIVAC SUPPLIED SOFTWARE PROGRAM Figure 3-4 * Preassembly Input Stream Contains the decimal number equal to the highest available memory .address beginning in column 16 (S191 for SK - 12,2S7 for 12 K system). If "CTL" is omitted 16,3S3 (16K) will be assumed. 3-2S PREASSEMBLY MACRO PASS GENERATOR PROGRAM OPERATING PROCEDURES Unfold the control panel illustration on page 3-39. The buttons on the control panel used in operating the Preassembly Macro Pass Generator Program are numbered on the control panel illustration. As the. operating procedure is outlined, simulate the operation by locating the appropriate buttons on the control panel illustration. 1. Load cards (see figure 3-4) in card reader, row 9 edge leading, face down. 2. On the control panel, depress PROC CLEAR button (8). 3. Depress CHANNEL CLEAR button (7). 4. Depress CLEAR PRINTER button (1 ). 5. Depress CLEAR READER button (2). 6. Depress FEED READER button (3). 7. Depress LOAD button ON (4). 8. Depress RUN/START button (6). 9. Depress LOAD button OFF (4). 10. Depress RUN/START button (8). 11. After LIBRARY is read, machine will HALT and display X' 01 FF' on NEXT INSTRUCTION/HALT INDICATOR LAMPS (a lighted lamp indicates a binary 1.) 12. Depress RUN/START button (7) on control panel. 13. Final HALT display is X'1 FFF'. The Punch output stacker should now contain DTF source code cards ready for assembly. 3...;.29 TWO-PASS CARD ASSEMBLY DATA PREPARATION Remove the END card from the DTF source code decks. Place user program START card in front of the deck. Place the user source code deck behind the DTF source code deck, make sure the last card is an END card. The "control stream" is constructed as follows: SOURCE DECK (USER PROGRAM) MAKES 1WO PASSES THROUGH COMPUTER. ASSEMBLY PASS 1 AND PASS 2 ARE STANDARD SOFTWARE DECKS. Figure 3-5 Two-Pass Card Assembly Control Stream In the above example, the DTF source code and user program are assembled together. The user may choose to assemble the DTF source code and the user program separately. 3-30 CARD ASSEMBLER OPERATING PROCEDURE Unfold the control panal illustration on page 3-39. The buttons on on the control panel used in operating the assembly are numbered on the illustration. As the operating procedure is outlined, simulate the operation by locating the appropriate buttons on the control panel illustration. 1. Load cards (see figure 3-5) in the card reader row 9 edge leading, face down. 2. On the control panel, depress PROC CLEAR button (8). 3. Depress CHANNEL CLEAR button (7). 4. Depress CLEAR PRINTER button (1). 5. Depress CLEAR READER button (2). 6. Depress FEED CARD button (3). 7. Depress LOAD button ON (4). 8. Depress RUN/START button (6). 9. Depress LOAD button OFF (4). 10. Depress RUN/START button (6). 11. After the first few cards of Assembler Pass 2 have been read stop the processor by depressing INST button (5) on control panel. 12. Take USING, SOURCE and END CARDS from reader output stacker and place them on top of remaining cards in reader input hopper; follow by 2 blank cards. 13. Depress INST button (5) on control panel. 14. Depress START. 15. Assembler Listing will be printed. 16. Punch output stacker will contain Object code cards for the Linker pass. 3-31 TWO-PASS LINKER PROGRAM DATA PREPARATION The Linker combines the output of the DTF and user program assembly. The input "control stream" for the Linker is as follows: TBRD (STANDARD HOLLERITHTO-EBDIC TABLES) STANDARD SOFTWARE DECK RELOCATABLE OBJECT CODING RELOCATABLE OBJECT CODE, PREASSEMBLY MACRO PASS SEE DESCRIPTION THAT FOLLOWS CARDS PHASE CARD SEE DESCRIPTION THAT FOLLOWS SEE DESCRIPTION THAT FOLLOWS STANDARD SOFTWARE DECK Figure 3-6 3-32 Two-Pass Linker Control Stream CONTROL CARD Format: n n p q 10 16 CTL n, p, q (one-pass) 2 (two-pass). If n is blank, 1 decimal number of the largest bytes will be assumed. decimal number of the highest 16,383 bytes will be assumed. Example: pass will be assumed. address available on computer doing the linking. If p remains blank, 16,383 memory address available for use in program execution. If q remains blank, Commas must be punched as specified. 10 16 CTL 2,8191,8191 The following illustrates a control card prepared for a two-pass run on a 16K memory system. I 1119DIDODllOOltDIDOODOIDOD000000080000000DOOOODroooooooooooooa110011111111111111 121c11111MnuoMa•u••nnnnNaannn•~nn~n•»•~"quu~uququM~N"~~~"MH•uaaMDAPA••nnnM•~n••• 11111111111111111111111111111111111111111111111111111111111111111111111111111111 22222222222222212222222222222222222222222222222222222222222222222222222222222222 333333333lll3333l33l3ll33l3l3333333333333333333333333333333333333333333333333333 44444444444444444444444444444444444444444444444444444444444444444444444444444444 . 5555555555555555$555555555555555555555555555555555555555555551555555555555555555 666616f666666&6&66l666&6l6&66666&•&&66666666666666666666&&6&&6161&66111111111111 1111111111J711111111111111111117111111177111111111111111111111111171111111111111 1111181818881818l81Bl8l818IBB8188888888888BBB88888818818111118111111111111111111 99999999999999999999999999999999999999999999999999999999999999999999999111119111 12~451JttMnUUM~~u•gn~nn~~~D3n~~n~~~~D·"~qUQ~Uququ~~~"~~~~~~-~QUM8MAAAMnnnMn~n•ft• DD--1 Figure 3-7 Control Card Format 3-33 Phase Card The phase card indicates the name of the object program, so that it will be punched into each card of the final object program deck. Phase name must be the same as operand in the START card of the user program. Format: The following illustrates a phase card prepared for a program named PGM. PHASE II I I P~Mt40•6•A I ·1 I I oooaoooooooo10000010100100000000000000000000000000000000000000000000000101110011 1214SIJll~n&aw~•»g~M~n"N~nvnH~~""~~-D~~~~UU~UUUQq~M~"~~s~"g•RUaM•"PNH»nnn•~Nn••• 1111111111111111111111111111111111111111111111111111111111111111111111111111111' 22222222222212222222222222222222222222222222222222222222222222222222222222222222 333333333333333333l3333l333333333333333333333333333333333333333333333333333333SJ 44l4444A444444444l4l444444444t444444444444444444444444444444444.4444444444444(4t 55555555555551555555555555555555555555555555555555555555555555555555555555555555 &6666666666666666666&6l666666666666666666666666666666666&6666&&61l666l116&111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111 1•11a11aaa11a1aaaa1aaa11aaaaaaeaa1ae1s1aaa11aa1111aaa1aa111J1111111a111111111111 99999.9999999999999999l999999999999999999999999999999999!9999999999999919tl99911t 121•s11at~nu~wa•»u~M~ttnN~~vnn•nnn~~»n»»q~un~u•uqq~M~"~~s·1~~-~QQM~•n••»Rnn•••n••• DO--• Figure 3-8 3-34 Phase Card Format Standard Loader Equate Card Statements L?CH ·EQU L?AM X'40' Fill character to be inserted in the area cleared by the card loader. EOU 4 Permits alteration of memory specified by the memory address switches. L?AR EOU 128 Start of the read area for the card loader. L?PG EQU 208 Start of the object code for the card loader. L?LO EOU 128 First memory location to be cleared by the card loader. L?HI EOU 16383 Last memory location to be cleared by the card loader. l ?H l ECilll II I v; ... I ~?LO li.383 1Z8 fQli fQIJ 208 EGU 12e f (llJ Q. I v;?i• I ~?iM I V'i• x ... g. E C,,1 · I I I olonnoooooolooalootoooonooooooooooooooooooooooooooooooooonnooocooooor.coooooooooa I i 3 c 5 6 ! I 9 10 i1 11 13 1' 1:; 1& 11 11 19 20 ZI 2213 24 25 26 '[7 ,; ~9 Ju j• 3/ 33 )4 )~ 3& J1 J8 ~9 40 (I 4! 4H4 45 46 ~1 ·~ .:9 ~e 51 ~1 ~·~ ~ 1 ~~ ~.; ~: ~J:; 5HO r.1 t;Z e-, :;.i E~ t-i .: l 69 63 ]I) 1: :~ 1J !.i 1:i :o 1i ~F , .. ao 111111111111111111111111111i1111111111111111111111111111111111111111111111111111 22222222222222222222222222222222222222?22222222222222222222222222222222222222222 I 313 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 J 3 3 3 3 3 .13 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 j J J J 3 3 3 31333 3 3 3 3 3] 3 3 3 3 3 3 3 3 3 3 J 44~4~44444(144444144444444444444444444444444444444444444444414444444444444444444 55555555~l555555l55l55555555555555555555555555555555555555555555555~555555555555 666666666666666666666666666666566666666666666656666666556666&6666C6665£5G6G6S666 1t11 77 77 7 71 7 7 7 7 I 7 7 7 7 7 77 77 7 77 7 7 7 7 7 77 7 7 1 7 77 7 7 77 7 7 77 7 1 77 7 7 1 7 77 7 7 7 7 7 7 7 7 77 7 i 7 i 7 7 77 7 7 7 st sls 88 s s st s s s 88 I 8aI s s n as aa s aa aa aa e a& s s a a s s 811 s s a s s s s s es s es s s s s B s s s s s aa E aa s s s s s a 9 9 9 s ~ ~ 9 9 9 9 9 9 s 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ~ 9 9 9 9 9 q ~ 9 9 9 9 9 9 9 9 99 • 1 " ; ! ? ,, 11 I) "' 1E 11 1a 19 11 :? H 30 1: Ji :\ J; 41 j? 1: ,..; c; .;6 ,, 5C 5: 61 o.: i;H• Tl ~ ~ 1 :1 I~ ~ ~]:.a '.'~ 2~ 11 "i )~ 00-5:)81 ~-' )6 Figure 3-9 la~'": .&Q .aH~ ',J ~· ~ :~ ~5 J ~'JI q ~~ &; ~-:~~ta~ J ;j /i i] 1i ,'a ;.. ·~ ., iH~ Equate Cards 3-35 LINKER OPERATING PROCEDURES Unfold control panel illustration on page 3-39. All the buttons on the control panel used in the Linker run are numbered on the illustration. As the operating procedure is outlined, simulate the operation by locating the appropriate buttons on the control panel. 1. Load cards (see figure 3-6 ) in the card reader, row 9 edge leading, face down. 2. On the control panel, depress PROC CLEAR button (8). 3. Depress CHANNEL CLEAR button (7). 4. Depress CLEAR PRINTER button (1 ). 5. Depress CLEAR READER button (2). 6. Depress FEED CARD button (3). 7. Depress LOAD button on (4). 8. Depress RUN/START button (6). 9. Depress LOAD button OFF (4). 10. Depress RUN/START button (6). 11. After first pass, remove Linker object deck from file and place remaining cards in input hopper a second time (last pass). 12. Depress FEED READER button (3) on control panel. 13. Depress RUN/START (6) on control panel. The Linker listing will be printed during the last pass. 3-36. PRODUCTION RUN OPERATING PROCEDURES Figure 3-10 Production Run Card Input 1. Place above cards in Reader, row 9 edge leading, face down. 2. On the control panel, depress PROC CLEAR button (8). 3. Depress CHANNEL CLEAR button (7). 4. Depress CLEAR PRINTER button (1). 5. Depress CLEAR READER button (2). 6. Depress FEED READER button (3). 7. Depress LOAD button (4) ON. 8. Depress RUN/START button (6). 9. Depress LOAD button (4) OFF. 10. Depress RUN/START button (6). Final display is X'1 FFF'. The output is printed data. 3-37/38 PUNCH P 0 WE R GD .. 0 N OFF-LN CLEAR OFF DD 1/0 - A l/O .. 8 1/0 - C P - A PRINTER ) READER PUNCH PROC OP ABN DEV M[M CHAN R AID ADD MEM NEXT STOP INSTRUCTION/ HALT D ON ONLINE OFF SPLAY DISPLAY SELECT REQ 00000 0 START OFF CONT 0000 0000 0000 0000 0000 OP RUN ONLINE ONLINE FEED OFFLINE INST CYCLE LOAD ON ON ON OFF OFF OFF PROC c D DISPLAY ALTER D A T A E N T R y DJ::J I I I I DO:C_ITIJ:DIIJ: I TEST VO MEMORY ADDRESS 11'f'Tl1i'f'TT'l1i'f'TT'l11'f'TT'l1 ol_J_J_Jo~o~o~o 0 WHITE INDICATOR The circled numbers identify the buttons used by the operator. Figure 3-11 Control Panel 3-39/40 ·-------- ---·---·----·--- ----------------------·------------------------------------------------'200 CARO ASSEMBLY PRINTED ISSEHBLY CODES: c· COVER E~ROR. NO USING COVERING RELOC U ABLE OPERAND ADDRESS D DOUBLY DEflNEO LABEL OR REFERENCE TO DOUBLY DEFINED LABEL E EXPRESSION TOO LARGE OR IMPROPER SYNTAX H HALF WORD BOUNDARY ERROR ON RX OR AI OPERAND I I~STRUCTION ERROR ----------------·-L LOCATION COUNTER TOO LARGE -- - ---------------------------------------------0 ORG ERROR• 2NO DEFINITION OF A LABEL R RELOCATABLE TERMS IN THE ~XPRESSION ARE IHPROPER OR TOO HAhY S SEQUENCE BREAK IN COLUM') 76 TO 80 T TRUNCATION or OVERSIZE TERM )> U UNDEFINED LABEL REFERENCED IN THIS LINE X CONTINUATION•INONBLANK COL 72 ON NONCOHMENT CARO)NOT PERHITTED 0 001 START 0 DOOZ USING D CO .. ------------ m -------- I -< I t l .. ·------· ~ -------------------- 2 G') DTFCR EOFA =EOJt • D COS . ---0 ()[I'-------------------------- - -- l 0A1 :R BU F' ------------------------------•--------------- ·--- · ITBL:TBHDt • • --· OC:07 0 COB - MOOE :TRANS ·- _______ ,__ --------. --------------- -- --------- ... 00 i ____ _. _________ _ RDR IOCS C CARD) ---OD z____.___ ____ ----- ----- oco' --E-NTRY RE AD 0 ClO .. ---EXTRN EOJ 0 011 --- --EXTR N - RBUF .... - --· ._,_ _____ . - ---- .. ------ ---------- -----------· ·- 00" -- --•- -- - . -----EX TR N-- 18RO · - - - - - - - 0 0 5 -'-----·- - - OC12- --------- . 0013 0000 lf7FOOO 025 . • 70l21•A?ST · -·· ---·-- ---St------2 tO C• 1 '>>--------------·- · ---STH .. 022··. -··- ·- -··----TM---------A?DS•5•8 - · ·----·- · A?OS HSG -·. ---------------020·------- . - BC· CLC • 018 - • - S C - - - l •A ?WT·--·--·------· ··BC .._ __ _ ····-- ····---·--------··016 ...•... A?WT- TIO·---··- A?OS•S• t TH • -026----.. ·---·--·-·--------··-- ·----· 02 7 - • 24832 ········-··-----·--···--· 028 . • - -- l5tA?C0•2 -----02 CJ) CJ) m :5: OJ r -< r ~ z G) 0 037 006A 48F OOOA & ---LH . 030 • n0 OC38 OOGE lf7F00038 -·BC --·-- ··--- ---·- .. -- 031 * ;:! -0 Q]q ... ------·· 007 2 92SOC045 · -·- ---·-··---------·----·------A?XF-11V 1---t>CJ •80 - · - - - - - - - - - - 0 C40 007G 0201004600A4 0 041. 007C A4010012 ·-KVC: ·- ·--XJOF-- ... 033 70 C 21 • A?CO 18•0•1 ---·-----·-· ·------ ------· - 03 4 . 0084 AS010080 0 044 0088 A 10800006 lOGlf 000 - TIO A?O[ HSG A'?OI•S•l ---------·----036 ...• 24832 ·······--·--·--·---· .... Q37 ..•. --------------018---*----- ·--·D C45------0090· 47F 0007C··--·--····-------------- --··-·-----8-C--1.-S•A?XF• 10 OC4& 0094 lfSF00038 A?Cl-8AL 0 C47- 0098 47FOEOOO . ·-BC. --·O C4~ ----009C ·· 4 SF 0 007 2------· - - - D 0149 DOAC 47FOEOOO 0050 OOAr+ 030C l StA ?WT A?CO DC . ···-······- - -·-·---·. ··-·--·-·-·· 03 9 - .• 15.ac.1r+> ----------4 ?O P--3-A L - - 1 5 •A? Xf .... ac. * *. 035--•---- -0 C42 ··----- 0080- 4 780FOOO - -----· -·-----------·-··· -·----·--··----S.C-----8•0C .. l SJ0 04 3 - - - - - - - - - - - · - - - - - - - Ol-2---*-·--·-· ---· · 1s.oc.14a Y lRBUFJ -···----·-----·-------·-- 04 a - -• ----------------------04-l--*---·-·· . ···- . -··- ·····--· ... ·-· ·-··--·----·--. ---------------·------·- ...04 2. ..•.. - -- -··----- -- ·-·-·-·- ·-·--·- . 04 3. .... • . z -· 0 051-·----- O t l A G - - - - - - - - - - - · - ----- 0 C52- OOA6 0358 ------·--·-·-·· ------·-··-·-··--·· 0 CSl OOAA-·· - ------·------ -- .b. --· 041l • 045 • 046 . • c •4• ···--· --------···- DC -------------------------041--- • css • CNTL:YES• 0 057 • PRAO :2, 0 CSS PROV ::f Of• 0 059 • • 060 • PRINT IOCS C CARO» ----··-·- ------ -----001 • • • 0 C!6 l ENTRY PRNT 002 0 C62 ENTRY B?C;;H . 003 0 C&3 [ x TR N For 004 • G; BC l S•!3?0P 005 BC lStB'?Cl oar. • • s: co 0 C&4 0 0 AC·- ct 7F 0013 A 0 065 OOBO 47F00154· 0 Cl&G OOSrt 4 7F 00084--- - 0 067 0088 47FOOOFE PRNT ··- - --· -·--··--·--·------ -··- -···· --·-- ····-··--· • 0 CG8 w • ORG 0 C56 (I w - CL2 A'?S T DC 0 054--·--00AA- F-40 OS BC 007 • BC 008 • 00~ -- - . ---··---··-------··· 010 • • 011 • 012 • PUT 0 C69 DOBC 4 SF 00 l B 8 -------------------------------· BAL 0 070 ooco LH a 011 OOC4 02830080FOOO 0072 OOC:A· 9200 OlE 1 ----- - 0 07 3 OCCE 4320200C 8 0 074- 0002 020001CFO lE 4 -- 0 075 0008 0200005001£ 1 · 0076 OOOE 4 SF 00 lC 8------ - - ---· -- - --- ------· 0 077 OOE2 --47FOE002 -·-----·------------------------ ------ .. 0 076 DOE 6 · 92FOOOE 3------ ------··· ----·----------·---- HV I B?D•l •21f0 0 079 OOEA A AE001E2------------------ ·-----· ---- AH 14tB?H 0 080 OOEE- · 4 7F 0 0 lE E ------- ·----- ·- ------- --- · SC 15.FOF BAL 1St8?V£ 0 081 ·- 4BFOH!OO OOF2--4~00188 HVC ·--····--. -----------· - -67SM ·---- 1 2 8 C1 32 J • 0 I l !'> t HVI KV I DL 3 . • 8?SH•l•2 HVC --········ ·- ··-··. ---·--·- -·--------------. -1 S•~?Vf - ------ · -----.015--•· -·----·- -8?IS HVC SAL 8'?0 B?F DU .. • . --·-· --· --··------------011> lStB?Xf ec • -- . . ----- .017 ..• ··-- ···---··--- ·---------Dl8 ·- •. 0 C82 00f6 921301Cr----· HV I B?t<•3t19 0 083 OOFA '17F00008 BC lStB?IS ··-·--·----------··-- .. 019 --·-·--·-------·-----· 020 -···. -- ----------021---. --· ··-- -·--·· ---------------· 022 • ----023 02'1 •· en m r -< • 0 CP4 B?CN EQU 0 085 OOFE 0 086 OOFE 9540(003 DC87 . 0102 47800118 ... ···-·-----···-·--···-·---· ··---- .. 02 s CON TR CL • ...... --.-·--······-. -----·----- -026 . • . CLI 3C14)e64 SC 8tB?06 -------D27 ·--- --- - - - - - · - - · - - - - - 0 2 8 • • ·- . 0088 0106 020000CBE003 KVC B?SH+ I& l h 3'14 J o o~g OlOC 4350 7E001 CLI JC141.c•p• 0090 DUO 47800118 BC 8tB?OS Oll 0 091 0114 %0800CB 01 8?SH+lt8 012 . • . 0092 0118 913H002 A?06 TH 2Cl4) ,f,J 0 CCIJ ····-· -··· .Q 11 c. 4780£004 - ·-·····-·----··-·--- -·· ·· · ·--···-·--B C-----8, 4 C, 14 . --···--- ... ·-·-- ---.02 9 .. ----------------010 - .•. · --- ····· --·---· -------··----- --·- ---· -a1 3 > -·. ··-·--·---- 0120 020001£ 1£002 HVC t\?SE+lllhZlllf) 035 0 C9S 0126 9507E001 CLI lC14leC•f'• 036 - Ol2A 0 C97 478(10132 --· ---·---BC----·8 t8?G 01 0 l2£ %080JE1 o oqs 0132 Ao\E OOlf 7 (l ljClq ····-·--· -0131i 4 7F or.or 2 ..... S?G 0 !Pl '32400080 0 102 -- -----Cl 3E - 028200810030---·-- ------------- ...... 039 AH 042 - • ·--·--·-··-------t4VC ------I 29C l 3 U t l 2 S - - HV I B?SH+ lt 2 0 104 ·· 0 14 8 9 2f 0 0 1 9 D HVl 8?C+lt21'0 BC 0150 47FOEOOO • 0108--------0l54-lf5F00168 ---··· 0158 47FQ(000 1) 0 - 1St0Ctl4J l5•0l•l4J 0 lll ·- 01£>0 4730015C BC 0 11 l -0 1E>4 9 lf B Cl 19 5 -· TH OlE>C 91010195 0116 0170 47800178 -6?'0l•S•l TH ac • ·-· -·---·-·---···- --- -- --·-···-·-·-·· ... 04 8 • - - - - - - - - 0 4 9 ___ ... ___ _ --------·-·------- ----050 . • . ---------- · - - - - - - - - - - - - - -- .05 2---·-·· .. . 053 8?01•5·251 .. ---···- --8C-------8tS'?C --·--· 8?E~ ·······-·· -· -······ --- .... 04 7 --·--· ·----·-·--·---····-··-·--·---·--- ---051 ... • ERROR B?E----TIO. -·-··---OlSC A50301q5 0115 - - - - - - - - - - - . 0 4 6 - - - -• .B? CL--B AL---1 5 • B? 1J E --· ·-·-·---- .. BC • ·- - - ----·----- -··-·--·-· 04 5 . • CLO SE 011 l . 0 lllf -·----0 lf>8 --4780019C---·--·- - - - - - - - - · ----------------~4-l--*--- . ·- -·····--·-·----··--··---- ·······--· ----· ----04 4 ------···-- ---HV l------870• l t240- - - - - - - - - - - - 0 107 0 .04 0---·---- B?OP HVI Ol44 920200C8 0106 .. ·-------·-----·--··---·--------·-04 l ..•. D 10 3 -.0105 -·-------Ol4C 92FOOOE3--·--·-·- • ·------------038 . • 8?S£•lt8 a OPEN 0 l3A -- • . --037--•--- -·--·--···----···-·-··· -- -- ·-·-- ·-· · -------Q.C----15• B ?F ---------- ----- 0 100 • - - - - - - - - --034---•---. 0 C94 DC% •. B?OI•Sel .• ·-·-------··----------------- 054.-- •.. ------------·---- - - - - - - - - - O S 5---•--· --- - ---- ·-· .. - .... 0 s (, 057 . • )> C/) C/) m s: CJ r- -< r- ~ 2 G') n0 2 :! ·------ --------------------us•-·-----.. --- 0 ····-·-----------'>St--·•---····-·-- ll8----·-0.l-7a---4Jl02014J5~---------- ·-- 011'----017C--780018-.----·----------···-- ---· - -BC - --------·------tl60-- ··---·· ···- --·8t87I -------061-.-----· ---O-t20---tU8G--4J20000[-·5-·---------------J111¥l---·--B?O•l•O-------····· ----···----··-···---·- ... o 121·-·---··0184. C)lf 80195···-- ··-·-----·---------·· 8?1 · 0126 ·----·--Ol9C-47FOOHn.---·--·-------·-·--····8?C 0127·-····-·- ··DUO ·950FOOSO·--· ·····----·-·- ·--····--- ·-· -----OlA4 47600184 -····--· -··----·-----·---· ·-··- 0 129 · -·-···- 0 US 92F00190- - ·- -- ···· ··---------· ·--- ---· ··-· · ·- ·· 0 UC A108000063014001} -·-------·-- -··- 0131 ··-·--···0184· 47FOOOOO -·- 0188 40f001136 80tl5 BC 6e8?VX . - - - - -071 . ·--·- ·-- -012 &---- --· ·- - -07-3---·--·-·- l S•B?E B?N 890 - . · B?Ol•Stl····· · - - - - - --·····-----·8?l---8 Al-· ----1 StB?EA - x•oo• B?SE DC ··-----------DC---· --··-·01E2 0002········-··· ·-·----- --- --·-···-----······--- B?M DC x •oo• --- ·-- --yt 2) 0 14 7-- - -· ----·DIES---- --- ------·-··---- ---------------- ·· ORG 0 148 DC • c '4. USING ••O -< I G> ···-------------- ----- --071'-·------- ····-------··-- ------·---------Ol'.9--..___.. - . --···· ··-·-··----------·08 0 -- • - - ··----- ------------------081---·•.--··- . ·--·---------·-·---·-----------..u12--··--- -·-······--·-----------08rt.-. ----····- - .... --- - ----·----·-----------_....oas • ---··--·-····----·-----08'-- ·····-- -. -- -- ····---- - ----·----·----087._ .. ~--· .. -·-- 81X 1 DC s: CJ I ·--------·---------- -07 5-·- - - - - ---- ---·-----. -----------08 3.- •--· - -- ··BC ~ m ~ ··-· 078 . • BC )> ·······---OH· •-- .. -· I St8?Vh2 TIO 0143 - -----01(0-00 ........ -----------·----··. - 0149 ·---- . ·····-·---------· ·---·--· 077 - ·----· ·--- - 0 lDC. 117f001CC----------------- -OHS F4 ..... ------·------ m;g -··•·VERlff- 0140- -----·0104- ASD3019S-------·------------ 014& ·· ···-- ·O lElf. 11 ·---- -- ------··--·--·····- ··-------- -068 -· ·-····· 15·0 - - - - - - - - - - - - - - - 8 ? K - - ·-XIOf ---Otl --- · - ------- - · ·- · 0 144··-----0 lE·l-CO-·····-·--- . ·---·-- ··------------067·-··- ··---· 2S31f5 B?XF STH ---0108·-~SFOOl&C ... ··---·· -------·-------06 6 .,. ·-·-· ----- ··-···· --·-··----------------010 - ····-·-- HV I· · -··----- 8 AL··- ---1 St8?XF'---· · --·--0139 ------·0100- 47800000 -·-- --·---·--··- --· ·----·-· Ol4'i CLI ·-···-· ·D lC q .. q 7F 0018 C···· -·--- -·-· --0138----·-0lCC·--A.14030000 0 142 1 St8?VX UL 0137 · --- -· DlC8 40F00102 ·----0 l'+l BC B?VE STH ·---·C 13S ------·O lCO-· llSF 001C·8·---·-· - ·- lSeOCtlS) HSG ··0131f ··-·-·01BC·45F001SC ·--- ··--·---· 0 136 BC • .. ·-·----------06S --· •··-·· 2S3'tll ·8?VJI BC - .... () 132-------··--·--·.,--···---·- ---- · · · - - - - - - - - - - - - 0133 --·---·------063. ·--·064 ·B?Dt HSG () 12S-------0198 4 7F OF 0 00··-·-------·--·-·-· ·-----· · ---- - 0 130 ·· ·· 8.oc .1s·1 NI 018C CJlfFC0195 0 12-. -------- ·D 190 ll 0800006 3004000 - - -·-·· ·-··-· · - 0128· ----·--- --·----··--------·-062 - • --· BC - D 122·-··---- --0188 4780FOOO·--·----··-·-···-----···· 0123 TH .. ________ -·- ·-- ·-·--·- -·----·------ _____ oa a. _ •---·· ____ _ ······----- 089 .•.. z 8 z :-1 •·l 0 ISO USING I 0 151 EXTRN REAO a> 0 152 EXTRN PRNT 0 151 ENTRY IHlUF' 0 154 ENTRY EOJ 0 155 EN l'RY FOF OPEN READ OPEN PRNT HVC CNTR,TZER•4 w ~ a 1!>6 0 lEG 4 SE 00000 0 15 7 Ol(A 4SEOOOAC -·- D 158 OlEE 0201047A0478 BEGN ror ·-··0-159 ----OlF4--924003loC------·· ··--····-·-·---·HVt-- -PRWKtX'40' -···· 0 lE>O 01F8 D28203A003AC · HVC 0lf.1 0 HE lfSE00088E 202074 0 CNTRL PRNT tSK t 7 ·D 162-----C206·-FA00047C048-3-------- 0163 020C 0201041A0480 0164 0212 OE01041A047C -·-----···-AP - · - PAGE U I• CINE C1) MVC 0 lf:.5 ------·02 l8-·020f 03C A 0 4 l 0 - - - - - - - - - - PSAL•22C21t~SKJ MVC--- PEHPClSltMDRl 0 1&6 02lE 020703E704lF· HVC 0 lF..1 0224 020404040447 HVC PSHNCBltHORi' -- -0l&&----02·24--4SEODOB8E20·1014u---------- ·----·-CNfRL- PRNT tSPt l-- -· 011;'3 0 170 0232 4SEOOOSC03AC · PUT PRNT tPRWK 0238 45E00008035C GE:T REAOtCARO - 0171------02-3E---'l24003AC----- a 112 - - - - - - - - - K A N - - - - - MVt--PRWKtX'40! -·0242 D28203A003AC .. -· 0173 · ----· - 0248 020503CF'035C KVC PRWK•lClllttPRWK HVC PR WK • 3 5 C& I t £HP N 0174 ----024[-020[ OJE 4 0362 - - - - - - - - - - - - - - - - - · · - - - MVC---.. ·PRWK•S6'·1S>•SMAN -··-----·- - - - · - - - · - - - - - - - - - - - - - - - 0115 ·- -·----0254-·0205047003SC· ---·--- -------·----·· 0 17&. -----···· .. -02SA-f 2 35041340371 ----.. ·---· -· - - - - - · - -·-.. MIN .. -O-l17----0.2£>0··F--AS3043404 ------------· GET · RCAO tCARO CLC · SAV£, EHPN ·------·BC··--- 8• MIN---~----·- 0181 0276 fA7504SA0484 AP FT OT t TSAL 0 182 027C D20F03FC049S HVC PRWK•80116)tHSKl )> ~ m :5: co r- -< --0-U-l»----O.Z8-2-Dt-Of-D-3F-CQ48i4----------------t. 0-----PR WK •80 Utt J.• l SAL-----·-· .. - 0184----· ·--0283· 4SE0008C03AC----·---·---· --··-·---- ·-·- PUT PRNT .PRWK ·--· 0 185 ·---·- 028E··f "10047 A048 3--·----- ·--·-·--- · ··-· ··--·- · - ·· · AP CNTR .oNr . ---0-186----029,,._·F-911047A0492·····------------ CP CNTR.FIVE- · ·-· -0187--- ---···--·- 029A 478001EE --- ·· · --··----·-··--····--··----··-· ·· -· BC 8tf0F ·· ··· 0 188 -··-···--- OZ9E 020504840474 HVC TSAL l&) tTZER -··-· -·---···-- --- BC 02A4 lf7F0023E 0189 £OJ ··02A8 FA7501f8A0484 0 190. D 19 l ·- --- ·02AE 020F 03FC049 8 ·------ ----- -·--·-- -·-- --·· ·0192·-·-·---· 0284 DEOF03FC04~4 0 195 ·--·-·-··- 02C,. 028203A003A C ----·-·-·--------······ ·-·-···-· ·· ·0200 DE1403F7048A 0198- · -· - c 199 ·--·· 0 200 -·· --· 02CA 021403F.704A8 · ---- ···-·---·-------- 0 197 .. ~· 0206 020A03E4044C · 020C ·45EOOOB8£20701'l0- ··· ··-----------····-- FTOTC8ttTSUH1J HVC PRWK+80116ltt'ISKJ ED PRWK•80116ltTSAl HVI · 0 19'4· · ······-- 02CO 921f003AC · · · --·---·--·-· ----- -- ·-·-··· ·---·- -·· 0196 AP ·-·PUT 0193 ··----- OZBA lf5EOOOBC03A C -·-·· -- ·- PRNT tPRWK PRWK tX • lfO' HVC·· MVC PRWK+7Sl21Jtf'ISK2 en PRWK•7S.t21 J tFTOl MVC PRWK+56Clll•HDAlf CNTRL PRNl PUT ···02E4 45EOOOBC03AC·--·· --· I St MAN .sP, l PRNT.PAWK .x• .. o• -· - 0 201------ 02EA-·924003AC ·····-······-·--------------··-···· MVI ···- PRWK --··· 0 202 ·--·---·02EE· 028203A003AC :__··----··--·-- ···-·- -- -- MVC PRWK•ltlllttPRMK HVC PRWK •Sl '29hHORS ··· 0203 ·-··-···02f4 021C030F04S7 -- PU f....... -PR NT •PAWK ---0 204 -··--02FA--4SEOOOBC03A C· - - - - - - · - - - - CLOSE READ - - 0 20 S · --- --· D 30 0--4 SE 0 00 04 ·-----·-·-·---- ·· --- ···--0206 ··----0304 -lfSEOOOBO·-------·----·-----·--·-··- ---··-·--·---- CLOSE PRNT HPR -· -- X '1 rF f'...... .. ----- 0207-------0308-·-A900lrff---······ 0 208 ····------OlOC-------- -··-·----·--------------·· RBUf' 0209·----- 03SC-·- -·----·-····---------------- ..-----·- CARD·--·· -·-····-0 21 Q. ------DlSC0 211 D 212 · ·- -· 0 215 Cl80 DS 0Cl80 - - - - - - - - - - - - - U P N - - - OS. .. 0362··- ···-···--··-·-··-----· -·-··-·-· .. ·----- -·--0 3 71·-·---------------------··--····-------- ·- ... · ---·- OlAC ·-------·-·--·-----·-···-···-· ··· OlAC·-·--- -· -·------- ···· ··· · · CL6 .. SHAN OS Cl15 SALE OS CL6 OS ·CL53 0 213 ·---·-0177----------------------· 0214 OS PRWK OS OCLl 32 ·· OS CL30 -CllS D'S Cll" D'S CL8 D'S CL 21 D'S CLS OS Cll9 HOIH DC C •EH PLO YEE NUHBCR • HDl?l DC HORJ DC 0 217· ······ ··----·OlD'l--··---·-----· ·· 021'! ····-· OJE7- ---------·. PSHN 0 lEf.·--------··----- ·- -··· --·-··· -·--···-· ---·-· . 0 219 0220 0404 0 22 l 040') -· ·--·-·- . ·--- - --·-···· .. 0 222 043 0 C504070 306E BC SC 5:4 00 5Ell 04C 2C SO 9 0 223. PSAL · 043F · E2Cl03CSE204Cl05--··· ··-- --··- - 0224 ·- · ·· 04167 E2C103CSE2-· --·--- O'S ····-·D 21&---------0lCA------------ ··-·--------------- ---PEMP - ·---··· · C •SALESMAN• c•SALCS• ---0 22S---044C---ti:306E3C ID340E 2Cl03C SE-2--------WOA4----0C--- ··C •TOTAL--'ill[S '-· - · - - - - - - - - - - - · - - - - - - - - - - - - - - - 0226 --··--· 04H CSOSC44006C64009CSD706D9E340C6Dft HORS ---- ·- 0227- ---------0467 DS40CGC9E2C3Cl0340E8C~Cl09 - - 0 22e--8---0414-.00000000000C ---- D229·-··-------047A OOOC---· 0 230 · -·-----04 7C - OC-- DC· C•ENO OF REPORT FO• DC· C'R FISCAL V~AA ~ 1 CJ) m --------·-----lZC A - - - 0 C---X '00 00 DO 00 OOOC • -··- - - --------·,--·----· -----··----·--·---·--- .. - --- CNTq -·· -····-·····----------···- -·-···PAGE··-·-·· 3: ral DC DC .... -< x•oc• . c 02Jl--------041D-----·-------------------SAVE-----DS-----Clfii-----·---···--···-·--·--·-··--·---------·-·· a 212 - - 0483 .lf. 0 233 - -· ...... 0484· oooooooooooc. -- -·-·--·- --------- ON( · · -- DC · T SAL DC CJ) ::j x•tr• zG) XLG•OC'-- c=; 0 -02l4-----048.t.--OOOOOOOOOOOOOOO-C----------f.TOT-----OC-----Xl8 '-OCL--------·------------------··· ---0235 ---·---··0492· 025C-··--·-· -···. 0 23£. ···-·----0494··-·· ·······------. -··-- --·- -----· ·--·--· -- .. -· f'l VE · -PAKS z :-' DC OS --- CL4 --023-7----0498--4.(1682020206-82-02020&-820-2021482Q.20.-M-SK-l---OC---X'lf06820-2D20GB20202066202Dl-1~82D20'----------- 0 238 ·-·----04A3---110206B202020682D2020£.B2020206B20· M SK2 · -··-· · OC ··- x. qQ206 82020206820 20 20,820 20206 820' --··· -·---·--- ----· 0 239 · -·----0488---2021482020 ---·---·--·-·-·--···-- ·-·---··- ·-·----·- ···-···· x•2021 .. 62020' DC ·--·-----·---·--· - ---··-- ... - - 0 2 4 0 - - - 0 4 B 0 - 4 0 2 0 - - - - - - - - - - - - - - - 1 4 · S K - J - - 0 . C - - X UfO 2 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - · .. 0 24 1 ·-· --·---- --··--------···--------- -- -----·-- ----- ------ END BCGN -----·--··-·----·------· ······-·- ···- ---··-·----·---·----------- l INK ER MAP ... - .... ------·---- -- · - - - - - - - - - - - - 0000 CTL 2e16383tl6l83 - ........._. _____________________ ------· ------·-·-·---------------·-·-------··----·-----·--···--··--- ·--··--·--·--- ·PHASE PGMe4096tA lODO l?CH EQU OOOlf l?AH EQU .. 0080 L?AR EQU 128 L?PG EQU 208 L?LO EQU 128 --··-·-·--------------------------0000 0080 0008 A 0088 H 0088 L?Rl DOCS H OOC 8 l ?HE H Ollf C L?CD 0001 ------0 lllC 0008 LO DODO 001 ------ LO 0008 J 0080 t( 0002 l?AR DODO I( 0003 L'!'PG 0080 K OOOlf L?LO 3FFF K 0005 l?HI -------------0040 K 0006 l?CH 0004 K 0007 L?AM 0000 y 1000 A 1000 1 OAC 1 OCA 0001 0000 H -----·----·-··--·-- DlfBF 001 0000 RE AO - ·-·----·-·-···-· ..·-------·--·-.. ·--· .. -· ... ------·---·----·-· H ODA C PRNT H DOC A 8?SH -·----·-- ·--------·----------l lOC H 030C RBUF 12A8 H OZA 8 EOJ ------ ·-----------· -- .. -····-··- llEE OlEE FOF w ] 000 J ~ l2A8 K I 001 0002 EOJ . ·--- ... ·-·--···--·-..... -·- .. -·· ....... -·-----· . ----------- 130C 0003 I( RBUF TBRD K 0004 1570 - - - · - - -· - - - - - - ------·---------- ---·------------·fOF I( 0005 llEE K 0006 RE AO K l OAC -----·- - -- . ·-· · - - - - - - y 11[6 0007 PRNT A 0001 1000 ........ . -------'----·--·--.. --------···--·-·----·--·----·-·-· 0000 EXl 1401.J H 0014 E?IN l If 06 H 0016 1500 H 0040 ('?RE 152E H 006[ E?OS .. --·---·-- OOAF 001 E?SC EX 1 J 1 If CO -----·- -- ·- --------------------- --··--------------·----·-------·-- -·· y 0000 1570 1570 0000 11[6 . ··-· A 0001. 0000 TBRD 0100 00 l TBRO J -------------------·------------------·-··--·y ENO ----·- ---·-----·------------ ·---------·------ --- -· - ·--·--- ···-·--- - -- -· - - - - - - - - .. -·-·---- - - - - - -·-··-·-·- ·----··-----· __ ... ··-·-------~---·- ···------------------·-------- • • EHPLOYtE NUMBER SAU:SMAN SALES .oo • • • • .. • 00 CODI ANOE'RSONt MAftl E 00 C002 BROWN1 JOHN 00 C003 CUNNINGflAM1 315611.JD 10.icn.10 141727.70 TOH 00 C00'4 0088 lNSt PAUL llt 532. 30 00 CKJOS GETTY• PAUL 13t260. so 00 COOG HUGHES• HOWARD DO 0007 WASHIN!HONt .. ·••If II. 20 EO 00 C008 CLLSWORTHt AL 1811103.82 00 C009 CA s: ""C r- m ""C :II 0 0 c("') -I 6 z :II c z 0 c -I ""C c -I -n0 z ~ TERMINAL PROBLEM INTRODUCTION The terminal problem is a monthly payroll reconciliation report program that will provide a practical exercise in applying the knowledge and coding skill you have acquired in this course. Use the Reference Supplement Section starting on page 3-59 to review specific instructions. Given the following problem statement and the input/output requirements for the program produce the flowchart and · coding for the solution of the problem. PAYROLL RECONCILIATION REPORT PROGRAM OBJECTIVE,· The Programmer's objective is to prepare a monthly reconciliation report that will provide management with salary status information and the accounting department with a monthly payroll total for all salaried employees. Below is a diagram followed by a description of the problem in terms of input, processing, and output. PROGRAM PROCESSING PRINTED REPORT INPUT DATA CARDS Figure 3-12 System Diagram Input Data The punched card deck contains a date card (the first card in the deck), and detail cards. Detail cards have a 1 punched in column l, and employee number social security number, check amount and check number. Detail cards are in alphabetical order by employee name. Processing Print report title and page number at the top of every page, print column headings and detail information on each employee. Accumulate a final total; edit the total; then, print the total. 3-55 Output Printed report as shown on next page. INPUT DATA CARD FORMAT COLUMN 1 27-31 33-41 43-48 50-54 3-56 DATA Identifying Detail Card Employee Number Social Security Number Check Amount Check Number I ~ PRINTER FORMAT CHART FORM NUMBER PAYROLL REPORT FORM PARTS _ _ _ _ _ _ _ _ __ TYPE OF PRINTOUT n'AA HD A- 1 ~fMPI .J i Nlb • APPLICATION _ _ _ _ _ _ _ __ DATE _ _ _...,..._-t RUN NUMBER _ _ _ _ _ _ _ __ PREPARED RECORD NAME RECORD NUMBER APPtlV..00 BY HD B s:qc • s Ee • jNo. -H DC- 1 ; 1 • nq1-1EfC Kl· \P\lvT ~ J , : 4~tt$Uq-~l!; '+-+--+-+-t-+-1-+-+--+-+-+-1-+-+-i-+-+-+-T--+-~+r:r-+;-~+--Ttj~-,t-+-H--i-+-+-t-+-t-t-+-+1)(-:+1")(..,r-1:-:15(,_,l-:x X:Jx~>t;x-+-f-+-+--lf-l-+--+-+-+--+-+-~-l-+-itL~:·~-1v:124J~it·H---t-M+ ~ i~ ~ 1 H - - -H - ++--t- --+-+-+-1-4-1-1---+-l-- rr-.- - -i--~ ev _ __ RUN N A M E - - - - - - - - - r, ! ~ :ill . o~EAP~ovE£d 1 11 ·- t-H-t-+~+-+-+--+-f-++-H-1-++--++++-i--t---H-++~+-+-H-1-++-+-+-+-+-+-+-t-1--1-+-+-+--+-+-+-++-++-1--H-+-+-+-+-++-++-~HH-1--l-+-+-1--++-H--;-;-+-+-;+-H~l-+-+-++-+-+-+-+-t-t-+-+-+-+-++-~+ 1-+-1-+-+-+-1--t-+-t--i-11-+-+--+-+--+-+--1-+-1- I·--· -+-- -+-+-+-+-+-+-1--+--+-+-1- +-+·-i-+-+-+-+--+--1-t--i--i--1--+-+-+---t-t-+-+-l-l-f-+-+-+-+--+-+-+-t-1--1-+-t-t--+-1-+--+-t--t-t----r-T--+--t--t-t-+--+-+-+-+-+-+-+-t-+-+-+-+-11-+-+-+-+--+-t-+-t .! w I ...... U1 i ....._, ....... -· -- REFERENCE SUPPLEMENT OPEN Format Example A. FUNCTION The OPEN macro makes a file available for input or output; each OPEN statement activates a specified file that is to be utilized in the user's program. B. RULES 1. A Label field entry is optional. 2. The Operation field entry is OPEN. 3. The Operand (OP1) entry is the filename specified in the DTF statements. 4. A file must be opened before any input/output macros can be issued for that file e.g., GET, PUT. 5. Suggested order for starting program: START DTF's BAL USING EXTRN ENTRY OPEN GET C. APPLICATION One OPEN statement must be used for each file to be accessed. 3-59 CLOSE Format Example A. FUNCTION To deactivate, or close, any file that was previously opened. B. C. RULES 1. The Label field is not used. 2. The Operation field entry is CLOSE. 3. The Operand (OPl) entry specifies the filename of the file to be accessed. 4. A file may be closed after it is determined that the file has been processed; e.g., after the PUT macro has been issued for output file. It is convenient to close all files following the last PUT statement. APPLICATION One CLOSE statement must be used for each file referenced. D. EXAMPLE If the filenames specified in DTF are FILM, FILT, and FILO, the appropriate CLOSE Macros are as shown below. 3-60 USING Format Example. A. FUNCTION The USING directive provides for direct addressing by listing the number of modules of 4096 bytes that are available for instructions including the Input/Output Control System (IOCS) and the tables. B. RULES 1. The Label field is not used. 2. The Operation field entry is USING. 3. The example above makes 4K bytes available (*,0). 4. The statements must be assigned in sequence starting with USING * ,0. 5. One USING statement for each block of 4K bytes. 6. The available memory can be designated for up to 32K bytes. The following lines of coding would be included for a computer whose memory is rated at 16K bytes. For SK bytes of memory only the first two lines would be used. 3-61 EXTRN Format Example A. FUNCTION Allows for the labels used in one program to be defined in another. B. RULES 1. The Label field not used. 2. The Operation field entry is EXTRN. 3. The Operand (OP1) is the filename for the reader or the printer. (The name given in a DTF statement) 4. If the EXTRN statement is not supplied the assembler will flag the filenames as undefined (unreferenced). The suggested placement in the program is shown below. 3-62 ENTRY LABEL 1S OPERATION 1S 10 16 OPERAND Format Example A. FUNCTION Supplies a name of a subprogram within the user program. (Supplies reference to a keyword parameter in the DTF statement; e.g., DTFCR EOFA=EOJ) B. RULES 1. The Label field not used. 2. The Operation entry is ENTRY. 3. The Operand (OP1) specifies the name of the user's subprogram. 4. ENTRY supplies reference to a keyword parameter in the DTF statement. LABEL 1S OPERATION 1S 10 16 OPERAND COMMENTS 3-63 GET LABEL 11 OPERA TIOH 11 10 OPERAND 16 Format Example A. FUNCTION The GET macro makes the next consecutive logical record available for processing in either an input area or a work area. B. RULES 1. Records are processed in work areas. In this case, the GET macro moves each record from the DTFCR specified input area (IOA 1) to a work area. In this format, the Label field is not used, and the Operation field entry is GET. The Operand field has two parts, OP1 and OP2, which are separated by commas. a. OP1 (Filename) - the name specified in the DTFCR. Name of file from which record is to be retrieved. b. OP2 (Workname) - the name specified in the OS instruction that reserves the work area in memory. NOTE: 2. DTFCR's must include an IOA1=RBUF entry (name of the buffer area for card reader). If the data transferred to Workname (AREA) by the GET instruction is a standard end-of-file card (the data contains the characters /* in the first two locations) control is transferred to the EOJ subprogram. EXAMPLE LABEL 11 OPERATION 11 10 3-64 OPERAND 16 " COMMENTS PUT Format Example A. FUNCTION The PUT macro causes the writing, punching, or displaying of logical records that have been assembled directly in the input area or a specified work area. B. RULES The PUT macro moves a record from a specified work area for output to a printer, punch, or other device and immediately frees the area for other program use. The Label field is not used, and the Operation field entry is PUT. The Operand field has two parts that are separated by commas: 1. OP1 - the filename specified in the DTF statement. 2. OP2 - the work area specified in the OS instruction that reserves a work area in memory. NOTE: C. DTFPR's must include PROV = FOF (Forms Overflow Routine) entry. APPLICATION All data transferred from the printer work area to the buffer area causes a line to be printed, advances the paper, and checks for the end of page condition. If the end of page is detected, control is transferred to the FOF program before further execution of the program is accomplished. If the forms overflow condition is not detected, processing continues after the printing of the line of data is completed. 3-65 CNTRL Format Example A. FUNCTION To permit the programmer to specify the format of a printout. B. RULES 1. The Label field is not used. 2. The Operation field entry is CNTR L. 3. The Operand field entries are the following: a. OP1 - Filename specified in DTFPR SK,M,N = channel to skip to on carriage control tape M = skip before printing N = skip after printing b. Code - 0, 1 or 2 If SP is used, the 2 signifies "space two lines". SP,M,N (M=number of spaces before printing) (N=number of space after printing) 4. M or N may be omitted, commas may NOT be omitted. 5. Normally, single spacing is automatically provided. If any other type of spacing is required, SP is used. 6. If CNTRL is omitted, normal spacing as specified by the PRAD Detail Entry card will be executed. 7. Throughput will be faster if both spacing and skipping are specified after printing, rather than before. 3-66 C. EXAMPLES 1. Advances one line before printing. 2. Advances two lines before printing. 3. Specifies an immediate skip to bottom of page. The CNTRL macro instruction should be used only in conjunction with a 48 or 16~character print bar. 3-67 INTRODUCTION TO PACK AND UNPACK PACKED FORMAT: One byte (8 bits) represents two decimal digits. The rightmost half-byte represents the sign. Digit EXAMPLE: I Digit Digit I BYTE BYTE BYTE BYTE Digit Digit I Digit Digit I_ Sign Pos. sign = C Neg. sign = D 37246C UNPACKED FORMAT (ZONED FORMAT): The low-order four bits of each 8-bit contain the decimal digit, and the high-order four bits define the EBCDIC zone. The high-order four bits of the rightmost byte of the field contain the sign of the field. Zone EXAMPLE: 3-68 l Digit Fl F3F4C5 Zone l BYTE BYTE BYTE BYTE Digit Pos. signs - F ,A,C,E Neg. signs - B and D Zone l Digit Sign I Digit PACK LABEL i OPERA TIOH '& 10 16 OPERAND Format Example A. FUNCTION The operand specified by the OP2 is converted from zoned format to packed format, and the result is placed in the location specified by OP1 . B. C. D. RULES 1. The operand specified by the second address must be in zoned format. 2. Packing may be done in place, or in another area. Also operands may overlap. 3. If packing is done in another area, the area does not have to be cleared or ·initialized. 4. The maximum size of the second operand is 16 bytes. 5. To determine the minimum size of the first operand, divide the number of bytes in the zoned field by two and add one to the result. If the zoned field contains an odd number of bytes, ignore the fraction when you divide by two. 6. The PACK instruction must be used when data to be processed must be operated on by any of the decimal instructions, e.g., AP,SP, CP. APPLICATION 1. The fields are processed one byte at a time from right to left. Signs and digits are not checked for validity. 2. The two portions of the low-order byte are reversed, leaving the sign in the low-order position. Then, the zone portion is stripped from each successive byte, and two decimal digits of the second operand and are combined to produce each byte of the packed field. 3. If the first operand is too long, it will be filled with high-order zeros. 4. If the first operand is too short, any remaining high-order digits in the second operand will be ignored. 5. The second operand is not changed except when operands overlap. 6. No condition code is generated. EXAMPLES 3-69 Storage Definitions: Operands Before: Operand Operand 2 WRK1 WRK2 FOFOFO FOF1 F2F3 WRK1 WRK2 00123F FOF1F2F3 Operands After: Operand Operand 2 3-70 UNPACK Format Example A. FUNCTION The operand specified by OP2 is converted from packed format to zoned format and the result is placed in the location specified by OP1. B. C. D. RULES 1. The second operand should be in packed format. 2. The maximum size of the first operand (zoned field) is 16 bytes. 3. A field should not be unpacked into itself. 4. To determine the minimum size of the first operand, double the number of bytes in the packed field and subtract one from the result. 5. Packed data cannot be printed in meaningful form. Therefore, this instruction is used to enable data to be punched in standard code, or printed in readily readable form. 6. The first operand does not have to be cleared or initialized by the user. APPLICATION 1. The fields are processed one byte at a time from right to left. Signs and digits are not checked for validity. 2. The two portions of the low-order byte are reversed, leaving the sign in the high-order position. The sign is a standard plus (1100) or minus (1101) sign, depending upon the sign of the packed field. Each digit is preceded by a hexadecimal F (this occupies the zone portion of each byte). 3. If the first operand is too short, any remaining high-order digits are ignored. 4. If the first operand is too long, it will be filled with high-order zeros. 5. The condition code remains unchanged. 6. If two different operand fields are specified, the second operand field is unchanged. EXAMPLE 3-71 Storage Definitions Operands Before UAMT 000000000000000000 PAMT 372178441C Operands After 3-72 UAMT F3F7F2F1F7F8F4F4C1 PAMT 372178441C ADD PACKED DECIMAL Format Example A. FUNCTION The operand specified by OP2 is added algebraically to the operand specified by OP1. The result is stored in the field specified by OP1. The sign and magnitude of the sum determine the condition code. B. C. RULES 1. Both operands must be in packed format. 2. The first operand must be long enough to contain all the significant digits of the sum. 3. If the second operand is shorter than the first, the addition will be normal. 4. The maximum length of either operand is 16 bytes. 5. Overflow occurs if: a. There is a carry out of the high-order position of the result. b. The second operand is larger than the first operand and significant result positions are lost. 6. If operands overlap, their rightmost byte location must coincide. 7. A field may be added to itself. APPLICATION 1. Processing is from right to left. Signs are checked first before the arithmetic is performed. 2. All signs and digits are checked for validity. 3. High-order zeros are supplied for either operand during instruction execution. 4. The operand specified by the second address is unaltered. 5. Algebra rules are used for determining signs. 6. Zero result is always positive, except when high-order digits are lost because of overflow. 7. In overflow, a zero result has the sign of the correct result. 8. The sum is in packed format. 3-73 9. D. The condition code settings are as follows: CONDITION SETTING Sum= 0 Sum is zero Overflow 0 1 2 3 EXAMPLE Storage Allocations Operands Before First Operand: Second Operand: OTY2 QTY1 000000123C 08900C QTY2 QTY1 000009023C 08900C Operands After First Operand: Second Operand: Condition Code Setting 2 (result is positive.) 3-74 SUBTRACT PACKED DECIMAL Format Example A. FUNCTION The operand specified by OP2 is subtracted algebraically from the operand specified by OPl. The result is stored in the field specified by OPl. The sign and magnitude of the difference determine the condition code. B. C. RULES 1. Both operands must be in packed form. 2. The first operand must be long enough to contain all the significant digits of the difference. Otherwise, overflow occurs. 3. A field may be subtracted from itself. 4. If the second operand is shorter than the first, subtraction will take place normally. 5. The maximum length of either operand is 16 bytes. 6. If operands overlap, their rightmost byte locations must coincide. APPLICATION 1. Processing is from right to left. The signs are checked first and then arithmetic is performed. 2. All signs and digits are checked for validity. 3. High-order zeros are supplied for either operand during instruction execution. 4. The operand specified by the second address is unaltered. 5. Algebra rules are used for determining signs. 6. Zero result is always positive except when high-order digits are lost because of overflow. 7. In overflow, a zero result has the sign of the correct difference. 8. The difference is in packed format. 3-75 9. The condition code settings are as follows: SETTING CONDITION Difference Difference Difference Overflow D. =0 0 1 2 <0 >0 3 EXAMPLE Storage Allocations Operands Before OTY1 OTY2 000000122C 00123C Operands After OTY1 OTY2 0000001D 00123C Condition Code Setting 1 (result is negative) 3-76 ZERO AND ADD PACKED DECIMAL LABEL I OPERATION 11 10 16 OPERAND Format Example A. FUNCTION The storage location specified by OP1 is cleared to zero and then the OP2 data (packed format) is added to OP1. The result of addition determines the condition code. B. C. RULES 1. The operands may have different lengths. However, the first operand should be longer than the second operand. 2. The maximum length of operands is 16 bytes. 3. The second operand must be in packed format. 4. Operands may overlap if their rightmost byte locations coincide or if the rightmost byte of the first operand is to the right of the rightmost byte of the second operand. 5. ZAP is used when OP1 in a decimal instruction (e.g., AP, MP) is too small to hold the result of the operations. The operand is placed into a larger field through the use of a ZAP instruction. Then the new larger field is used as the first operand. APPLICATION 1. Processing is from right to left. 2. The second operand is unaltered. 3. Only the second operand is checked for valid sign and digit codes. 4. A second operand that is longer than the first causes overflow. 5. When high-order digits are lost due to overflow, a zero result has a positive sign. 6. The condition codes are set as follows: 0 1 2 3 - Result is zero Result is less than zero Result is greater than zero Overflow 3-77 D. EXAMPLE Storage Allocations Operands Before WAMT AMT1 357924853540 1233663C Operands After WAMT AMT1 00001233663C 1233663C Condition Code Setting 2 {result is positive) 3-78 MUL TIPL V PACKED DECIMAL Format Example A. FUNCTION The operand specified by OP1 (multiplicand) is multiplied by the operand specified by OP2 (multiplier). The signed product is placed in the OP1 location. ·s. C. RULES 1. Both the multiplier and multiplicand must be in packed form. 2. The second operand (multiplier) must be shorter than the first operand (multiplicand) and must not exceed eight bytes in length. 3. The maximum length is 16 bytes (one length is specified for each operand. 4. The multiplicand must have high-order zero bytes equal to the number of bytes in the multiplier field. 5. Operands may overlap if their rightmost bytes coincide. APPLICATION 1. Instruction operates right to left. 2. All signs and digits are checked for validity. 3. The second operand is unaltered unless operands overlap. 4. Overflow cannot occur. 5. The condition code remains unchanged. 6. The sign of the product is determined by the rules of algebra, even if one or both operands are zero; i.e., minus zero is a possible result. 7. The product is in packed format. EXAMPLE LABEL ' OPERA TIOH 11 10 16 OPERAND 11 3-79 Storage Allocations Operands Before WAMT AMT2 00001233665C 012C Operands After WAMT AMT2 3-80 00014803980C 012C MOVE CHARACTER Format Example A. FUNCTION The source field specified by OP2 is moved into the destination field specified by OP1. B. C. D. RULES 1. One length indicator is specified for both operand:;. 2. A maximum of 256 bytes may be moved with one instruction. 3. One character (e.g., a space) may be used to clear an entire field, if the first operand field starts one character to the right of the second operand field. 4. Overlapping of fields is permitted. APPLICATION 1. Bytes are moved one at a time in each field. 2. Movement is from left to right. 3. The number of bytes moved is determined by the implicit or explicit length of the first operand. 4. The bytes being moved are not inspected or changed. 5. The second operand is not altered, unless operands overlap. 6. The condition code is unchanged. EXAMPLE LABEL t OPERA TIOH t 10 OPERAND 16 Storage Definitions 3-81 Operands Before DOG CAT 00001C 00002C Operands After DOG CAT 3-82 00002C 00002C MOVE IMMEDIATE LABEL OPERAND 1s OPERATION 1s 10 1s 16 Format Example A. FUNCTION One byte of immediate data is stored in the main memory location specified by the first address (OP1 ). The immediate data is specified by the second operand of the instruction (OP2). -B. D. RULES 1. The second operand, called a self-defining value, may be written as a single character in quotes preceded by a C (e.g., C'A') or as two hexadecimal digits in quotes preceded by the letter X (e.g., X'C1 '). 2. The first operand field is a one-byte receiving field. 3. The length indicator is never specified since this instruction only operates on one byte. 4. The condition code setting is not affected. EXAMPLE LABEL 1s OPERA TIOH 11 10 OPERAND 16 Storage Definition LABEL 11 OPERA TIOH 11 10 16 OPERAND SPOT (1st operand) Before SPOT After OOC2C3 C1C2C3 11 3-83 COMPARE PACKED DECIMAL LABEL 11 OPERA TIOH 11 10 OPERAND 16 Format Example A. FUNCTION The operand specified by the first address is algebraically compared with the operand specified by the second address. The results of the comparison determine the condition code. 8. C. RULES 1. Both operands must be in packed decimal format. 2. Operands may be of different lengths. 3. The comparison is albegraic. 4. If operands overlap, their rightmost byte locations must coincide. 5. The maximum length for either operand is 16 bytes. APPLICATION 1. Comparison is from right to left, taking into account the sign as well as all the digits of each field. 2. If fields of unequal length are compared, the shorter field is extended with high-order zeros. 3. Plus zero and minus zero compare equally (no distinction is made). 4. The condition code settings are as follows: 0 - Operands are equal numerically - First operand algebraically less than 2nd operand 2 - First operand algebraically greater than 2nd operand 3 - Not used. Overflow cannot occur. 5. D. Neither operand is altered. EXAMPLE 3-84 Storage Definitions Operands Before 1st OP. 2nd OP. BAL CHK 0912394C 12394C Operands After 1st OP. 2nd OP. BAL CHK 0912394C 12394C Condition Code Setting 2 (1st operand is greater than second operand). 3-85 COMPARE LOGICAL Format Example A. FUNCTION The operand specified by OP1 is logically compared with the operand specified by OP2. The result of the comparison determines the condition code. All bits are processed as part of an unsigned binary quantity. B. C. RULES 1. Only 1 length field is used (OP1 ). 2. An operand of up to 256 bytes may be compared with another operand of the same length unpacked (EBCDIC) characters. 3. Operands may be in any format. 4. The operation may be used for alphanumeric comparisons. APPLICATION 1. Processing is from left to right. 2. Instruction terminated on inequality, or when the operands are exhausted. 3. Both operands are unaltered. 4. The condition code is set as a result of the comparison. Condition Code Settings CONDITION Operands equal CONDITION CODE 0 1st operand less than second operand 3-86 1st operand greater than 2nd operand 2 Not used 3 D. EXAMPLE Storage Definitions LABEL 11 OPERA TIOH 11 10 OPERAND 16 11 Operands Before 1st OP. 2nd OP. MACT TACT FOFOF8F4F3F1F2C4 F7F5F8F4F3F1F2C4 MACT TACT FOFOF8F4F3F1F2C4 F7F5F8F4F3FlF2C4 Operands After 1st OP. 2nd OP. Condition Code Setting 1 (first operand less than second operand). 3-87 COMPARE LOGICAL IMMEDIATE LABEL 11 OPERA TIOH 11 10 OPERAND 16 Format Example A. FUNCTION One byte of immediate data (0P2) is logically compared with one byte in memory. The address of the byte in memory is specified by OP1. The immediate data is specified by OP1. The immediate data is specified by OP2 of the instruction. The result of the comparison determines the condition code. The byte comparison is according to absolute EBCDIC coded values and an unsigned binary quantity. B. RULES 1. OP2, called a self-defining value, may be written as a single character in quotes preceded by a C (e.g., C'A') or two hexadecimal digits in quotes preceded by the letter X (e.g., X 'C3). 2. The first operand field is a 1-byte field. 3. The length indicator is never specified, since this instruction only operates on one byte. 4. The first operand field does not have to be at an even location. 5. The first operand may be in any format. NOTES: 3-88 1. Condition code settings are the same as those for CLC. 2. Both operands are unaltered. C. EXAMPLE LABEL 11 OPERA TIOH 1i 10 OPERAND 11 16 Storage Definition SPOT Before C5 SPOT After C5 Condition Code Setting 2 (first operand (SPOT) is > immediate field C'C'). 3-89 BRANCH ON CONDITION Format Example A. FUNCTION Branching instructions test the setting of the condition code indicator and branch to another location in the program based on the particular setting being tested. B. C. RULES 1. These instructions may be used after arithmetic instructions; e.g., if result is positive, branch to specified location. 2. They may be used after compare instructions, e.g., if first operand is greater than second operand, branch to specified location. APPLICATION 15 - Branch on all conditions 8 - Branch if both operands are equal (CC - 0). 2 - Branch if result is positive (CC - 2). 4 - Branch on minus (CC - 1). D. EXAMPLE Flowchart M T Routine A Routine C Routine B 3-90 Coding Note: 8 can be omitted if it is desirable to "tali through" on an equal condition and continue straight-line processing. 3-91 BRANCH AND LINK Format Example A. FUNCTION To permit a series of instructions (called a subroutine) to be written once and executed several times (subroutines and user program may be tied together). B. RULES 1. Operand (OP1) specifies a register number (8 through 15) that stores the address of the instruction to be performed after returning from the branch subroutine. 2. OP2 is the label of the branch subroutine. A BAL instruction may be used to branch to a subroutine that will: clear an area read data pack and add check tables 3-92 STORE HALFWORD LABEL 11 OPERATION 11 10 OPERAND 16 Format Example A. FUNCTION STH places the contents of the register specified by the OP1 address into the halfword specified by the OP2 address. B. RULES 1. Data is stored on an even numbered address. 2. Goes from main storage into a register. 3. The receiving address is a register (8 through 15). 4. Boundary alignment is required. The. sending field must be a memory location. 5. Data is in binary; may be defined by an address constant or as instruction address. 6. The contents of a halfword will be loaded into the register. 7. Does not alter CCI (condition code indication). 3-93 D. EXAMPLE To write the instructions necessary to interrupt a program flow use a subprogram (labelled PCLR) to clear print buffer. After clearing buffer the routine will refer to interrupt. 2 3 4 5 6 7 8 9 (Line 1) Store address of next instruction (line 2) in register 14, Branch to PCLR (line 6). (Line 6) Store return address (line 2) in register 14;process next instructions in line. (Line 9) Branch unconditionally to 3-94 line 2 . EDIT INSTRUCTION LABEL 11 OPERATION 11 10 OPERAND 16 Format Example A. FUNCTION The purpose of the Edit instruction is to produce easy-to-read printed documents by inserting the required punctuation and gra(i)hic symbols. B. RULES 1. Data to be edited must be packed in decimal form. 2. Operation will change packed decimal field called source field to EBCDIC (zoned format) and insert the necessary punctuation characters, i.e., dollar signs, commas, decimal points, asterisks. 3. Pattern for editing is called the edit mask and is set up as a hexadecimal constant by a DC statement. If an edit mask is to be used more than once, it must be moved to a working storage area before each use otherwise the editing function will destroy the mask. 4. Result of edit replaces 1st operand (OP1) which is the mask field. 5. Construction of mask pattern is as follows: a. Number of bytes in mask must be at least the number of significant digits which will print when the format is converted from packed to zoned; e.g., for four packed bytes, the corresponding mask must contain at least seven digit select characters. b. First byte of mask in hexadecimal configuration is a fill character. Examples: blank (X'40') dollar sign (X'58') asterisk (X'5C') c. Commas and decimal points are inserted as specified in mask: comma (X'6B') decimal point (X'4B') 3-95 d. 3-96 Following control characters are used: (1) Digit Select character (X'20') is placed in mask where it is desired to insert a digit from the packed field. Digit is inserted unless it is a leading insignificant zero and a Significance Start character has not been encountered previously. (2) Significance Start character (X'21 ') serves same function as Digit Select character but has one additional function; it specifies that all of the following digits are to be inserted from the packed field even if one or more leading zeros are still present. EDIT INSTRUCTION EXAMPLES SEE NOTE BELOW OP2 PACKED DATA FIELD (BEFORE EDIT) OP1 EDIT PATTERN (MASK Fl ELD) (AFTER EDIT) OP1 UNPACKED FIELD ~~iii~~ ii~ 2 FILL CHARACTER $ DOLLAR SIGN ------~ , 3 4 5 6 7 PRINTED RESULT OP2 PACKED DATA FIELD (BEFORE EDIT) OP1 MASK FIELD (AFTER EDIT) OP1 !l ! ! 14~ I 40 I40 14~ 14~ 14• I40 I4B IF 1 I F2 I FILL CHARACT_E_R_ _ _ _~6 BLANK SPACE J 6. 6. 6. 6. 6. 6. ~ i 1 ~ 2 UNPACKED Fl ELD PRINTED RESULT (The symbols 6. orb are used by programmers to indicate blank spaces when checking number of spaces in the result.) I~: 0 OP2 (BEFORE EDIT) OP1 (AFTER EDIT) OP1 Fl LL CHARACTER 011 :+I PACKED DATA FIELD 2! 2~ Is~•i::tit•I Isc I I ! It>: "'I": MASK FIELD ! ! ! l Isc I sc Isc Isc Isc I sc I F0 j 4B I F0 I F 1 I UNPACKED FIELD i* i* i* i* i* i* i i i i PRINTED RESULT ASTERISK _ _ _ _ ____,f 0 0 1 NOTE Edit control hexadecimal characters: Fill character (40, 58, SC, etc.) Digit Select Character (20) Significance Start Character (21) .1 nsert characters (68, 48) 3-97 HALT AND PROCEED Format Example A. FUNCTION Stops the processor and displays the OP1 address in the Halt/Display indicators on the control panel. B. RULES 1. The label field not used. 2. The operation is HPR. 3. OP1 is usually expressed in 1 to 4 hexadecimal digits. 4. OP2 is 0 in all cases. 5. Base Displacement is assumed if OP1 content exceeds X'7FFF'. 6. Forms: HPR X'7FFF' HPR C'??' HPR 2075 Suggested place in coding LABEL 3-98 11 OPERATION 11 10 16 OPERAND ERRATA 9000 CARD ASSEMBLER PROGRAMMED INSTRUCTION COURSE Book 3 - BAL Application Prepared by: Systems Education Department Univac Education Center P.O. BOX 1110 Princeton, N.J. 08540 UNIVAC COMPUTER SYSTEMS February 1974 UE-686.2B ERRATA UNIVAC 9000 CARD ASSEMBLER PROGRAMMED INSTRUCTION COURSE Book 3 - BAL Application (UE-686.2B) NOTE: CORRECTIONS, DELETIONS, AND CHANGES ARE TO BE PERFORMED AS AN EXERCISE UPON COMPLETION OF BOOK 3. The Marketing Sales Report Problem which begins on page 3-3 has coding and flowchart errors: 1. When SAVE = EPMN and CNTR = FIVE, a branch to FOF is executed. As a result, the card that was read before the end of page condition (FOF) was sensed, is lost. 2. Refer to figure 3-3, pg. 3-23/24, Marketing Sales Report Flowchart. Find the error in the flowchart and make the necessary corrections. Then check your corrections against those on page E-3. 3. After corrections have been made in figure 3-3, make corrections in the coding to reflect the flowchart corrections. 4. In the Marketing Sales Report Program,'two procedures were used for Printer Overflow. The Prograrruner coded for an endof-page Condition and also defined PROV=FOF in the DTF statements. Only one procedure should be used. 5. Page 3-7: Define Input/Output Devices to be used by program. Delete line 9: Column 16 Column 72 PROV=FOF X DEFINE INPUT/OUTPUT DEVICES TO BE USED BY PROGRAM LABEL 11 OPERATION 11 10 OPERAND 16 r---1---, I I I I 1 DTF s L __ T I I __J E-1 6. Page 3-8: Delete coding line 135: Column 10 ENTRY Column 16 FOF SUPPLY SYSTEM WITH LABELS OF SUBPROGRAMS ENTRVS Change explanation of coding to read: RBUF and EOJ are the labels of subprograms within the user program. 125 130 .i3i- ln•t coding flow 146 after 100 OPEN READ OPEN PRINT coding flow 146 before 105 USING 110 EXTRNS ENTRYS 120 CLEAR COUNTER coding flow 160 115 126 130 136 140 OPEN READ OPEN PRINT 145 146 ·-·-·--····-··----··------·-····--·-----··--- 160 CLEAR COUNTER Delete coding flow 210 CLEAR PRINTER AREA 155 160 ADVANCE TO HOME PAPER POSITION 165 170 ADD 1 TO PAGE 176 MOVE PAGE TO PRINTER WORK AREA 180 MOVE HORS TO PRINTER WORK AREA 190 196 SPACE 1 200 PRINT 206 185 MOVE MASK, THEN TOTAL SALES TO PRINTER WORK AREA 270 275 310 ADD TOTAL SALE TO FINAL SALE MOVE IN "END OF FISCAL YEAR" (HEADER) 375 PRINT 380 280 MOVE MASK, THEN TOTAL SALE TO PRINTER WORK AREA PRINT CLEAR PRINTER AFIEA 216 220 316 320 CLOSE READ CLOSE PRINT 285 ADD 1 TO COUNTER MOVE EMPLOYEE NUMBER Ii NAME TO PRWk MOVE EMPLOYEE NUMBER TO SAVE ADD SALE (PACKED) TO TOTAL SALE ADD TOTAL SALES TO FINAL TOTAL 325 226 230 PRINT END --8 235 CLEAR TOTAL SALES TO ZEROS PACK SALE TO A WORK AREA 386 390 300 305 CLEAR PAINTER WORK AREA TO ZEROS 330 336 MOVE IN MASK, THEN FINAL TOTAL TO PRINTER WORK AREA 340 345 MOVE IN "FINAL TOTAL" (HEADE RI TO PRINTER WORK AREA 350 SPACE 1 355 PRINT 360 240 245 CLEAR PRINTER WORK AREA 265 2 365 370 3 Figure 3·3 Marketing Sales Report Flowchart 3-23/24 E·3/E·4 565 7. Page 3-8: Insert coding line 146 after coding line 145: Column 10 GET Column 16 READ,CARD READ A CARD 146 LABEL 11 OPERA TIOH 11 10 16 OPERAND READ A CARD Reads a card and places data into· area defined as CARD. ACTIVATE CARD READER, PRINTER LABEL 11 OPERA TIOH 11 10 16 OPERAND OPEN READ OPEN PRINT 140 145 OPEN READ makes the file named READ available for sending input. OPEN PRNT makes the file named PANT ready to receive output. CLEAR PRINTER LINE COUNTER TO ZERO 1 · LABEL ) OPERA TIOH 11 10 16 OPERAND 150 CLEAR COUNTER Moves zeros from storage area TZER+4 to the two~byte area defined as CNTR. E-5 B. Page 3-11: Delete coding line 210: 9. Column 10 GET Column 16 READ,CARD Page 3-18: Delete coding line number 9: Column 16 PROV Column 72 x = FOF, A88BMBLllR CDl:HNCI PDRM PROGRAM _ _ MA__;C::_:RO:..::..::..-=C.=..:AL=L=---.:C:::..:A;;.:;.;;;..;RD=S-_ _ _ _ _ __ E-6 PROGRAMMER _ _ _ _ _ _ _ _ DAT! _ _ _ _ _ PAGE_ Of_Pl.GU 10. Page 3-19: Delete coding line 135: Column 10 ENTRY Column 16 FOF Column 78 135 LAll!L Of'llAND 11. COMlllllNTS ' ao Page 3-19: Insert coding line 146: LI I I I - : Column 10' GET Column 16 READ,CARD Column 78 146 l"TJGE,T, I l~.1\q ,,C,1\~Q I I • • • • I • • • .• I I I I I I I ' ' I I I I ' ' I ' I I I I I I ' I I I ' ' I I I.. I I I II.. I • ; ~~ , .. , , , , , . , , , .. , , , , , . , , , , , , . , .. , , , . , , , , , , , , , , : : : : : ; : 11 ; ; : _, 1 1.1 I 1 1.1 .. 1..l 1 11 1 I 1 1 1-t . .l.L.1.-.LJ~l-.L.L.t....J • ..L...1..I • 1 ••I,,, 1 I,• 1 1!.4p _ ;u0' 1 TI5-J E-7 12. Page 3-19: Correct coding line 205: .· Colwnn 10 Colwnn 16 13. PRNT, PRWK Page 3-19: D~lete 11:0 PUT coding line 210: Colwnn 10 GET Colwnn 16 READ, CARD Colwnn 78 210
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.6 Linearized : No Create Date : 2015:03:16 15:45:04-08:00 Modify Date : 2015:03:16 16:18:57-07:00 XMP Toolkit : Adobe XMP Core 5.4-c005 78.147326, 2012/08/23-13:03:03 Metadata Date : 2015:03:16 16:18:57-07:00 Producer : Acrobat 11.0.10 Paper Capture Plug-in Format : application/pdf Document ID : uuid:ec685db5-9e8e-534f-badb-61c942aeb2d3 Instance ID : uuid:df89193c-7939-b548-b52e-9ed49c5aeadf Page Layout : SinglePage Page Mode : UseOutlines Page Count : 113EXIF Metadata provided by EXIF.tools