User Tools

Site Tools


Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:common:comstio

Common COMSTIO

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comstio +++|          CTEXT  COMSTIO - TEXT I/O MACROS.
00002  M01S00002.comstio +++|          BASE   M
Line S00003 Modification History
M01 (Added by) comstio
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00003  M02S00003.281l803 ---|*COMMENT  COPYRIGHT CONTROL DATA CORP.  1985.
00004  M01S00001.281l803 +++|*         COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00005  M01S00004.comstio +++|          SPACE  4
00006  M01S00005.comstio +++|***       COMSTIO - TEXT I/O MACROS.
00007  M01S00006.comstio +++|*         W. E. GOEBEL.      85/02/17.
00008  M01S00007.comstio +++| COMSTIO  SPACE  4,10
00009  M01S00008.comstio +++|***       COMSTIO - TEXT I/O MACROS.
00010  M01S00009.comstio +++|*
00011  M01S00010.comstio +++|*         COMSTIO PROVIDES MACROS TO PERFORM TEXT I/O FROM
00012  M01S00011.comstio +++|*         COMPASS PROGRAMS.  TEXT IS ADDED TO A FILE IN CHARACTER
00013  M01S00012.comstio +++|*         INCREMENTS, INSTEAD OF IN WORD INCREMENTS.  NUMERIC DATA
00014  M01S00013.comstio +++|*         ITEMS ARE CONVERTED TO EITHER LEFT OR RIGHT JUSTIFIED
00015  M01S00014.comstio +++|*         CHARACTERS.  NOS END OF LINE CONVENTIONS ARE INSURED.
00016  M01S00015.comstio +++|*
00017  M01S00016.comstio +++|*         NOTE   FET+5 IS USED BY THESE MACROES.
00018  M01S00017.comstio +++|*
00019  M01S00018.comstio +++|*         THE FOLLOWING MACROES ARE DEFINED -
00020  M01S00019.comstio +++|*         PRINTC APPENDS A SPECIFIED NUMBER OF CHARACTERS TO A LINE.
00021  M01S00020.comstio +++|*         PRINTI CONVERTS A NUMBER TO DECIMALHARACTERS EITHER LEFT
00022  M01S00021.comstio +++|*                OR RIGHT JUSTIFIED AND ADDS THE CHARACTERS TO THE
00023  M01S00022.comstio +++|*                CURRENT LINE.
00024  M01S00023.comstio +++|*         PRINTO CONVERTS A NUMBER TO OCTAL CHARACTERS EITHER LEFT
00025  M01S00024.comstio +++|*                OR RIGHT JUSTIFIED AND ADDS THE CHARACTERS TO THE
00026  M01S00025.comstio +++|*                CURRENT LINE.
00027  M01S00026.comstio +++|*         PRINTL APPENDS CHARACTERS TO A LINE AND TERMINATES THE LINE.
00028  M01S00027.comstio +++|*         RESET  PREPARES A FILE FOR READS OR WRITES.
00029  M01S00028.comstio +++| PRINTC   SPACE  4,15
00030  M01S00029.comstio +++|**        PRINTC - WRITES CHARACTERS TO A TEXT FILE.
00031  M01S00030.comstio +++|*
00032  M01S00031.comstio +++|*         THIS MACRO APPENDS A SPECIFIED NUMBER OF CHARACTERS TO
00033  M01S00032.comstio +++|*         THE CURRENT LINE BEING WRITTEN TO A TEXT FILE.
00034  M01S00033.comstio +++|*
00035  M01S00034.comstio +++|*         PRINTC FILE,CH,N
00036  M01S00035.comstio +++|*         WHERE -
00037  M01S00036.comstio +++|*         FILE = THE FILE TO WRITE TO.
00038  M01S00037.comstio +++|*         CH   = CHARACTERS TO APPEND.
00039  M01S00038.comstio +++|*              = *, IF (A3), (X3) CONTAINS FIRST WORD OF CHARACTERS.
00040  M01S00039.comstio +++|*                $NNNN, IF NNNN IS THE ADDRESS OF THE CHARACTERS TO
00041  M01S00040.comstio +++|*                APPEND.
00042  M01S00041.comstio +++|*         N    = NUMBER OF CHARACTERS, 0 IMPLIES PRINT ALL CHARACTERS
00043  M01S00042.comstio +++|*                UNTIL Z LINE TERMINATOR FOUND.
00044  M01S00043.comstio +++|
00045  M01S00044.comstio +++|
00046  M01S00045.comstio +++|          PURGMAC  PRINTC
00047  M01S00046.comstio +++| PRINTC   MACRO  FILE,CH,N
00048  M01S00047.comstio +++|          R=     X2,FILE
00049  M01S00048.comstio +++| A        MICRO  1,1, CH
00050  M01S00049.comstio +++| .1       IFC    EQ,/"A"/$/
00051  M01S00050.comstio +++| A        MICRO  2,, CH
00052  M01S00051.comstio +++|          R=     A3,"A"
00053  M01S00052.comstio +++|          R=     B6,0_N
00054  M01S00053.comstio +++| .1       ELSE
00055  M01S00054.comstio +++| .2       IFC    EQ,/CH/*/
00056  M01S00055.comstio +++|          R=     B6,0_N
00057  M01S00056.comstio +++| .2       ELSE
00058  M01S00057.comstio +++|          SA3    =Z/CH/
00059  M01S00058.comstio +++| A        MICRO  1,,/CH/
00060  M01S00059.comstio +++| A        MICCNT A
00061  M01S00060.comstio +++|          R=     B6,A
00062  M01S00061.comstio +++| .2       ENDIF
00063  M01S00062.comstio +++| .1       ENDIF
00064  M01S00063.comstio +++|          RJ     WRC=        WRITE CHARACTERS TO TEXT FILE
00065  M01S00064.comstio +++|          ENDM
00066  M01S00065.comstio +++| PRINTI   SPACE  4,15
00067  M01S00066.comstio +++|**        PRINTI - WRITES AN INTEGER IN DECIMAL FORMAT TO A TEXT FILE.
00068  M01S00067.comstio +++|*
00069  M01S00068.comstio +++|*         THIS MACRO CONVERTS A NUMBER TO DECIMAL CHARACTERS AND
00070  M01S00069.comstio +++|*         APPENDS THE CHARACTERS TO THE CURRENT LINE BEING WRITTEN
00071  M01S00070.comstio +++|*         TO A TEXT FILE.
00072  M01S00071.comstio +++|*
00073  M01S00072.comstio +++|*         PRINTI FILE,NUM,N
00074  M01S00073.comstio +++|*         WHERE -
00075  M01S00074.comstio +++|*         FILE = THE FILE TO WRITE TO.
00076  M01S00075.comstio +++|*         NUM  = NUMBER TO CONVERT TO CHARACTERS AND APPEND.
00077  M01S00076.comstio +++|*              = *, IF (X1) CONTAINS THE NUMBER TO CONVERT.
00078  M01S00077.comstio +++|*         N    = NUMBER OF CHARACTERS TO APPEND TO LINE.
00079  M01S00078.comstio +++|
00080  M01S00079.comstio +++|
00081  M01S00080.comstio +++|          PURGMAC  PRINTI
00082  M01S00081.comstio +++| PRINTI   MACRO  FILE,NUM,N
00083  M01S00082.comstio +++|          IFC    NE,/NUM/*/,1
00084  M01S00083.comstio +++|          R=     A1,NUM
00085  M01S00084.comstio +++|          RJ     CTI         CONVERT TO DECIMAL DISPLAY CODE WITH LEA
00086  M01S00085.comstio +++|          R=     X2,FILE
00087  M01S00086.comstio +++|          IFC    NE,*N**
00088  M01S00087.comstio +++|          SB4    B6-N+10
00089  M01S00088.comstio +++|          SB3    B4+B4
00090  M01S00089.comstio +++|          SB4    B3+B4
00091  M01S00090.comstio +++|          SB4    B4+B4
00092  M01S00091.comstio +++|          LX3    B4
00093  M01S00092.comstio +++|          R=     B6,N
00094  M01S00093.comstio +++|          ENDIF
00095  M01S00094.comstio +++|          RJ     WRC=        WRITE CHARACTERS TO TEXT FILE
00096  M01S00095.comstio +++|          ENDM
00097  M01S00096.comstio +++| PRINTL   SPACE  4,15
00098  M01S00097.comstio +++|**        PRINTL - WRITE LINE TO A TEXT FILE.
00099  M01S00098.comstio +++|*
00100  M01S00099.comstio +++|*         PRINTL ADDS LINES TO A TEXT FILE.
00101  M01S00100.comstio +++|*
00102  M01S00101.comstio +++|*         PRINTL FILE,CH,N
00103  M01S00102.comstio +++|*         WHERE -
00104  M01S00103.comstio +++|*         FILE = THE FILE TO WRITE TO.
00105  M01S00104.comstio +++|*         CH   = CHARACTERS TO APPEND.
00106  M01S00105.comstio +++|*              = *, IF (A3), (X3) CONTAINS FIRST WORD OF CHARACTERS.
00107  M01S00106.comstio +++|*                $NNNN, IF NNNN IS THE ADDRESS OF THE CHARACTERS TO
00108  M01S00107.comstio +++|*                APPEND.
00109  M01S00108.comstio +++|*                IF CH IS NOT PRESENT THEN THE CURRENT LINE IS WRITTEN
00110  M01S00109.comstio +++|*                AND THE NEXT LINE INITIALIZED TO NULL.
00111  M01S00110.comstio +++|*         N    = NUMBER OF CHARACTERS, 0 IMPLIES PRINT ALL CHARACTERS
00112  M01S00111.comstio +++|*                UNTIL Z LINE TERMINATOR FOUND.
00113  M01S00112.comstio +++|
00114  M01S00113.comstio +++|
00115  M01S00114.comstio +++| PRINTL   MACRO  FILE,CH,N
00116  M01S00115.comstio +++|          R=     X2,FILE
00117  M01S00116.comstio +++|          IFC    NE,/CH//,1
00118  M01S00117.comstio +++|          PRINTC X2,(CH),N
00119  M01S00118.comstio +++|          RJ     WRL=        WRITE LINE
00120  M01S00119.comstio +++|          ENDM
00121  M01S00120.comstio +++| PRINTO   SPACE  4,15
00122  M01S00121.comstio +++|**        PRINTO - WRITES AN INTEGER IN OCTAL FORMAT TO A TEXT FILE.
00123  M01S00122.comstio +++|*
00124  M01S00123.comstio +++|*         THIS MACRO CONVERTS A NUMBER TO OCTAL CHARACTERS
00125  M01S00124.comstio +++|*         AND APPENDS A SPECIFIED NUMBER OF CHARACTERS TO
00126  M01S00125.comstio +++|*         THE CURRENT LINE BEING WRITTEN TO A TEXT FILE.
00127  M01S00126.comstio +++|*
00128  M01S00127.comstio +++|*         PRINTO FILE,NUM,N
00129  M01S00128.comstio +++|*         WHERE -
00130  M01S00129.comstio +++|*         FILE = THE FILE TO WRITE TO.
00131  M01S00130.comstio +++|*         NUM  = NUMBER TO CONVERT TO CHARACTERS AND APPEND.
00132  M01S00131.comstio +++|*              = *, IF (X1) CONTAINS THE NUMBER TO CONVERT.
00133  M01S00132.comstio +++|*         N    = NUMBER OF CHARACTERS TO APPEND TO LINE.
00134  M01S00133.comstio +++|
00135  M01S00134.comstio +++|
00136  M01S00135.comstio +++|          PURGMAC  PRINTO
00137  M01S00136.comstio +++| PRINTO   MACRO  FILE,NUM,N
00138  M01S00137.comstio +++|          IFC    NE,/NUM/*/,1
00139  M01S00138.comstio +++|          R=     A1,NUM
00140  M01S00139.comstio +++|          RJ     CTO         CONVERT TO OCTAL DISPLAY CODE WITH LEADI
00141  M01S00140.comstio +++|          R=     X2,FILE
00142  M01S00141.comstio +++|          IFC    NE,*N**
00143  M01S00142.comstio +++|          SB4    B6-N+10
00144  M01S00143.comstio +++|          SB3    B4+B4
00145  M01S00144.comstio +++|          SB4    B3+B4
00146  M01S00145.comstio +++|          SB4    B4+B4
00147  M01S00146.comstio +++|          LX3    B4
00148  M01S00147.comstio +++|          R=     B6,N
00149  M01S00148.comstio +++|          ENDIF
00150  M01S00149.comstio +++|          RJ     WRC=        WRITE CHARACTERS TO TEXT FILE
00151  M01S00150.comstio +++|          ENDM
00152  M01S00151.comstio +++| RESET    SPACE  4,10
00153  M01S00152.comstio +++|**        RESET - RESET TEXT FILE FOR TEXTIO MACROS.
00154  M01S00153.comstio +++|*
00155  M01S00154.comstio +++|*         RESET  FILE,OP
00156  M01S00155.comstio +++|*         FILE = FILE TO RESET.
00157  M01S00156.comstio +++|*         OP   = OPERATION TO RESET FOR (READ OR WRITE).
00158  M01S00157.comstio +++|
00159  M01S00158.comstio +++|
00160  M01S00159.comstio +++| RESET    MACRO  FILE,OP
00161  M01S00160.comstio +++|          SX2    FILE
00162  M01S00161.comstio +++|          SA1    X2+B1
00163  M01S00162.comstio +++|          SX6    X1
00164  M01S00163.comstio +++|          IFC    EQ,*OP*WRITE*,1
00165  M01S00164.comstio +++|          SA6    A1+B1       IN
00166  M01S00165.comstio +++|          IFC    EQ,*OP*READ*,1
00167  M01S00166.comstio +++|          SA6    X2+3        OUT
00168  M01S00167.comstio +++|          SX6    B0          SET LINE POINTERS IN FET
00169  M01S00168.comstio +++|          PX6    X6
00170  M01S00169.comstio +++|          SA6    X2+5
00171  M01S00170.comstio +++|          ENDM
00172  M01S00171.comstio +++|          SPACE  4
00173  M01S00172.comstio +++|          BASE   *
00174  M01S00173.comstio +++|          ENDX
cdc/nos2.source/opl.opl871/common/comstio.txt ยท Last modified: by 127.0.0.1