cdc:nos2.source:opl.opl871:common:comcdcp
Common COMCDCP
Library Member Format: MODIFY
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M00S00001.comcdcp +++| CTEXT COMCDCP - CPU DISPLAY CONSOLE PROCESSORS. 00002 M00S00002.comcdcp +++| SPACE 4,10 00003 M00S00003.comcdcp +++| BASE D
Line S00004 Modification History | |
---|---|
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00004 M01S00004.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORPORATION, 1984.
Line S00001 Modification History | |
---|---|
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00005 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00006 M00S00005.comcdcp +++| DCP SPACE 4,10 00007 M00S00006.comcdcp +++|*** COMCDCP - CPU DISPLAY CONSOLE PROCESSORS. 00008 M00S00007.comcdcp +++|* 00009 M00S00008.comcdcp +++|* J. T. LITTLE. 84/02/23. 00010 M00S00009.comcdcp +++| SPACE 4,10 00011 M00S00010.comcdcp +++|*** *COMCDCP* CONTAINS SUBROUTINES USED BY *K* AND *L* DISPLAY 00012 M00S00011.comcdcp +++|* UTILITIES. SUBROUTINES *PGD* AND *PRK* ARE CONTAINED IN 00013 M00S00012.comcdcp +++|* LABELED REMOTE BLOCKS. A *HERE* INSTRUCTION LABELED *PGD* 00014 M00S00013.comcdcp +++|* OR *PRK* WILL ASSEMBLE THE RESPECTIVE CODE AT THAT LOCATION. 00015 M00S00014.comcdcp +++| PGD SPACE 4,40 00016 M00S00015.comcdcp +++| PGD RMT 00017 M00S00016.comcdcp +++| QUAL$ IF -DEF,QUAL$ 00018 M00S00017.comcdcp +++| QUAL COMCDCP 00019 M00S00018.comcdcp +++| QUAL$ ENDIF 00020 M00S00019.comcdcp +++|** PGD - PAGE *K* OR *L* DISPLAY. 00021 M00S00020.comcdcp +++|* 00022 M00S00021.comcdcp +++|* ENTRY (X1) = ADDRESS OF *K* DISPLAY CONTROL WORD OR ADDRESS 00023 M00S00022.comcdcp +++|* CONTAINING *L* DISPLAY OUTPUT BUFFER ADDRESS. 00024 M00S00023.comcdcp +++|* (X2) = FWA OF PAGE TABLE WITH THE FOLLOWING FORMAT. 00025 M00S00024.comcdcp +++|* 00026 M00S00025.comcdcp +++|*T 12/ NL,18/ CL,12/ NR,18/ CR
Figure
00027 M00S00026.comcdcp +++|*T, 6/ 0,18/ K,18/ M,18/ B
Figure
00028 M00S00027.comcdcp +++|* NL NUMBER OF LEFT SCREEN PAGES. 00029 M00S00028.comcdcp +++|* CL INDEX OF CURRENT LEFT SCREEN. 00030 M00S00029.comcdcp +++|* NR NUMBER OF RIGHT SCREEN PAGES. 00031 M00S00030.comcdcp +++|* CR INDEX OF CURRENT RIGHT SCREEN. 00032 M00S00031.comcdcp +++|* K KEYBOARD INPUT LINE ADDRESS IN DISPLAY BUFFER. 00033 M00S00032.comcdcp +++|* M ERROR MESSAGE LINE ADDRESS IN DISPLAY BUFFER. 00034 M00S00033.comcdcp +++|* B FWA OF PAGE DISPLAY BUFFER. 00035 M00S00034.comcdcp +++|* 00036 M00S00035.comcdcp +++|* (X3) = PAGING CHARACTER, LEFT JUSTIFIED AND 00037 M00S00036.comcdcp +++|* ZERO-FILLED. 00038 M00S00037.comcdcp +++|* (X4) = 0 FOR *K* DISPLAY. 00039 M00S00038.comcdcp +++|* = 1 FOR *L* DISPLAY. 00040 M00S00039.comcdcp +++|* (B1) = 1. 00041 M00S00040.comcdcp +++|* 00042 M00S00041.comcdcp +++|* EXIT *K* DISPLAY CONTROL WORD UPDATED. 00043 M00S00042.comcdcp +++|* *L* DISPLAY OUTPUT BUFFER ADDRESS UPDATED. 00044 M00S00043.comcdcp +++|* PAGE TABLE HEADER WORD UPDATED. 00045 M00S00044.comcdcp +++|* (X4) = 0 IF LEGAL PAGING INPUT. 00046 M00S00045.comcdcp +++|* = 1 IF NOT LEGAL PAGING INPUT. 00047 M00S00046.comcdcp +++|* 00048 M00S00047.comcdcp +++|* USES X - 1, 2, 3, 4, 6, 7. 00049 M00S00048.comcdcp +++|* A - 1, 2, 3, 4, 6. 00050 M00S00049.comcdcp +++|* B - 3, 4, 5, 6. 00051 M00S00050.comcdcp +++|* 00052 M00S00051.comcdcp +++|* NOTE THE PAGT MACRO WILL GENERATE THE PAGE TABLE IN THE 00053 M00S00052.comcdcp +++|* CORRECT FORMAT. 00054 M00S00053.comcdcp +++| 00055 M00S00054.comcdcp +++| 00056 M00S00055.comcdcp +++| PGD8 SX4 B1+ 00057 M00S00056.comcdcp +++| 00058 M00S00057.comcdcp +++| PGD SUBR ENTRY/EXIT 00059 M00S00058.comcdcp +++| SA1 X1+ 00060 M00S00059.comcdcp +++| SB6 X4+ 00061 M00S00060.comcdcp +++| 00062 M00S00061.comcdcp +++|* SEARCH PAGE COMMAND TABLE. 00063 M00S00062.comcdcp +++| 00064 M00S00063.comcdcp +++| SA4 PGDA-1 00065 M00S00064.comcdcp +++| MX7 6 00066 M00S00065.comcdcp +++| PGD1 SA4 A4+B1 GET COMMAND TABLE ENTRY 00067 M00S00066.comcdcp +++| ZR X4,PGD8 IF END OF COMMAND TABLE 00068 M00S00067.comcdcp +++| BX6 X7*X4 00069 M00S00068.comcdcp +++| BX6 X6-X3 00070 M00S00069.comcdcp +++| NZ X6,PGD1 IF NOT A MATCH 00071 M00S00070.comcdcp +++| 00072 M00S00071.comcdcp +++|* PROCESS PAGE COMMAND. 00073 M00S00072.comcdcp +++| 00074 M00S00073.comcdcp +++| SB4 X4 SHIFT FACTOR 00075 M00S00074.comcdcp +++| ZR B6,PGD2 IF *K* DISPLAY 00076 M00S00075.comcdcp +++| ZR B4,PGD8 IF RIGHT SCREEN COMMAND FOR *L* DISPLAY 00077 M00S00076.comcdcp +++| PGD2 LX4 42 PAGE DISPLAY 00078 M00S00077.comcdcp +++| SB3 X4 PAGE INCREMENT 00079 M00S00078.comcdcp +++| SA2 X2 PAGE TABLE HEADER 00080 M00S00079.comcdcp +++| LX2 B4 00081 M00S00080.comcdcp +++| MX7 -12 00082 M00S00081.comcdcp +++| SX3 X2 CURRENT PAGE INDEX 00083 M00S00082.comcdcp +++| ZR X3,PGD8 IF NO PAGES IN TABLE 00084 M00S00083.comcdcp +++| SX3 X3+B3 NEW PAGE INDEX 00085 M00S00084.comcdcp +++| ZR X3,PGD3 IF PAGED BACK TOO FAR 00086 M00S00085.comcdcp +++| LX2 -18 00087 M00S00086.comcdcp +++| BX4 -X7*X2 00088 M00S00087.comcdcp +++| SB3 X4 00089 M00S00088.comcdcp +++| SB5 X3 00090 M00S00089.comcdcp +++| LX2 18 00091 M00S00090.comcdcp +++| GE B3,B5,PGD4 IF DID NOT PAGE TOO FAR FORWARD 00092 M00S00091.comcdcp +++| PGD3 SX3 B1+ SET TO FIRST PAGE 00093 M00S00092.comcdcp +++| 00094 M00S00093.comcdcp +++|* UPDATE PAGE TABLE HEADER WORD. 00095 M00S00094.comcdcp +++| 00096 M00S00095.comcdcp +++| PGD4 MX4 42 00097 M00S00096.comcdcp +++| BX2 X4*X2 00098 M00S00097.comcdcp +++| BX6 X2+X3 00099 M00S00098.comcdcp +++| LX6 B4 00100 M00S00099.comcdcp +++| SA6 A2 REPLACE HEADER WORD 00101 M00S00100.comcdcp +++| 00102 M00S00101.comcdcp +++|* UPDATE PAGE DISPLAY ADDRESS. 00103 M00S00102.comcdcp +++| 00104 M00S00103.comcdcp +++| NZ B4,PGD5 IF LEFT SCREEN 00105 M00S00104.comcdcp +++| LX6 12 00106 M00S00105.comcdcp +++| BX6 -X7*X6 NUMBER OF LEFT PAGES 00107 M00S00106.comcdcp +++| SB3 X3 00108 M00S00107.comcdcp +++| SB3 B3+X6 POSITION OF RIGHT PAGE IN TABLE 00109 M00S00108.comcdcp +++| SA3 A2+B3 ADDRESS OF NEW DISPLAY 00110 M00S00109.comcdcp +++| LX1 42 00111 M00S00110.comcdcp +++| SX6 X3 00112 M00S00111.comcdcp +++| BX1 X4*X1 00113 M00S00112.comcdcp +++| BX6 X1+X6 INSERT NEW RIGHT SCREEN ADDRESS 00114 M00S00113.comcdcp +++| LX6 18 00115 M00S00114.comcdcp +++| EQ PGD7 REPLACE ADDRESS WORD 00116 M00S00115.comcdcp +++| 00117 M00S00116.comcdcp +++| PGD5 SB3 X3 00118 M00S00117.comcdcp +++| SA3 A2+B3 GET ADDRESS OF NEW DISPLAY 00119 M00S00118.comcdcp +++| NZ B6,PGD6 IF *L* DISPLAY 00120 M00S00119.comcdcp +++| BX1 X4*X1 00121 M00S00120.comcdcp +++| SX6 X3+ 00122 M00S00121.comcdcp +++| BX6 X1+X6 00123 M00S00122.comcdcp +++| EQ PGD7 REPLACE ADDRESS WORD 00124 M00S00123.comcdcp +++| 00125 M00S00124.comcdcp +++| PGD6 SX6 X3+ 00126 M00S00125.comcdcp +++| PGD7 SA6 A1 REPLACE ADDRESS WORD 00127 M00S00126.comcdcp +++| SX4 B0 00128 M00S00127.comcdcp +++| EQ PGDX RETURN 00129 M00S00128.comcdcp +++| 00130 M00S00129.comcdcp +++| 00131 M00S00130.comcdcp +++|** PAGE COMMAND TABLE. 00132 M00S00131.comcdcp +++|* 00133 M00S00132.comcdcp +++|*T ADDR 24/ PC,18/ PF/,18/ SF
Figure ADDR
00134 M00S00133.comcdcp +++|* PC PAGING CHARACTER. 00135 M00S00134.comcdcp +++|* PF PAGING FACTOR. 00136 M00S00135.comcdcp +++|* SF SHIFT FACTOR. 00137 M00S00136.comcdcp +++| 00138 M00S00137.comcdcp +++| 00139 M00S00138.comcdcp +++| PGDA VFD 24/1L+,18/1,18/30 00140 M00S00139.comcdcp +++| VFD 24/1L-,18/-1,18/30 00141 M00S00140.comcdcp +++| VFD 24/1L(,18/1,18/0 00142 M00S00141.comcdcp +++| VFD 24/1L),18/-1,18/0 00143 M00S00142.comcdcp +++| CON 0 END OF TABLE 00144 M00S00143.comcdcp +++| QUAL$ IF -DEF,QUAL$ 00145 M00S00144.comcdcp +++| QUAL * 00146 M00S00145.comcdcp +++| PGD EQU /COMCDCP/PGD 00147 M00S00146.comcdcp +++| QUAL$ ENDIF 00148 M00S00147.comcdcp +++| PGD RMT 00149 M00S00148.comcdcp +++| PRK SPACE 4,25 00150 M00S00149.comcdcp +++| PRK RMT 00151 M00S00150.comcdcp +++| QUAL$ IF -DEF,QUAL$ 00152 M00S00151.comcdcp +++| QUAL COMCDCP 00153 M00S00152.comcdcp +++| QUAL$ ENDIF 00154 M00S00153.comcdcp +++|** PRK - PRESET *K* DISPLAY. 00155 M00S00154.comcdcp +++|* 00156 M00S00155.comcdcp +++|* ENTRY (X3) = FWA OF Y COORDINATE TABLE OF THE FOLLOWING 00157 M00S00156.comcdcp +++|* FORM. 00158 M00S00157.comcdcp +++|* 00159 M00S00158.comcdcp +++|*T 24/0,18/LL,18/Y
Figure
00160 M00S00159.comcdcp +++|* LL LOCATION OF Y-COORDINATE IN DISPLAY BUFFER. 00161 M00S00160.comcdcp +++|* Y Y COORDINATE FOR 721 CONSOLE. 00162 M00S00161.comcdcp +++|* 00163 M00S00162.comcdcp +++|* (B1) = 1. 00164 M00S00163.comcdcp +++|* 00165 M00S00164.comcdcp +++|* EXIT (X4) = CONSOLE TYPE. 00166 M00S00165.comcdcp +++|* 00167 M00S00166.comcdcp +++|* USES X - 1, 2, 3, 4, 6, 7. 00168 M00S00167.comcdcp +++|* A - 1, 2, 4, 7. 00169 M00S00168.comcdcp +++|* 00170 M00S00169.comcdcp +++|* MACROS CSTATUS. 00171 M00S00170.comcdcp +++|* 00172 M00S00171.comcdcp +++|* NOTE THE KDL MACRO IN *COMCDCM* GENERATES THE Y COORDINATE 00173 M00S00172.comcdcp +++|* TABLE IN THE CORRECT FORMAT. THE Y COORDINATE IS 00174 M00S00173.comcdcp +++|* ASSUMED TO BE IN BYTE 1 OF THE DISPLAY BUFFER WORD. 00175 M00S00174.comcdcp +++| 00176 M00S00175.comcdcp +++| 00177 M00S00176.comcdcp +++| PRK SUBR ENTRY/EXIT 00178 M00S00177.comcdcp +++| CSTATUS PRKA 00179 M00S00178.comcdcp +++| SA4 PRKA 00180 M00S00179.comcdcp +++| ZR X4,PRKX IF CC545 00181 M00S00180.comcdcp +++| LX4 12 00182 M00S00181.comcdcp +++| SA1 X3-1 00183 M00S00182.comcdcp +++| MX6 48 00184 M00S00183.comcdcp +++| LX6 36 00185 M00S00184.comcdcp +++| PRK1 SA1 A1+B1 GET NEXT TABLE ENTRY 00186 M00S00185.comcdcp +++| ZR X1,PRKX IF END OF TABLE 00187 M00S00186.comcdcp +++| SX3 X1 00188 M00S00187.comcdcp +++| AX1 18 00189 M00S00188.comcdcp +++| SA2 X1 00190 M00S00189.comcdcp +++| LX3 36 00191 M00S00190.comcdcp +++| BX2 X6*X2 00192 M00S00191.comcdcp +++| BX7 X2+X3 BUFFER WORD WITH NEW Y COORDINATE 00193 M00S00192.comcdcp +++| SA7 A2 REPLACE WORD IN BUFFER 00194 M00S00193.comcdcp +++| EQ PRK1 CONTINUE PROCESSING TABLE 00195 M00S00194.comcdcp +++| 00196 M00S00195.comcdcp +++| 00197 M00S00196.comcdcp +++| PRKA CON 0 CONSOLE STATUS WORD 00198 M00S00197.comcdcp +++| QUAL$ IF -DEF,QUAL$ 00199 M00S00198.comcdcp +++| QUAL * 00200 M00S00199.comcdcp +++| PRK EQU /COMCDCP/PRK 00201 M00S00200.comcdcp +++| QUAL$ ENDIF 00202 M00S00201.comcdcp +++| PRK RMT 00203 M00S00202.comcdcp +++| BASE * 00204 M00S00203.comcdcp +++| DCP ENDX
cdc/nos2.source/opl.opl871/common/comcdcp.txt ยท Last modified: (external edit)