cdc:nos2.source:opl.opl871:common:comkfld
Common COMKFLD
Library Member Format: MODIFY
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M00S00001.comkfld +++| CTEXT COMKFLD - FIELD MARCRO. 00002 M00S00002.comkfld +++| SPACE 4 00003 M00S00003.comkfld +++| BASE D
Line S00004 Modification History | |
---|---|
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00004 M01S00004.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1976.
Line S00001 Modification History | |
---|---|
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00005 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00006 M00S00005.comkfld +++|*** FLD - DEFINE FIELDS. 00007 M00S00006.comkfld +++|* G. W. PROPP. 76/05/01. 00008 M00S00007.comkfld +++|* L. E. LOVETT. 80/04/01. 00009 M00S00008.comkfld +++| FLD SPACE 4,10 00010 M00S00009.comkfld +++|* FLD - DEFINE FIELDS. 00011 M00S00010.comkfld +++|* TAGS ARE GENERATED TO GIVE THE WORD LOCATION, BIT 00012 M00S00011.comkfld +++|* LOCATION, AND NUMBER OF BITS IN FIELD. 00013 M00S00012.comkfld +++|* 00014 M00S00013.comkfld +++|* ENTRY TAG FIELD WP,LB,RP 00015 M00S00014.comkfld +++|* TAG = NAME OF FIELD (1-6 LEGAL COMPASS CHARACTERS) 00016 M00S00015.comkfld +++|* = *, USE CURRENT VALUE OF PSEUDO ORG COUNTER ORLOC1$ 00017 M00S00016.comkfld +++|* LB = LEFT-MOST BIT POSITION WITHIN A WORD (BIT 59 BEING 00018 M00S00017.comkfld +++|* SIGN BIT). 00019 M00S00018.comkfld +++|* RB = RIGHT-MOST BIT POSITION WITHIN A WORD. 00020 M00S00019.comkfld +++|* 00021 M00S00020.comkfld +++|* EXIT TAGW = WORD LOCATION OF FIELD. 00022 M00S00021.comkfld +++|* TAGS = LEFT BIT POSITION OF FIELD. 00023 M00S00022.comkfld +++|* TAGN = NUMBER OF BITS IN FIELD. 00024 M00S00023.comkfld +++| 00025 M00S00024.comkfld +++| 00026 M00S00025.comkfld +++| MACRO FIELD,TAG,WP,LB,RB 00027 M00S00026.comkfld +++| IFC NE,/WP//,4 00028 M00S00027.comkfld +++| IFC EQ,/WP/*/,2 00029 M00S00028.comkfld +++| _TAG_W EQU ORLOC1$ 00030 M00S00029.comkfld +++| SKIP 1 00031 M00S00030.comkfld +++| _TAG_W EQU WP 00032 M00S00031.comkfld +++| _TAG_S EQU LB 00033 M00S00032.comkfld +++| _TAG_N EQU LB-RB+1 00034 M00S00033.comkfld +++| ENDM 00035 M00S00034.comkfld +++| SPACE 4,30 00036 M00S00035.comkfld +++|** PUTFLD - PUT DATA INTO FIELD DEFINED BY *FIELD* MACRO. 00037 M00S00036.comkfld +++|* THE DATA TO BE STORED MUST BE CONTAINED,RIGHT JUSTIFIED, 00038 M00S00037.comkfld +++|* IN X REGISTER *Y*. 00039 M00S00038.comkfld +++|* 00040 M00S00039.comkfld +++|* ENTRY PUTFLD Y,RN,TAG 00041 M00S00040.comkfld +++|* Y = NUMERIC CHARACTER FOR X REGISTER CONTAINING 00042 M00S00041.comkfld +++|* RIGHT JUSTIFIED DATA TO BE STORED INTO FIELD *TAG*. 00043 M00S00042.comkfld +++|* 2 THRU 7 FOR X2 THRU X7 MAY BE SPECIFIED. 00044 M00S00043.comkfld +++|* RN = REGISTER CONTAINING FIRST WORD ADDRESS OF THE TABLE 00045 M00S00044.comkfld +++|* WHICH CONTAINS THE SPECIFIED FIELD *TAG*. 00046 M00S00045.comkfld +++|* REGISTER B1 - B7, A2 - A7, X1 - X6. 00047 M00S00046.comkfld +++|* X*Y*,X1,A1,X7 MAY NOT BE USED. 00048 M00S00047.comkfld +++|* TAG = NAME OF FIELD SPECIFIED FOR *FIELD* MACRO. 00049 M00S00048.comkfld +++|* 00050 M00S00049.comkfld +++|* EXIT THE CONTENTS OF X REGISTER *Y* IS STORED INTO THE 00051 M00S00050.comkfld +++|* FIELD *TAG* AT LOCATION *RN* + *TAGW*. 00052 M00S00051.comkfld +++|* ALL OTHER FIELDS IN THE SAME WORD ARE UNCHANGED. 00053 M00S00052.comkfld +++|* ON COMPLETION OF *PUTFLD*, THE RIGHT JUSTIFIED 00054 M00S00053.comkfld +++|* FIELD IN X REGISTER *Y* IS INTACT . 00055 M00S00054.comkfld +++|* REGISTERS A1, X1, A7 AND X7 ARE 00056 M00S00055.comkfld +++|* CHANGED BY *PUTFLD*. 00057 M00S00056.comkfld +++|* NOTE - *TAGW* IS THE TABLE WORD INDEX AS GENERATED 00058 M00S00057.comkfld +++|* BY THE *FIELD* MACRO. 00059 M00S00058.comkfld +++|* 00060 M00S00059.comkfld +++|* USES X*Y*, X1, X7. 00061 M00S00060.comkfld +++|* A1, A7. 00062 M00S00061.comkfld +++| 00063 M00S00062.comkfld +++| 00064 M00S00063.comkfld +++| PURGMAC PUTFLD 00065 M00S00064.comkfld +++|* 00066 M00S00065.comkfld +++| PUTFLD MACRO Y,RN,TAG 00067 M00S00066.comkfld +++| IFC EQ,/Y/1/ 00068 M00S00067.comkfld +++| ERR - DATA AND TEMP LOAD REGISTERS SAME. 00069 M00S00068.comkfld +++| ENDIF 00070 M00S00069.comkfld +++| IFC EQ,/Y/7/ 00071 M00S00070.comkfld +++| ERR - DATA AND TEMP STORE/MASK REGISTERS SAME. 00072 M00S00071.comkfld +++| ENDIF 00073 M00S00072.comkfld +++| IFC EQ,/XY/RN/ 00074 M00S00073.comkfld +++| ERR - DATA AND BASE ADDR. REGISTERS SAME. 00075 M00S00074.comkfld +++| ENDIF 00076 M00S00075.comkfld +++| IFC EQ,/RN/X1/ 00077 M00S00076.comkfld +++| ERR - BASE ADDR. AND TEMP LOAD REGISTERS SAME. 00078 M00S00077.comkfld +++| ENDIF 00079 M00S00078.comkfld +++| IFC EQ,/RN/A1/ 00080 M00S00079.comkfld +++| ERR - BASE ADDR. AND TEMP LOAD REGISTERS SAME. 00081 M00S00080.comkfld +++| ENDIF 00082 M00S00081.comkfld +++| IFC EQ,/RN/X7/ 00083 M00S00082.comkfld +++| ERR - BASE ADDR. AND TEMP STORE/MASK REGISTERS SAME. 00084 M00S00083.comkfld +++| ENDIF 00085 M00S00084.comkfld +++| MX7 -_TAG_N 00086 M00S00085.comkfld +++| BX_Y -X7*X_Y 00087 M00S00086.comkfld +++| SA1 RN+_TAG_W 00088 M00S00087.comkfld +++| LX1 _TAG_N-1-_TAG_S 00089 M00S00088.comkfld +++| BX1 X7*X1 00090 M00S00089.comkfld +++| BX7 X1+X_Y 00091 M00S00090.comkfld +++| LX7 _TAG_S-_TAG_N+1 00092 M00S00091.comkfld +++| SA7 A1 00093 M00S00092.comkfld +++| PUTFLD ENDM 00094 M00S00093.comkfld +++| SPACE 4,25 00095 M00S00094.comkfld +++|** GETFLD - GET DATA FROM FIELD DEFINED BY *FIELD* MACRO. 00096 M00S00095.comkfld +++|* THE SPECIFIED DATA FIELD IS PLACED INTO X REGISTER *Y* 00097 M00S00096.comkfld +++|* RIGHT JUSTIFIED WITH ZERO FILL. 00098 M00S00097.comkfld +++|* 00099 M00S00098.comkfld +++|* ENTRY GETFLD Y,RN,TAG 00100 M00S00099.comkfld +++|* Y = NUMERIC CHARACTER FOR X REGISTER TO RECEIVE THE 00101 M00S00100.comkfld +++|* RIGHT JUSTIFIED DATA FROM FIELD *TAG*. 00102 M00S00101.comkfld +++|* 1 THRU 5 FOR X1 THRU X5 MAY BE SPECIFIED. 00103 M00S00102.comkfld +++|* RN = REGISTER CONTAINING FIRST WORD ADDRESS OF THE TABLE 00104 M00S00103.comkfld +++|* WHICH CONTAINS THE SPECIFIED FIELD *TAG*. 00105 M00S00104.comkfld +++|* REGISTER B1 - B7, X1 - X6, A1 - A7. 00106 M00S00105.comkfld +++|* TAG = NAME OF FIELD SPECIFEID FOR *FIELD* MACRO. 00107 M00S00106.comkfld +++|* 00108 M00S00107.comkfld +++|* EXIT X REGISTER *Y* CONTAINS THE CONTENTS OF FIELD 00109 M00S00108.comkfld +++|* *TAG* AS OBTAINED FROM LOCATION *RN* + *TAGW*. 00110 M00S00109.comkfld +++|* THE DATA IS RIGHT JUSTIFIED AND ZERO FILLED. 00111 M00S00110.comkfld +++|* REGISTERS X7 AND A*Y* ARE CHANGED 00112 M00S00111.comkfld +++|* NOTE - *TAGW* IS THE TABLE WORD INDEX AS 00113 M00S00112.comkfld +++|* GENERATED BY THE *FIELD* MACRO. 00114 M00S00113.comkfld +++|* 00115 M00S00114.comkfld +++|* USES X*Y*,X7. 00116 M00S00115.comkfld +++|* A*Y*. 00117 M00S00116.comkfld +++| 00118 M00S00117.comkfld +++| 00119 M00S00118.comkfld +++| PURGMAC GETFLD 00120 M00S00119.comkfld +++|* 00121 M00S00120.comkfld +++| GETFLD MACRO Y,RN,TAG 00122 M00S00121.comkfld +++| IFC GE,/Y/6/ 00123 M00S00122.comkfld +++| ERR - LOAD REGISTER .GT. 5. 00124 M00S00123.comkfld +++| ENDIF 00125 M00S00124.comkfld +++| IFC EQ,/Y/0/ 00126 M00S00125.comkfld +++| ERR - LOAD REGISTER ZERO. 00127 M00S00126.comkfld +++| ENDIF 00128 M00S00127.comkfld +++| SA_Y RN+_TAG_W 00129 M00S00128.comkfld +++| MX7 -_TAG_N 00130 M00S00129.comkfld +++| LX_Y _TAG_N-1-_TAG_S 00131 M00S00130.comkfld +++| BX_Y -X7*X_Y 00132 M00S00131.comkfld +++| GETFLD ENDM 00133 M00S00132.comkfld +++| BASE * 00134 M00S00133.comkfld +++| ENDX
cdc/nos2.source/opl.opl871/common/comkfld.txt ยท Last modified: by 127.0.0.1