SNODEF
COMMON
TITLE TYPE, MACRO, AND GLOBAL CELL DECLARATIONS SNODEF 1
* SNODEF 2
* SOME PARAMETERS AND CONSTANTS SNODEF 3
* SNODEF 4
TSS EQU 0 . THIS IS NOT THE TSS VERSION SNODEF 5
TRCFLG EQU 1 . ASSEMBLE IN THE MACHINE LANG. TRACESNODEF 6
* SNODEF 7
CHSIZ EQU 6 . BITS/CHARACTER SNODEF 8
CHMASK EQU 77B . 2 @ CHSIZ - 1 SNODEF 9
CHPWD EQU 42/CHSIZ . CHARACTERS/WORD SNODEF 10
* SNODEF 11
* SIMPLE VARIABLE TYPES SNODEF 12
* SNODEF 13
SFTY EQU 0 . TEMPORARY STRING IN LIST FORM SNODEF 14
STY EQU 1 . STRING IN CHARACTER FORM SNODEF 15
SSTY EQU 2 . STRING IN LIST FORM SNODEF 16
SITY EQU 3 . INTEGER CONSTANTS SNODEF 17
PSTY EQU 4 . SIMPLE PATTERN SNODEF 18
PATY EQU 5 . ALTERNATED PATTERNS SNODEF 19
PETY EQU 6 . CONCATENATED PATTERNS SNODEF 20
ITY EQU 7 . BINARY INTEGER SNODEF 21
RTY EQU 8 . REAL VALUE SNODEF 22
ATY EQU 9 . ARRAY REFERENCE SNODEF 23
DTY EQU 10 . DATA REFERENCE SNODEF 24
NTY EQU 11 . NAME SNODEF 25
CTY EQU 12 . CODE REFERENCE SNODEF 26
INTY EQU 13 . INPUT ASSOCIATED SNODEF 27
OUTTY EQU 14 . OUTPUT ASSOCIATED SNODEF 28
SPECTY EQU 14 . LEFT OPERAND IN STACK SNODEF 29
* SNODEF 30
* STATIC RECORD TYPES SNODEF 31
* SNODEF 32
VARTYP EQU 37B-1 . SIMPLE VARIABLE SNODEF 33
CALLTYP EQU 37B-2 . FUNCTION SNODEF 34
LBLTYP EQU 37B-3 . LABEL SNODEF 35
LITTYP EQU 37B-4 . LITERAL STRING SNODEF 36
INTTYP EQU 37B-6 . INTEGER CONSTANT SNODEF 37
REALTYP EQU 37B-7 . REAL CONSTANT SNODEF 38
STRTYP EQU 37B-10B . ARRAY/DATA STRUCTURE SNODEF 39
FILTYP EQU 37B-11B . FET AND I/O BUFFER SNODEF 40
DOPTYP EQU 37B-12B . DOPE VECTOR SNODEF 41
CODTYP EQU 37B-13B . COMPILED MICROCODE SNODEF 42
FRETYP EQU 37B-14B . FREE HEAP BLOCK SNODEF 43
* SNODEF 44
* FUNCTION TYPES SNODEF 45
* SNODEF 46
PROCTYP EQU 0 . PROCEDURE SNODEF 47
UNDFTYP EQU 1 . UNDEFINED FUNCTION OR LABEL SNODEF 48
DATATYP EQU 3 . DATA CONSTRUCTOR SNODEF 49
FLDTYP EQU 10B . FIELD SELECTOR SNODEF 50
* SNODEF 51
* LABEL TYPES SNODEF 52
* SNODEF 53
LPRGDFTY EQU 0 . PROGRAM-DEFINED LABEL SNODEF 54
LUNDFTY EQU 1 . UNDEFINED LABEL (SAME AS UNDFTYP) SNODEF 55
LRETY EQU 2 . RETURN LABEL SNODEF 56
LFRETY EQU 3 . FRETURN LABEL SNODEF 57
LNRETY EQU 4 . NRETURN LABEL SNODEF 58
LENDTY EQU 5 . END LABEL SNODEF 59
* SNODEF 60
* MACRO TO CALL A SUBROUTINE SNODEF 61
* SNODEF 62
CALL MACRO A,REG,RET SNODEF 63
LOCAL NEXT SNODEF 64
XX IFC NE,/REG// SNODEF 65
YY IFC NE,/RET// SNODEF 66
S_REG RET SNODEF 67
YY ELSE SNODEF 68
S_REG NEXT SNODEF 69
YY ENDIF SNODEF 70
XX ELSE SNODEF 71
YY IFC NE,/RET// SNODEF 72
SB1 RET SNODEF 73
YY ELSE SNODEF 74
SB1 NEXT SNODEF 75
YY ENDIF SNODEF 76
XX ENDIF SNODEF 77
JP A SNODEF 78
NEXT BSS 0 SNODEF 79
ENDM SNODEF 80
* SNODEF 81
* MACRO TO SWITCH ON DATATYPE SNODEF 82
* SNODEF 83
SWITCH MACRO Q,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O SNODEF 84
+ VFD 4/O,4/N,4/M,4/L,4/K,4/J,4/I,4/H,4/G,4/F,4/E,4/D,4/C,4/B,4/ASNODEF 85
Q BSS 0 SNODEF 86
ENDM SNODEF 87
* SNODEF 88
* MACROS TO TEST A CHARACTER. SNODEF 89
* SNODEF 90
IFCH MACRO CHAR,WHERE SNODEF 91
SX7 X2-1R_CHAR SNODEF 92
ZR X7,WHERE SNODEF 93
ENDM SNODEF 94
* SNODEF 95
IFNCH MACRO CHAR,WHERE SNODEF 96
SX7 X2-1R_CHAR SNODEF 97
NZ X7,WHERE SNODEF 98
ENDM SNODEF 99
* SNODEF 100
* MACRO TO GENERATE AN SS TYPE SVD FOR A GIVEN STRING. SNODEF 101
* THE 'LAST' FIELD OF THE SVD IS ASSEMBLED RELATIVE TO 'FIRST'. SNODEF 102
PERMSS MACRO STRING SNODEF 103
LOCAL FIRST,LAST,CLENGTH SNODEF 104
VFD 5/SSTY,1/0,18/CLENGTH,18/LAST-FIRST,18/FIRST SNODEF 105
PERMSTR (STRING),FIRST,LAST,CLENGTH SNODEF 106
ENDM SNODEF 107
* SNODEF 108
* FOLLOWING MACRO ASSEMBLES A (7 CHARACTER/WORD, LINKED-FORMAT) STRING,SNODEF 109
* SETTING THE ?BY NAME? PARAMETERS FIRST , LAST , AND CLENGTH SNODEF 110
* APPROPRIATELY. SNODEF 111
PERMSTR MACRO STRING,FIRST,LAST,CLENGTH SNODEF 112
LOCAL NEXT,TLEN SNODEF 113
PERMSTRF MICRO 1,7,?_STRING_? SNODEF 114
PERMSTRR MICRO 8,,?_STRING_? SNODEF 115
PERMSTRX IFC EQ,?_'PERMSTRR'_?_? SNODEF 116
TLEN SET 0 SNODEF 117
PERMSTRR MICRO 1,,?_STRING_? SNODEF 118
DUP 7 SNODEF 119
PERMSTRY IFC EQ,?_'PERMSTRR'_?_? SNODEF 120
STOPDUP SNODEF 121
PERMSTRY ELSE SNODEF 122
PERMSTRR MICRO 2,,?_'PERMSTRR'_? SNODEF 123
TLEN SET TLEN+1 SNODEF 124
PERMSTRY ENDIF SNODEF 125
ENDD SNODEF 126
PERMSTRN MICRO TLEN+1,1,?01234567? SNODEF 127
FIRST BSS 0 SNODEF 128
LAST VFD 42/_'PERMSTRN'_L_STRING,18/0 SNODEF 129
CLENGTH EQU TLEN SNODEF 130
PERMSTRX ELSE SNODEF 131
FIRST VFD 42/7L_'PERMSTRF'_,18/NEXT SNODEF 132
PERMSTR (_'PERMSTRR'_),NEXT,LAST,TLEN SNODEF 133
CLENGTH EQU TLEN+7 SNODEF 134
PERMSTRX ENDIF SNODEF 135
ENDM SNODEF 136
* SNODEF 137
* MACROS TO CALL DEBUG PACKAGE. SNODEF 138
TRACE MACRO MODE,ADDR,REGS SNODEF 139
TR IFC EQ,/MODE// SNODEF 140
* BEGIN TRACING (MAY BE TRACED): SNODEF 141
RJ =XTRACE. SNODEF 142
TR ENDIF SNODEF 143
LI IFC EQ,/MODE/LIST/ SNODEF 144
* BEGIN LISTING (EFFECTIVE ONLY IF CURRENTLY TRACING): SNODEF 145
NO 2 SNODEF 146
LI ENDIF SNODEF 147
NOLI IFC EQ,/MODE/NOLIST/ SNODEF 148
* STOP LISTING (EFFECTIVE ONLY IF CURRENTLY TRACING): SNODEF 149
NO 1 SNODEF 150
NOLI ENDIF SNODEF 151
NOTR IFC EQ,/MODE/NOTRACE/ SNODEF 152
* STOP TRACING (NO-OPS IF NOT TRACED): SNODEF 153
RJ =XUTRACE. SNODEF 154
NOTR ENDIF SNODEF 155
RF IFC EQ,/MODE/REFSTOP/ SNODEF 156
* SET REFERENCE STOP (EFFECTIVE ANY TIME): SNODEF 157
RJ =XCMREF. SNODEF 158
VFD 6/0,24/REGS,30/ADDR SNODEF 159
RF ENDIF SNODEF 160
ENDM SNODEF 161
* SNODEF 162
* SYMBOLS DESCRIBING FILTYP HEAP BLOCKS SNODEF 163
* SNODEF 164
FI.RFC EQU 1 . EOI FLAG, REFERENCE COUNT SNODEF 165
FI.FET EQU 2 . BEGINNING OF FILE ENVIRONMENT TABLESNODEF 166
FI.BUF EQU 7 . BEGINNING OF CIRCULAR BUFFER SNODEF 167
* SNODEF 168
* SYMBOLS DESCRIBING SCOPE FILE ENVIRONMENT TABLES (FETS) SNODEF 169
* SNODEF 170
FET.LFN EQU 0 . LOGICAL FILE NAME, CODE AND STATUS SNODEF 171
FET.FRST EQU 1 . FIRST POINTER SNODEF 172
FET.IN EQU 2 . IN POINTER SNODEF 173
FET.OUT EQU 3 . OUT POINTER SNODEF 174
FET.LIM EQU 4 . LIMIT POINTER SNODEF 175
FET.LEN EQU 5 . ACTUAL LENGTH OF FET SNODEF 176
FET.SZ EQU 1 . PSEUDO SIZE = FAKE LENGTH - 1 SNODEF 177
* SNODEF 178
* SYMBOLS DEFINING BITS WITHIN THE SCOPE FET STATUS FIELD SNODEF 179
* SNODEF 180
FS.BUSY EQU 59-0 . COMPLETION BIT SNODEF 181
FS.MODE EQU 59-1 . PARITY BIT, 0 = EVEN = CODED SNODEF 182
FS.EOF EQU 59-3 . END OF FILE (WITH FS.EOR) SNODEF 183
FS.EOR EQU 59-4 . END OF RECORD SNODEF 184
FS.EOI EQU 59-9 . END OF INFORMATION SNODEF 185
* SNODEF 186
STREAM MACRO STRM,XSCR SNODEF 187
IFC EQ,/XSCR// SNODEF 188
SA1 STRM SNODEF 189
SB2 X1 SNODEF 190
ELSE SNODEF 191
SA.XSCR STRM SNODEF 192
SB2 X.XSCR SNODEF 193
ENDIF SNODEF 194
ENDM SNODEF 195
* SNODEF 196
CIO MACRO CODE,RCLFLAG SNODEF 197
IFC EQ,/RCLFLAG// SNODEF 198
MX0 60 SNODEF 199
ELSE SNODEF 200
MX0 59 SNODEF 201
ENDIF SNODEF 202
SX7 CODE SNODEF 203
RJ =XCALLCIO SNODEF 204
ENDM SNODEF 205
* SNODEF 206
CIO.READ EQU 10B . BUFFERED READ SNODEF 207
CIO.WRIT EQU 14B . BUFFERED WRITE SNODEF 208
CIO.WEOR EQU 24B . WRITE END OF RECORD (FLUSH BUFFER) SNODEF 209
CIO.BWRR EQU 26B . BINARY MODE WRITE EOR SNODEF 210
CIO.RWND EQU 50B . REWIND FILE SNODEF 211
* SNODEF 212
RCL MACRO AUTOFLAG SNODEF 213
IFC EQ,/AUTOFLAG// SNODEF 214
MX0 60 SNODEF 215
ELSE SNODEF 216
MX0 59 SNODEF 217
ENDIF SNODEF 218
RJ =XCALLRCL SNODEF 219
ENDM SNODEF 220
* SNODEF 221
* MACRO TO WAIT FOR FILE ACTIVITY TO CEASE. USES X0, A2-X2, A7-X7. SNODEF 222
* SNODEF 223
WARTAUF MACRO SNODEF 224
LOCAL NEXT SNODEF 225
SA2 B2+FI.FET+FET.LFN SNODEF 226
LX2 FS.BUSY SNODEF 227
NG X2,NEXT SNODEF 228
RCL AUTO SNODEF 229
NEXT BSS 0 SNODEF 230
ENDM SNODEF 231
* SNODEF 232
* MACRO TO GENERATE RUN-TIME ERROR MESSAGE: SNODEF 233
MACRO ERROR,LABEL,NUMBER SNODEF 234
XX IFC NE,/LABEL/+/ SNODEF 235
YY IFC NE,/LABEL// SNODEF 236
ENTRY LABEL SNODEF 237
YY ENDIF SNODEF 238
XX ENDIF SNODEF 239
LABEL SB5 NUMBER SNODEF 240
JP RTERROR SNODEF 241
ENDM SNODEF 242
* SNODEF 243
* LOWCORE SNODEF 244
EXT BGP3STK,BGP2STK SNODEF 245
EXT HASHLWD,HASHLN,HASHTBL SNODEF 246
EXT FIELDLN,MAXLS,MAXHS,MINHS SNODEF 247
EXT MAXSTAK,MINSTAK SNODEF 248
EXT NXTWRD,FRSTWRD SNODEF 249
EXT INFAIL SNODEF 250
EXT CODLIST,FILLIST,FHBLRP SNODEF 251
EXT INSTRM,OUTSTRM,BUFFSIZ SNODEF 252
EXT FLDLM,MXLNGTH,STCOUNT,STLIM,ANCHOR SNODEF 253
EXT INTRPT,STATWD,STATHBC,STATSC,STATTRC SNODEF 254
EXT FREQWD SNODEF 255
EXT ARROWD,MAXSTAT,LBLLINK,VARLINK SNODEF 256
EXT TESTCND,TSTPMOP,PRGBASE SNODEF 257
EXT COMPB7,P1ERFLG,LC,PAGENO,RULENO SNODEF 258
EXT P1MAX,P1TEMP1,P1TEMP2,P1TEMP3,P4SVX4,P4SVB5 SNODEF 259
EXT CURWD,P0STWD,P1LTFLG SNODEF 260
EXT PIX,SIX,PIB,LENFAIL,SBASE SNODEF 261
EXT TEMPDOL,SLENGTH,PCHAIN SNODEF 262
EXT PMASX6,PMASX0,PMASX3,PMASX2,PMASX4 SNODEF 263
EXT PMASB1,PMASB2,PMASB4 SNODEF 264
EXT CALLB5P,DATAWD,PMA5,SPOS,DTYPWD,UA SNODEF 265
EXT PMSTX3,PMSTB1,PMSTB3,PMSTB4 SNODEF 266
EXT PMFA0,PMFX4,PMFA4 SNODEF 267
EXT MSGSTAT SNODEF 268
EXT QARSV,QIOSV,QDEFSV1,QDEFSV2,QDEFSV3 SNODEF 269
EXT QFRZSV,QEQSV,QDATSV1 SNODEF 270
EXT VIPTR,VLASTB,VNWLS,VNCODB,VNFHB,VNFILB SNODEF 271