ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020
Source File: \t5typez.asm
TYPEZ
2 | LIBR T5K00020
3 | ISS 02 TYPEZ 4 T5K00030
4 | *************************************************** T5K00040
5 | * * T5K00050
6 | *STATUS- VERSION 2, MODIFICATION 10 * T5K00060
7 | * * T5K00070
8 | *FUNCTION/OPERATION- * T5K00080
9 | * TYPEZ IS A SUBROUTINE TO READ KEYBOARD INPUT * T5K00090
10 | * AND TYPE IT BACK OUT TO THE OPERATOR ALONE OR * T5K00100
11 | * TO TYPE DATA FROM CORE ON THE TYPEWRITER. * T5K00110
12 | * TYPEZ IS CALLED FROM FORTRAN VIA THE SFIO * T5K00120
13 | * SUBROUTINE AND IS A SELF CONTAINED PROGRAM TO * T5K00130
14 | * READ OR TYPE UP TO 80 CHARACTERS OF * T5K00140
15 | * INFORMATION. * T5K00150
16 | * * T5K00160
17 | *ENTRY POINTS- * T5K00170
18 | * * TYPEZ-ENTERED FROM SFIO BY A LIBF TYPEZ * T5K00180
19 | * * KZ100-INTERRUPT PROCESSING FROM THE ILS. * T5K00190
20 | * * T5K00200
21 | *INPUT- * T5K00210
22 | * * XR1 CONTAINS THE I/O BUFFER ADDRESS * T5K00220
23 | * * XR2 CONTAINS THE CHARACTER COUNT * T5K00230
24 | * * ACC CONTAINS 0 FOR READ, 2 FOR WRITE * T5K00240
25 | * * T5K00250
26 | *OUTPUT- * T5K00260
27 | * * TYPEWRITER PRINT LINE * T5K00270
28 | * * BUFFER FULL OF DATA IN EBC IF READING * T5K00280
29 | * * T5K00290
30 | *EXTERNAL REFERENCES- * T5K00300
31 | * * $PRET * T5K00310
32 | * * GETAD * T5K00320
33 | * * HOLEZ * T5K00330
34 | * * T5K00340
35 | *EXITS- * T5K00350
36 | * NORMAL- * T5K00360
37 | * * CALL PORTION-TYPEZ+1, BACK TO SFIO * T5K00370
38 | * * INTERRUPT PORTION-KZ100, BACK TO ILS * T5K00380
39 | * * T5K00390
40 | * ERROR- * T5K00400
41 | * * $PRET-MONITOR PRE OPERATIVE ERROR TRAP * T5K00410
42 | * * T5K00420
43 | *TABLES/WORK AREAS-EBCTB * T5K00430
44 | * * T5K00440
45 | *ATTRIBUTES-RELOCATABLE * T5K00450
46 | * * T5K00460
47 | *NOTES-REGISTERS NOT SAVED * T5K00470
48 | * * T5K00480
49 | *************************************************** T5K00490
TYPEZ
51 | * T5K00510
52 | * SYSTEM COMMUNICATION WORD T5K00520
53 | * T5K00530
0028 54 | $PRET EQU /28 SYSTEM PRE-OP ERROR TRAP T5K00540
0032 55 | $IOCT EQU /32 2-3 T5K00541
56 | * T5K00550
57 | * PROGRAM ENTRY POINT T5K00560
58 | * T5K00570
0000 700B 59 | TYPEZ MDX KZ200 BRANCH TO ENTRY POINT T5K00580
0001 4C80 0000 60 | BSC I *-* RETURN TO CALLING PROGRAM T5K00590
0003 0000 61 | KZ010 DC 0 INTERRUPT INDR SWITCH T5K00600
62 | * T5K00610
63 | * INTERRUPT ENTRY AND PROCESSING PROG T5K00620
64 | * ENTERED FROM ILS T5K00630
65 | * T5K00640
0004 0000 66 | KZ100 DC *-* RETURN ADDR T5K00650
0005 0858 67 | XIO KZ904 SENSE WITH RESET T5K00670
0006 D060 68 | STO KZ913 SAVE DSW T5K00680
0007 1002 69 | SLA 2 TEST FOR INT REQ 2-10 T5K00682
0008 4810 70 | BSC - SKIP IF INT REQ 2-10 T5K00684
0009 68F9 71 | STX KZ010 SET SW FOR INTERRUPT 2-10 T5K00686
000A 4C80 0004R 72 | BSC I KZ100 RETURN TO ILS T5K00690
73 | * T5K00700
74 | * MAINLINE PORTION OF PROGRAM T5K00710
75 | * INITIALIZATION PHASE T5K00720
76 | * T5K00730
000C 4818 77 | KZ200 BSC +- SKIP IF TYPING (ACC = 2) T5K00740
000D 6250 78 | LDX 2 80 SET I/P BUFR SIZE =80-READ T5K00750
000E 7201 79 | MDX 2 1 INCR SIZE FOR CARR RETURN T5K00760
000F 6A55 80 | STX 2 KZ911 SAVE BUFR CNT FOR RESTART T5K00770
0010 6904 81 | STX 1 KZ210+1 SAVE BUFR ADDR FOR RESTART T5K00780
0011 D052 82 | STO KZ910 SAVE RD-WRITE INDICATOR T5K00790
0012 1010 83 | SLA 16 CLEAR 2-10 T5K00795
0013 D0EF 84 | STO KZ010 *INTERRUPT INDR SW 2-10 T5K00797
85 | * T5K00810
86 | * RESTART ENTRY POINT IF READ ERROR T5K00820
87 | * T5K00830
88 | * T5K00840
0014 6500 0000 89 | KZ210 LDX L1 *-* SET BUFFER ADDRESS T5K00850
0016 C04E 90 | LD KZ911 LOAD WD CNT FR TEMP STO T5K00860
0017 D04E 91 | STO KZ912 SAVE IN COUNT T5K00870
0018 C043 92 | LD KZ902 LOAD CARR RETURN CHAR T5K00880
0019 7013 93 | MDX KZ260 BR TO O/P CARR RETURN T5K00890
94 | * T5K00900
95 | * RESTART PROCEDURE COMPLETE, START T5K00910
96 | * PROCESSING DATA T5K00920
97 | * T5K00930
001A C049 98 | KZ220 LD KZ910 LOAD RD/WRITE OPTION T5K00940
001B 4C18 004DR 99 | BSC L KZ400,+- BRANCH IF READ T5K00950
100 | * T5K00960
101 | * CONVERT DATA FROM EBC TO TYPEWRITER T5K00970
102 | * CODE FOR TYPING T5K00980
103 | * T5K00990
001D 7101 104 | MDX 1 1 INCR BUFFER ADDRESS T5K01000
001E C043 105 | KZ230 LD KZ908 LOAD A LIBF EBC T5K01010
001F 0716*3044 106 | LIBF GETAD GET ADDRESS OF EBC TABLE T5K01020
0020 D003 107 | STO KZ240+1 SAVE TABLE ADDRESS T5K01030
0021 62C5 108 | LDX 2 -59 LD TABLE SIZE FOR SCAN T5K01040
0022 1090 109 | SLT 16 CLEAR EXTENSION T5K01050
0023 C600 0000 110 | KZ240 LD L2 *-* GET EBC CHAR FROM TABLE T5K01060
0025 18C8 111 | RTE 8 SAVE TW CHAR IN EXTENSION T5K01070
0026 F1FF 112 | EOR 1 -1 COMPARE EBC CHAR W/ BUFR T5K01080
0027 4C18 002CR 113 | BSC L KZ250,+- BR IF EQUAL T5K01090
0029 7201 114 | MDX 2 1 INCR TABLE COUNT T5K01100
002A 70F7 115 | MDX KZ240-1 CHK NXT CHAR IN TBL IF ANY T5K01110
002B C837 116 | LDD KZ909 NO MATCH, LD BLANKS T5K01120
002C 18D0 117 | KZ250 RTE 16 SHIFT TW CHAR FR EXTENSION T5K01130
002D D03A 118 | KZ260 STO KZ914 SAVE IN O/P BUFR WORD T5K01140
002E 082F 119 | KZ261 XIO KZ904 GET SENSE DSW 2-3 T5K01142
002F 1005 120 | SLA 5 SHIFT READY IND TO SIGN2-3 T5K01143
0030 4C10 0036R 121 | BSC L KZ262,- RETURN IF READY 2-3 T5K01144
0032 C02B 122 | LD KZ915 LOAD ERROR INDICATOR 2-3 T5K01145
0033 4400 0028 123 | BSI L $PRET BR TO SYSTEM PRE-OP 2-3 T5K01146
0035 70F8 124 | MDX KZ261 BR TO TRY AGAIN 2-3 T5K01147
0036 0829 125 | KZ262 XIO KZ906 TYPE CHARACTER T5K01150
126 | * T5K01160
127 | * INTERRUPT WAIT ROUTINE. WAIT HERE T5K01170
128 | * UNTIL INTERRUPT OCCURS AND PROCESS IT T5K01180
129 | * T5K01190
0037 C0CB 130 | KZ300 LD KZ010 LOAD INTERRUPT INDR SW T5K01200
0038 4C18 0037R 131 | BSC L KZ300,+- BR IF NO INTERRUPT OCCURES T5K01210
003A 1010 132 | KZ302 SLA 16 CLEAR ACC T5K01220
003B D0C7 133 | STO KZ010 SET SW TO WAIT FOR NXT ONE T5K01230
003C C02A 134 | LD KZ913 LOAD DSW SAVED T5K01240
003D 4C28 0055R 135 | BSC L KZ500,+Z BRANCH IF TYPE T5K01250
003F 081A 136 | XIO KZ900 READ CHARACTER T5K01260
0040 C100 137 | LD 1 0 CHK IF DATA OR CONTROL T5K01270
0041 100C 138 | SLA 12 T5K01280
0042 6201 139 | LDX 2 1 SET CHAR CNT TO 1 FOR T5K01290
140 | * *HOLEZ CONVERSION T5K01300
141 | * *SUBROUTINE T5K01310
142 | * T5K01320
0043 4C30 0014R 143 | BSC L KZ210,Z- ERROR RESTART T5K01330
0045 4C10 004BR 144 | BSC L KZ320,- BRANCH IF DATA T5K01340
145 | * T5K01350
0047 C002 146 | LD KZ890 T5K01360
0048 D100 147 | STO 1 0 STORE BLANK INTO BUFFER T5K01370
0049 70B7 148 | MDX TYPEZ+1 RETURN TO USER T5K01380
149 | * T5K01390
004A 0040 150 | KZ890 DC /0040 BLANK T5K01400
151 | * T5K01410
152 | * CONVERT KEYBOARD CODE TO EBC T5K01420
153 | * T5K01430
004B 0859*3169 154 | KZ320 LIBF HOLEZ CONVERT CODE T5K01440
004C 70D1 155 | MDX KZ230 THEN, BR TO TYPE CHAR T5K01450
156 | * T5K01460
157 | * READ CHAR FROM KEYBOARD T5K01470
158 | * T5K01480
004D 080E 159 | KZ400 XIO KZ902 SELECT KEYBOARD T5K01490
004E C01A 160 | KZ401 LD KZ916 LOAD ERROR INDICATOR 2-3 T5K01492
004F 4400 0028 161 | BSI L $PRET BR TO PRE-OP ERROR TRAP2-3 T5K01493
0051 C0B1 162 | LD KZ010 LOAD INT IND SWITCH 2-3 T5K01494
0052 4C18 004ER 163 | BSC L KZ401,+- BR IF NO INT 2-3 T5K01495
0054 70E5 164 | MDX KZ302 BR TO WAIT FOR INT 2-3 T5K01500
165 | * T5K01510
166 | * TYPE CHARACTERS T5K01520
167 | * T5K01530
0055 6904 168 | KZ500 STX 1 KZ900 SAVE I/O BUFR ADDR FOR NXT T5K01540
169 | * *READ T5K01550
0056 74FF 0066R 170 | MDX L KZ912,-1 DECR CHAR CNT T5K01570
0058 70C1 171 | MDX KZ220 CHECK RD/WR IF MORE CHARS T5K01580
0059 70A7 172 | MDX TYPEZ+1 RETURN FROM SUBROUTINE T5K01590
173 | * T5K01600
174 | * CONSTANTS AND WORK AREAS T5K01610
175 | * T5K01620
005A 176 | BSS E 0 T5K01630
005A 0000 177 | KZ900 DC 0 READ IOCC T5K01640
005B 0A00 178 | DC /0A00 T5K01650
005C 8100 179 | KZ902 DC /8100 SELECT KEYBOARD IOCC T5K01660
005D 0C00 180 | DC /0C00 T5K01670
005E 2000 181 | KZ904 DC /2000 SENSE IOCC & EQUATE T5K01680
005F 0F01 182 | DC /0F01 T5K01690
0060 0068R 183 | KZ906 DC KZ914 TYPE IOCC T5K01700
0061 0900 184 | DC /0900 T5K01710
0062 0508*38C2 185 | KZ908 LIBF EBCTB EBC TBL USED TO GET ADDR T5K01720
0063 2100 186 | KZ909 DC /2100 BLANK IN TW CODE (ODD LOC) T5K01730
0064 0000 187 | KZ910 DC 0 READ/WRITE INDICATOR T5K01740
0065 0000 188 | KZ911 DC 0 INITIAL CHAR COUNT T5K01750
0066 0000 189 | KZ912 DC 0 ACTUAL CHAR COUNT T5K01760
0067 0000 190 | KZ913 DC 0 DSW WORD T5K01770
0068 0000 191 | KZ914 DC 0 READ/WRITE CHARACTER T5K01780
005ER 192 | KZ915 EQU KZ904 ERROR INDICATED PRE-OP T5K01790
0069 2002 193 | KZ916 DC /2002 2-3 T5K01791
194 | * READY TEST SUBR MOVED INLINE 2-3 T5K01800
006A 195 | END T5K01810
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$IOCT 0032 55
$PRET 0028 54 123 161
KZ010 0003R 61 71 84 130 133 162
KZ100 0004R 66 72
KZ200 000CR 77 59
KZ210 0014R 89 81 143
KZ220 001AR 98 171
KZ230 001ER 105 155
KZ240 0023R 110 107 115
KZ250 002CR 117 113
KZ260 002DR 118 93
KZ261 002ER 119 124
KZ262 0036R 125 121
KZ300 0037R 130 131
KZ302 003AR 132 164
KZ320 004BR 154 144
KZ400 004DR 159 99
KZ401 004ER 160 163
KZ500 0055R 168 135
KZ890 004AR 150 146
KZ900 005AR 177 136 168
KZ902 005CR 179 92 159
KZ904 005ER 181 67 119 192
KZ906 0060R 183 125
KZ908 0062R 185 105
KZ909 0063R 186 116
KZ910 0064R 187 82 98
KZ911 0065R 188 80 90
KZ912 0066R 189 91 170
KZ913 0067R 190 68 134
KZ914 0068R 191 118 183
KZ915 005ER 192 122
KZ916 0069R 193 160
TYPEZ 0000R 59 148 172