User Tools

Site Tools


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

0171829 CR NR30474859 CL NL

00027  M00S00026.comcdcp +++|*T,       6/  0,18/        K,18/        M,18/        B
Figure

0171829 B M303536535459 M K 0

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

0171829 SF PF30353659 PF PC

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

0171829YLL30353659LL0

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)