ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020
Source File: \t5pnchz.asm
PNCHZ
2 | LIBR T5G00020
3 | ISS 01 PNCHZ 0 4 T5G00030
4 | *************************************************** T5G00040
5 | *STATUS-VERSION 2 MODIFICATION 6 * T5G00050
6 | * * T5G00060
7 | *FUNCTION/OPERATION- * T5G00070
8 | * THIS ROUTINE IS USED BY FORTRAN PROGRAMS TO * T5G00080
9 | * OPERATE THE 1442 PUNCH ONLY. IT INITIATES BY * T5G00090
10 | * A PUNCH REQUEST AND PUNCHES A FULL CARD OF * T5G00100
11 | * INFORMATION AFTER CONVERTING THE DATA FROM * T5G00110
12 | * EBC TO HOLLERITH * T5G00120
13 | * * T5G00130
14 | *ENTRY POINTS- * T5G00140
15 | * * PNCHZ-CALL PORTION FROM FORTRAN SFIO PROGRAM* T5G00150
16 | * * PZ060-COLUMN INTERRUPT * T5G00160
17 | * THE SUBROUTINE IS ENTERED BY A LIBF PNCHZ * T5G00170
18 | * * T5G00180
19 | *INPUT- * T5G00190
20 | * * XR1 CONTAINS THE I/O BUFFER ADDRESS * T5G00200
21 | * * XR2 CONTAINS THE CHARACTER COUNT OF 80 * T5G00210
22 | * * THE ACC CONTAINS A 2 TO INDICATE PUNCHING * T5G00220
23 | * * T5G00230
24 | *OUTPUT- * T5G00240
25 | * * A PUNCHED CARD IN HOLLERITH * T5G00250
26 | * * T5G00260
27 | *EXTERNAL REFERENCES- * T5G00270
28 | * * HOLEZ * T5G00280
29 | * * $PRET * T5G00290
30 | * * $PST4 * T5G00300
31 | * * $LAST T5G00310
32 | * * T5G00320
33 | *EXITS- * T5G00330
34 | * NORMAL * T5G00340
35 | * * CALL PORTION -PNCHZ+1,BACK TO SFIO PROG * T5G00350
36 | * * INTERRUPT PORTION- PZ060, BACK TO ILS04 * T5G00360
37 | * ERROR- * T5G00370
38 | * * $PRET-SYSTEM PREOPERATIVE ERROR TRAP * T5G00380
39 | * WHEN NOT READY * T5G00390
40 | * * $PST4-SYSTEM POSTOPERATIVE ERROR TRAP * T5G00400
41 | * WHEN ERROR OR FEED CHECK * T5G00410
42 | * * T5G00420
43 | *TABLES/WORK AREAS-N/A * T5G00430
44 | * * T5G00440
45 | *ATTRIBUTES-RELOCATABLE * T5G00450
46 | * * T5G00460
47 | *NOTES-REGISTERS NOT SAVED * T5G00470
48 | * * T5G00480
49 | *************************************************** T5G00490
PNCHZ
51 | * T5G00510
52 | * SYSTEM LOCATIONS T5G00520
53 | * T5G00530
0028 54 | $PRET EQU /28 ADDR PRE-OP ERROR TRAP T5G00540
008D 55 | $PST4 EQU /8D ADDR POST-OP ERROR TRAP T5G00550
0033 56 | $LAST EQU /33 SYSTEM LAST CARD INDICATOR T5G00560
57 | * T5G00570
58 | *************************************************** T5G00580
59 | * * T5G00590
60 | *NOTE-COMMENTS START IN COL. 45 OF THIS PROGRAM * T5G00600
61 | * * T5G00610
62 | *************************************************** T5G00620
63 | * T5G00630
64 | * LIBF ENTRY POINT FROM SFIO T5G00640
65 | * T5G00650
0000 7019 66 | PNCHZ MDX PZ100 BRANCH AROUND ENTRY POINTS. T5G00660
0001 4C80 0000 67 | PZ020 BSC I *-* LOADER STORES TV ADDRESS. T5G00670
0003 0000 68 | PZ040 DC *-* ROUTINE BUSY INDICATOR. T5G00680
69 | * T5G00690
70 | * COLUMN INTERRUPT ENTRY POINT T5G00700
71 | * T5G00710
0004 0000 72 | PZ060 DC *-* COLUMN INTERRUPT ENTRANCE. T5G00720
0005 0834 73 | XIO PZ320 SENSE WITH RESET. T5G00730
0006 7027 74 | MDX PZ200 BR TO SERVICE COLUMN INTRPT T5G00740
75 | * T5G00750
76 | * OPERATION COMPLETE ENTRY POINT T5G00760
77 | * T5G00770
0007 0000 78 | PZ080 DC *-* OP COMPLETE INTRPT ENTRANCE T5G00780
0008 0831 79 | XIO PZ320 SENSE WITH RESET T5G00790
0009 1003 80 | SLA 3 ERROR-C, LAST CD-SIGN T5G00800
000A 4C02 0013R 81 | BSC L PZ090,C BRANCH IF ERROR T5G00810
000C 1004 82 | SLA 4 SHIFT FEED CHECK BIT T5G00840
000D 4C28 0013R 83 | BSC L PZ090,+Z BR ON FEED CHECK ERROR T5G00850
000F 1010 84 | SLA 16 CLEAR ROUTINE T5G00860
0010 D0F2 85 | STO PZ040 *BUSY INDICATOR. T5G00870
0011 4C80 0007R 86 | PZ085 BSC I PZ080 RETURN TO INTERRUPT LEVEL4 T5G00880
0013 C026 87 | PZ090 LD PZ320 SET UP NEW ENTRY POINT FOR T5G00890
0014 D480 000C 88 | STO I 12 *RETRY OF OPERATION. T5G00900
0016 C029 89 | LD PZ400 POST-OP ERROR INDICATOR T5G00910
0017 4400 008D 90 | BSI L $PST4 BR TO POST-OP ERR TRAP T5G00920
0019 70F7 91 | MDX PZ085 BR OUT OF INTERRUPT T5G00930
92 | * T5G00940
93 | * MAINLINE INITIALIZATION AND PROCESS T5G00950
94 | * T5G00960
001A 6902 95 | PZ100 STX 1 PZ120+1 SAVE BUFR ADDR FOR RECOVERY T5G00970
001B 0859*3169 96 | LIBF HOLEZ CONVERT BUFFER TO HOLLERITH T5G00980
001C 6500 0000 97 | PZ120 LDX L1 *-* LOAD STARTING BUFR ADDR T5G00990
001E 691D 98 | STX 1 PZ340 SET PUNCH WD W/ BUFR ADDR T5G01000
001F 7401 0003R 99 | MDX L PZ040,1 SET ROUTINE BUSY INDICATOR T5G01010
100 | * T5G01020
0021 0818 101 | XIO PZ320 2-6 T5G01040
0022 1003 102 | SLA 3 TEST FOR LAST CARD T5G01050
0023 4828 103 | BSC +Z SKIP IF NOT LAST CARD T5G01060
104 | * T5G01070
0024 081B 105 | XIO PZ400 FEED LAST CARD T5G01080
106 | * T5G01090
0025 1000 107 | NOP T5G01100
0026 0813 108 | XIO PZ320 SENSE WITH RESET T5G01110
109 | * T5G01120
0027 4804 110 | BSC E SKIP IF 1442 IS READY T5G01130
111 | * T5G01140
0028 700A 112 | MDX PZ290 GO TO PRE-OP ERR TRAP EXIT T5G01150
0029 0814 113 | XIO PZ360 INITIATE PUNCH OPERATION. T5G01160
002A 7400 0003R 114 | MDX L PZ040,0 LOOP UNITL INTERRUPTION OR T5G01170
002C 70FD 115 | MDX *-3 *ROUTINE BUSY INDR = 0. T5G01180
116 | * T5G01190
002D 70D3 117 | MDX PZ020 BRANCH TO RETURN TO USER T5G01200
118 | * T5G01210
119 | * COLUMN INTERRUPT ENTRANCE T5G01220
120 | * T5G01230
002E 080D 121 | PZ200 XIO PZ340 PUNCH A COLUMN. T5G01240
002F 7401 003CR 122 | MDX L PZ340,1 INCR 1ST WORD OF PUNCH IOCC T5G01250
0031 4C80 0004R 123 | BSC I PZ060 RETURN TO INTERRUPT LEVEL 0 T5G01260
124 | * T5G01270
125 | * PRE-OPERATIVE ERROR-1442 NOT READY T5G01280
126 | * T5G01290
0033 C00C 127 | PZ290 LD PZ400 PRE-OP ERR INDICATOR T5G01300
0034 4400 0028 128 | BSI L $PRET BR TO PRE-OP ERR TRAP T5G01310
0036 70E5 129 | MDX PZ120 BR TO CONTINUE PROCESSING T5G01320
130 | * T5G01330
131 | * CONSTANTS AND STORAGE AREAS T5G01340
132 | * T5G01350
0038 0000 0000 133 | PZ300 DEC 0 WORDS FOR SAVING ACC/EXT. T5G01360
003A 001CR 134 | PZ320 DC PZ120 ADDR OF ERROR REENTRY POINT T5G01370
003B 1703 135 | DC /1703 WRD 2 OF SENSE W/RESET IOCC T5G01380
003C 0000 136 | PZ340 DC *-* PUNCH T5G01390
003D 1100 137 | DC /1100 *IOCC. T5G01400
003E 0000 138 | PZ360 DC *-* INITIALIZE WRITE T5G01410
003F 1401 139 | DC /1401 *IOCC. T5G01420
0040 1000 140 | PZ400 DC /1000 ERROR INDICATOR TO DISPLAY T5G01430
0041 1402 141 | DC /1402 FEED IOCC T5G01440
0042 142 | END T5G01450
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$LAST 0033 56
$PRET 0028 54 128
$PST4 008D 55 90
PNCHZ 0000R 66
PZ020 0001R 67 117
PZ040 0003R 68 85 99 114
PZ060 0004R 72 123
PZ080 0007R 78 86
PZ085 0011R 86 91
PZ090 0013R 87 81 83
PZ100 001AR 95 66
PZ120 001CR 97 95 129 134
PZ200 002ER 121 74
PZ290 0033R 127 112
PZ300 0038R 133
PZ320 003AR 134 73 79 87 101 108
PZ340 003CR 136 98 121 122
PZ360 003ER 138 113
PZ400 0040R 140 89 105 127