ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020
Source File: \t5wrtyz.asm
1 | * JULY 6,1967 T5L00010
WRTYZ
3 | LIBR T5L00030
4 | ISS 02 WRTYZ 4 T5L00040
5 | *************************************************** T5L00050
6 | *STATUS-VERSION 2,MODIFICATION 9 * T5L00060
7 | * * T5L00070
8 | *FUNCTION/OPERATION- * T5L00080
9 | * THIS SUBROUTINE IS USED BY FORTRAN PROGRAMS TO* T5L00090
10 | * WRITE ON THE TYPEWRITER WHEN NO KEYBOARD INPUT* T5L00100
11 | * IS REQUESTED. IF KEYBOARD INPUT IS REQUESTED * T5L00110
12 | * SUBROUTINE TYPEZ IS USED FOR BOTH INPUT AND * T5L00120
13 | * OUTPUT. * T5L00130
14 | * * T5L00140
15 | * * T5L00150
16 | *ENTRY POINTS- * T5L00160
17 | * * WRTYZ-CALL PORTION OF ROUTINE FROM FORTRAN * T5L00170
18 | * SFIO PROGRAM * T5L00180
19 | * * TZ100-INTERRUPT ENTRY FROM ILS SUBROUTINE * T5L00190
20 | * THE SUBROUTINE IS ENTERED BY A LIBF WRTYZ * T5L00200
21 | * * T5L00210
22 | *INPUT- * T5L00220
23 | * * XR1 CONTAINS THE I/O BUFFER ADDRESS * T5L00230
24 | * * XR2 CONTAINS THE CHARACTER COUNT * T5L00240
25 | * * T5L00250
26 | *OUTPUT- * T5L00260
27 | * * T5L00270
28 | * A MAXIMUM OF 120 CHARACTERS ON THE TYPEWRITER * T5L00280
29 | * INCLUDING SPECIAL TYPEWRITER CONTROLS (IE TAB)* T5L00290
30 | * * T5L00300
31 | *EXTERNAL REFERENCES- * T5L00310
32 | * * $PRET-SYSTEM PRE-OPERATIVE ERROR TRAP * T5L00320
33 | * * GETAD-A SUBROUTINE TO GET EFFECTIVE ADDRESS * T5L00330
34 | * OF CONVERSION TABLE * T5L00340
35 | * * EBCTB-CONVERSION TABLE * T5L00350
36 | * * T5L00360
37 | *EXITS- * T5L00370
38 | * NORMAL- * T5L00380
39 | * * CALL PORTION-WRTYZ+1 BACK TO SFIO * T5L00390
40 | * * INTERRUPT PORTION-TZ100 BACK TO ILS PROG * T5L00400
41 | * ERROR- * T5L00410
42 | * * $PRET-SYSTEM PREOPERATIVE ERROR TRAP * T5L00420
43 | * * T5L00430
44 | *TABLES/WORK AREAS-N/A * T5L00440
45 | * * T5L00450
46 | *ATTRIBUTES-RELOCATABLE * T5L00460
47 | *NOTES-REGISTERS NOT SAVED * T5L00470
48 | * * T5L00480
49 | *************************************************** T5L00490
WRTYZ
51 | * T5L00510
52 | * SYSTEM COMMUNICATION WORD T5L00520
53 | * T5L00530
0028 54 | $PRET EQU /28 SYSTEM PRE-OP ERR TRAP T5L00540
55 | * T5L00550
56 | * PROGRAM ENTRY POINT T5L00560
57 | * T5L00570
0000 7008 58 | WRTYZ MDX TZ200 PROGRAM ENTRY, BR TO START T5L00580
0001 4C80 0000 59 | BSC I *-* RETURN FROM PROGRAM T5L00590
0003 0000 60 | TZ010 DC 0 INTERRUPT WAIT INDICATOR T5L00600
61 | * T5L00610
62 | * INTERRUPT ENTRY- $ILS4 BRANCHES HERE T5L00620
63 | * WHEN INTERRUPT OCCURS. THIS PORTION T5L00630
64 | * PROCESSES INTERRUPTS AND RETURNS TO T5L00640
65 | * THE POINT WHERE THE INTERRUPT OCCURED T5L00650
66 | * THROUGH THE $ILS4 SUBROUTINE. T5L00660
67 | * T5L00670
0004 0000 68 | TZ100 DC *-* INTERRUPT ENTRY T5L00680
0005 0826 69 | XIO TZ900 SENSE AND RESET T5L00690
0006 68FC 70 | STX TZ010 SET FLAG TO IND INTERRUPT T5L00700
0007 4C80 0004R 71 | BSC I TZ100 RETURN TO $ILS4 T5L00710
72 | * T5L00720
73 | * WRTYZ MAINLINE PORTION T5L00730
74 | * INITIALIZE SUBROUTINE T5L00740
75 | * T5L00750
0009 7201 76 | TZ200 MDX 2 1 INCR CHAR CNT FOR CARR RET T5L00760
000A 402A 77 | BSI TZ400 BR TO SEE IF TW READY T5L00770
000B 6A27 78 | STX 2 TZ907 SAVE CHARACTER COUNT T5L00780
000C C023 79 | LD TZ904 LOAD CARR RETURN CHAR T5L00790
000D 7011 80 | MDX TZ330 BR TO STO CHAR & RET CARR T5L00800
81 | * T5L00810
82 | * MAIN LOOP, LOOPS THROUGH CHARACTERS, T5L00820
83 | * CONVERTS THEM TO TYPEWRITER CODE T5L00830
84 | * AND TYPES THEM OUT T5L00840
85 | * T5L00850
000E 7101 86 | TZ300 MDX 1 1 T5L00860
000F C022 87 | LD TZ906 LOAD CONVERSION TABLE LIBF T5L00870
0010 0716*3044 88 | LIBF GETAD BR TO GET EFFECTIVE ADDR T5L00880
0011 D003 89 | STO TZ310+1 SAVE EFFECTIVE ADDR OF TBL T5L00890
0012 62C5 90 | LDX 2 -59 GET CHAR CNT OF TABLE T5L00900
0013 1090 91 | SLT 16 CLEAR EXTENSION T5L00910
0014 C600 0000 92 | TZ310 LD L2 *-* GET EBC CHAR FROM TABLE T5L00920
0016 18C8 93 | RTE 8 SHIFT TW CHAR TO EXTENSION T5L00930
0017 F1FF 94 | EOR 1 -1 COMPARE EBC CHAR WITH BUFR T5L00940
0018 1008 95 | SLA 8 IGNORE LEFT HALF-WORD 2-9 T5L00945
0019 4C18 001ER 96 | BSC L TZ320,+- BR IF CHARS EQUAL T5L00950
001B 7201 97 | MDX 2 1 INCR TABLE ADDRESS T5L00960
001C 70F6 98 | MDX TZ310-1 CHK NXT CHAR IN TBL IF ANY T5L00970
001D C813 99 | LDD TZ905 NO MATCH, INSERT BLANKS T5L00980
100 | * T5L00990
101 | * CHARACTER MATCHES TABLE. REPLACE WITH T5L01000
102 | * TYPEWRITER CHARACTER FROM EXTENSION T5L01010
103 | * T5L01020
001E 18D0 104 | TZ320 RTE 16 SHIFT CHAR FROM EXTENSION T5L01030
001F D014 105 | TZ330 STO TZ908 STORE IN OUTPUT BUFFER WD T5L01040
0020 080D 106 | XIO TZ902 TYPE CHARACTER T5L01050
107 | * T5L01060
108 | * WAIT UNTIL INTERRUPT OCCURS T5L01070
109 | * T5L01080
0021 C0E1 110 | TZ340 LD TZ010 LOAD INTERRUPT INDICATOR T5L01090
0022 4C18 0021R 111 | BSC L TZ340,+- LOOP IF INDR = 0 T5L01100
0024 1010 112 | SLA 16 CLEAR INDICATOR FOR T5L01110
0025 D0DD 113 | STO TZ010 *NEXT INTERRUPT T5L01120
114 | * READY TEST TO SEE IF FORMS CHECK T5L01130
0026 400E 115 | BSI TZ400 BR TO TEST IF TW READY T5L01140
0027 74FF 0033R 116 | MDX L TZ907,-1 DECR CHARACTER COUNT T5L01150
0029 70E4 117 | MDX TZ300 GO TO TYPE NEXT CHARACTER T5L01160
002A 70D6 118 | MDX WRTYZ+1 RETURN TO SFIO PROGRAM T5L01170
119 | * T5L01180
120 | * CONSTANTS AND WORK AREAS T5L01190
121 | * T5L01200
002C 122 | BSS E 0 T5L01210
002C 2000 123 | TZ900 DC /2000 SENSE IOCC AND ERR INDR T5L01220
002D 0F01 124 | DC /0F01 T5L01230
002E 0034R 125 | TZ902 DC TZ908 PRINT IOCC T5L01240
002F 0900 126 | DC /0900 T5L01250
0030 8100 127 | TZ904 DC /8100 CARRIAGE RETURN CONSTANT T5L01260
0031 2100 128 | TZ905 DC /2100 BLANK IN TW CODE (ODD LOC) T5L01270
0032 0508*38C2 129 | TZ906 LIBF EBCTB CALL TO EBC CONV T5L01280
0033 0000 130 | TZ907 DC 0 CHARACTER COUNT T5L01290
0034 0000 131 | TZ908 DC 0 CHAR PRINT BUFFER T5L01300
002CR 132 | TZ909 EQU TZ900 ERROR INDICATOR T5L01310
133 | * T5L01320
134 | * THE FOLLOWING CODING CHECKS TO SEE T5L01330
135 | * IF THE TYPEWRITER IS IN READY STATUS. T5L01340
136 | * IF NOT, AN ERROR CODE IS LOADED INTO T5L01350
137 | * THE ACC AND THE PROGRAM BRANCHES TO T5L01360
138 | * THE SYSTEM PRE OPERATIVE ERROR TRAP T5L01370
139 | * * T5L01380
0035 0000 140 | TZ400 DC *-* BSI ENTRY POINT T5L01390
0036 08F5 141 | XIO TZ900 SENSE TO GET DSW T5L01400
0037 1005 142 | SLA 5 SHIFT TW BUSY BIT TO SIGN T5L01410
0038 4C90 0035R 143 | BSC I TZ400,- RETURN UNLESS BUSY T5L01420
003A C0F1 144 | LD TZ909 LOAD ERROR INDR (/200) T5L01430
003B 4400 0028 145 | BSI L $PRET BR TO PRE-OP ERR TRAP T5L01440
003D 70F8 146 | MDX TZ400+1 BR TO TRY AGAIN T5L01450
003E 147 | END T5L01460
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$PRET 0028 54 145
TZ010 0003R 60 70 110 113
TZ100 0004R 68 71
TZ200 0009R 76 58
TZ300 000ER 86 117
TZ310 0014R 92 89 98
TZ320 001ER 104 96
TZ330 001FR 105 80
TZ340 0021R 110 111
TZ400 0035R 140 77 115 143 146
TZ900 002CR 123 69 132 141
TZ902 002ER 125 106
TZ904 0030R 127 79
TZ905 0031R 128 99
TZ906 0032R 129 87
TZ907 0033R 130 78 116
TZ908 0034R 131 105 125
TZ909 002CR 132 144
WRTYZ 0000R 58 118