cdc:nos2.source:opl.opl871:common:comkfld
Common COMKFLD
1 Modification
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.comkfld +++| CTEXT COMKFLD - FIELD MARCRO. 00002 M01S00002.comkfld +++| SPACE 4 00003 M01S00003.comkfld +++| BASE D
Line S00004 Modification History | |
---|---|
M01 (Added by) | comkfld |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00004 M02S00004.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1976. 00005 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00006 M01S00005.comkfld +++|*** FLD - DEFINE FIELDS. 00007 M01S00006.comkfld +++|* G. W. PROPP. 76/05/01. 00008 M01S00007.comkfld +++|* L. E. LOVETT. 80/04/01. 00009 M01S00008.comkfld +++| FLD SPACE 4,10 00010 M01S00009.comkfld +++|* FLD - DEFINE FIELDS. 00011 M01S00010.comkfld +++|* TAGS ARE GENERATED TO GIVE THE WORD LOCATION, BIT 00012 M01S00011.comkfld +++|* LOCATION, AND NUMBER OF BITS IN FIELD. 00013 M01S00012.comkfld +++|* 00014 M01S00013.comkfld +++|* ENTRY TAG FIELD WP,LB,RP 00015 M01S00014.comkfld +++|* TAG = NAME OF FIELD (1-6 LEGAL COMPASS CHARACTERS) 00016 M01S00015.comkfld +++|* = *, USE CURRENT VALUE OF PSEUDO ORG COUNTER ORLOC1$ 00017 M01S00016.comkfld +++|* LB = LEFT-MOST BIT POSITION WITHIN A WORD (BIT 59 BEING 00018 M01S00017.comkfld +++|* SIGN BIT). 00019 M01S00018.comkfld +++|* RB = RIGHT-MOST BIT POSITION WITHIN A WORD. 00020 M01S00019.comkfld +++|* 00021 M01S00020.comkfld +++|* EXIT TAGW = WORD LOCATION OF FIELD. 00022 M01S00021.comkfld +++|* TAGS = LEFT BIT POSITION OF FIELD. 00023 M01S00022.comkfld +++|* TAGN = NUMBER OF BITS IN FIELD. 00024 M01S00023.comkfld +++| 00025 M01S00024.comkfld +++| 00026 M01S00025.comkfld +++| MACRO FIELD,TAG,WP,LB,RB 00027 M01S00026.comkfld +++| IFC NE,/WP//,4 00028 M01S00027.comkfld +++| IFC EQ,/WP/*/,2 00029 M01S00028.comkfld +++| _TAG_W EQU ORLOC1$ 00030 M01S00029.comkfld +++| SKIP 1 00031 M01S00030.comkfld +++| _TAG_W EQU WP 00032 M01S00031.comkfld +++| _TAG_S EQU LB 00033 M01S00032.comkfld +++| _TAG_N EQU LB-RB+1 00034 M01S00033.comkfld +++| ENDM 00035 M01S00034.comkfld +++| SPACE 4,30 00036 M01S00035.comkfld +++|** PUTFLD - PUT DATA INTO FIELD DEFINED BY *FIELD* MACRO. 00037 M01S00036.comkfld +++|* THE DATA TO BE STORED MUST BE CONTAINED,RIGHT JUSTIFIED, 00038 M01S00037.comkfld +++|* IN X REGISTER *Y*. 00039 M01S00038.comkfld +++|* 00040 M01S00039.comkfld +++|* ENTRY PUTFLD Y,RN,TAG 00041 M01S00040.comkfld +++|* Y = NUMERIC CHARACTER FOR X REGISTER CONTAINING 00042 M01S00041.comkfld +++|* RIGHT JUSTIFIED DATA TO BE STORED INTO FIELD *TAG*. 00043 M01S00042.comkfld +++|* 2 THRU 7 FOR X2 THRU X7 MAY BE SPECIFIED. 00044 M01S00043.comkfld +++|* RN = REGISTER CONTAINING FIRST WORD ADDRESS OF THE TABLE 00045 M01S00044.comkfld +++|* WHICH CONTAINS THE SPECIFIED FIELD *TAG*. 00046 M01S00045.comkfld +++|* REGISTER B1 - B7, A2 - A7, X1 - X6. 00047 M01S00046.comkfld +++|* X*Y*,X1,A1,X7 MAY NOT BE USED. 00048 M01S00047.comkfld +++|* TAG = NAME OF FIELD SPECIFIED FOR *FIELD* MACRO. 00049 M01S00048.comkfld +++|* 00050 M01S00049.comkfld +++|* EXIT THE CONTENTS OF X REGISTER *Y* IS STORED INTO THE 00051 M01S00050.comkfld +++|* FIELD *TAG* AT LOCATION *RN* + *TAGW*. 00052 M01S00051.comkfld +++|* ALL OTHER FIELDS IN THE SAME WORD ARE UNCHANGED. 00053 M01S00052.comkfld +++|* ON COMPLETION OF *PUTFLD*, THE RIGHT JUSTIFIED 00054 M01S00053.comkfld +++|* FIELD IN X REGISTER *Y* IS INTACT . 00055 M01S00054.comkfld +++|* REGISTERS A1, X1, A7 AND X7 ARE 00056 M01S00055.comkfld +++|* CHANGED BY *PUTFLD*. 00057 M01S00056.comkfld +++|* NOTE - *TAGW* IS THE TABLE WORD INDEX AS GENERATED 00058 M01S00057.comkfld +++|* BY THE *FIELD* MACRO. 00059 M01S00058.comkfld +++|* 00060 M01S00059.comkfld +++|* USES X*Y*, X1, X7. 00061 M01S00060.comkfld +++|* A1, A7. 00062 M01S00061.comkfld +++| 00063 M01S00062.comkfld +++| 00064 M01S00063.comkfld +++| PURGMAC PUTFLD 00065 M01S00064.comkfld +++|* 00066 M01S00065.comkfld +++| PUTFLD MACRO Y,RN,TAG 00067 M01S00066.comkfld +++| IFC EQ,/Y/1/ 00068 M01S00067.comkfld +++| ERR - DATA AND TEMP LOAD REGISTERS SAME. 00069 M01S00068.comkfld +++| ENDIF 00070 M01S00069.comkfld +++| IFC EQ,/Y/7/ 00071 M01S00070.comkfld +++| ERR - DATA AND TEMP STORE/MASK REGISTERS SAME. 00072 M01S00071.comkfld +++| ENDIF 00073 M01S00072.comkfld +++| IFC EQ,/XY/RN/ 00074 M01S00073.comkfld +++| ERR - DATA AND BASE ADDR. REGISTERS SAME. 00075 M01S00074.comkfld +++| ENDIF 00076 M01S00075.comkfld +++| IFC EQ,/RN/X1/ 00077 M01S00076.comkfld +++| ERR - BASE ADDR. AND TEMP LOAD REGISTERS SAME. 00078 M01S00077.comkfld +++| ENDIF 00079 M01S00078.comkfld +++| IFC EQ,/RN/A1/ 00080 M01S00079.comkfld +++| ERR - BASE ADDR. AND TEMP LOAD REGISTERS SAME. 00081 M01S00080.comkfld +++| ENDIF 00082 M01S00081.comkfld +++| IFC EQ,/RN/X7/ 00083 M01S00082.comkfld +++| ERR - BASE ADDR. AND TEMP STORE/MASK REGISTERS SAME. 00084 M01S00083.comkfld +++| ENDIF 00085 M01S00084.comkfld +++| MX7 -_TAG_N 00086 M01S00085.comkfld +++| BX_Y -X7*X_Y 00087 M01S00086.comkfld +++| SA1 RN+_TAG_W 00088 M01S00087.comkfld +++| LX1 _TAG_N-1-_TAG_S 00089 M01S00088.comkfld +++| BX1 X7*X1 00090 M01S00089.comkfld +++| BX7 X1+X_Y 00091 M01S00090.comkfld +++| LX7 _TAG_S-_TAG_N+1 00092 M01S00091.comkfld +++| SA7 A1 00093 M01S00092.comkfld +++| PUTFLD ENDM 00094 M01S00093.comkfld +++| SPACE 4,25 00095 M01S00094.comkfld +++|** GETFLD - GET DATA FROM FIELD DEFINED BY *FIELD* MACRO. 00096 M01S00095.comkfld +++|* THE SPECIFIED DATA FIELD IS PLACED INTO X REGISTER *Y* 00097 M01S00096.comkfld +++|* RIGHT JUSTIFIED WITH ZERO FILL. 00098 M01S00097.comkfld +++|* 00099 M01S00098.comkfld +++|* ENTRY GETFLD Y,RN,TAG 00100 M01S00099.comkfld +++|* Y = NUMERIC CHARACTER FOR X REGISTER TO RECEIVE THE 00101 M01S00100.comkfld +++|* RIGHT JUSTIFIED DATA FROM FIELD *TAG*. 00102 M01S00101.comkfld +++|* 1 THRU 5 FOR X1 THRU X5 MAY BE SPECIFIED. 00103 M01S00102.comkfld +++|* RN = REGISTER CONTAINING FIRST WORD ADDRESS OF THE TABLE 00104 M01S00103.comkfld +++|* WHICH CONTAINS THE SPECIFIED FIELD *TAG*. 00105 M01S00104.comkfld +++|* REGISTER B1 - B7, X1 - X6, A1 - A7. 00106 M01S00105.comkfld +++|* TAG = NAME OF FIELD SPECIFEID FOR *FIELD* MACRO. 00107 M01S00106.comkfld +++|* 00108 M01S00107.comkfld +++|* EXIT X REGISTER *Y* CONTAINS THE CONTENTS OF FIELD 00109 M01S00108.comkfld +++|* *TAG* AS OBTAINED FROM LOCATION *RN* + *TAGW*. 00110 M01S00109.comkfld +++|* THE DATA IS RIGHT JUSTIFIED AND ZERO FILLED. 00111 M01S00110.comkfld +++|* REGISTERS X7 AND A*Y* ARE CHANGED 00112 M01S00111.comkfld +++|* NOTE - *TAGW* IS THE TABLE WORD INDEX AS 00113 M01S00112.comkfld +++|* GENERATED BY THE *FIELD* MACRO. 00114 M01S00113.comkfld +++|* 00115 M01S00114.comkfld +++|* USES X*Y*,X7. 00116 M01S00115.comkfld +++|* A*Y*. 00117 M01S00116.comkfld +++| 00118 M01S00117.comkfld +++| 00119 M01S00118.comkfld +++| PURGMAC GETFLD 00120 M01S00119.comkfld +++|* 00121 M01S00120.comkfld +++| GETFLD MACRO Y,RN,TAG 00122 M01S00121.comkfld +++| IFC GE,/Y/6/ 00123 M01S00122.comkfld +++| ERR - LOAD REGISTER .GT. 5. 00124 M01S00123.comkfld +++| ENDIF 00125 M01S00124.comkfld +++| IFC EQ,/Y/0/ 00126 M01S00125.comkfld +++| ERR - LOAD REGISTER ZERO. 00127 M01S00126.comkfld +++| ENDIF 00128 M01S00127.comkfld +++| SA_Y RN+_TAG_W 00129 M01S00128.comkfld +++| MX7 -_TAG_N 00130 M01S00129.comkfld +++| LX_Y _TAG_N-1-_TAG_S 00131 M01S00130.comkfld +++| BX_Y -X7*X_Y 00132 M01S00131.comkfld +++| GETFLD ENDM 00133 M01S00132.comkfld +++| BASE * 00134 M01S00133.comkfld +++| ENDX
cdc/nos2.source/opl.opl871/common/comkfld.txt ยท Last modified: by 127.0.0.1