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
MT
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