Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.comprcb +++| CTEXT COMPRCB - READ CODED BUFFER.
00002 M00S00002.comprcb +++| IF -DEF,QUAL$,1
00003 M00S00003.comprcb +++| QUAL COMPRCB
Line S00001 Modification History |
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00004 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00005 M00S00004.comprcb +++| RCB SPACE 4
00006 M00S00005.comprcb +++|*** RCB - READ CODED BUFFER.
00007 M00S00006.comprcb +++|* G. R. MANSFIELD. 09/27/69.
00008 M00S00007.comprcb +++| RCB SPACE 4
00009 M00S00008.comprcb +++|*** RCB READS ONE CODED LINE FROM A CM CIRCULAR BUFFER.
00010 M00S00009.comprcb +++|* DATA WILL BE STORED IN PP BUFFER CONTINUING TO A 0000 BYTE.
00011 M00S00010.comprcb +++|* UP TO 14 CM WORDS MAY BE READ, (CODED LINE TERMINATES
00012 M00S00011.comprcb +++|* WITH A 0000 IN BYTE 4), THE LAST 4 CHARACTERS ARE NOT
00013 M00S00012.comprcb +++|* STORED IN PP BUFFER. ALL IMBEDDED 0000 BYTES ARE
00014 M00S00013.comprcb +++|* STORED AS 5555.
00015 M00S00014.comprcb +++|*
00016 M00S00015.comprcb +++|* ENTRY (A) = ADDRESS OF PP BUFFER.
00017 M00S00016.comprcb +++|* (FT - FT+1) = FIRST ADDRESS OF CM BUFFER.
00018 M00S00017.comprcb +++|* (OT - OT+1) = NEXT OUTPUT ADDRESS.
00019 M00S00018.comprcb +++|* (LM - LM+1) = LIMIT ADDRESS OF CM BUFFER.
00020 M00S00019.comprcb +++|*
00021 M00S00020.comprcb +++|* EXIT (OT - OT+1) UPDATED.
00022 M00S00021.comprcb +++|*
00023 M00S00022.comprcb +++|* USES T1, T2, T3, CM - CM+4.
00024 M00S00023.comprcb +++|
00025 M00S00024.comprcb +++|
00026 M00S00025.comprcb +++| RCB SUBR ENTRY/EXIT
00027 M00S00026.comprcb +++| STD T1 SET PP BUFFER ADDRESS
00028 M00S00027.comprcb +++| ADC 104 SET BYTE LIMIT
00029 M00S00028.comprcb +++| RCBA EQU *-1 MAXIMUM NUMBER OF BYTES TO READ
00030 M00S00029.comprcb +++| STD T3
00031 M00S00030.comprcb +++| RCB1 LDD OT READ WORD
00032 M00S00031.comprcb +++| SHN 6
00033 M00S00032.comprcb +++| ADD RA
00034 M00S00033.comprcb +++| SHN 6
00035 M00S00034.comprcb +++| ADD OT+1
00036 M00S00035.comprcb +++| CRD CM
00037 M00S00036.comprcb +++| LDN CM SET BYTE ADDRESS
00038 M00S00037.comprcb +++| STD T2
00039 M00S00038.comprcb +++| AOD OT+1 ADVANCE OUT
00040 M00S00039.comprcb +++| SHN -14
00041 M00S00040.comprcb +++| RAD OT
00042 M00S00041.comprcb +++| LMD LM
00043 M00S00042.comprcb +++| NJN RCB2
00044 M00S00043.comprcb +++| LDD OT+1
00045 M00S00044.comprcb +++| LMD LM+1
00046 M00S00045.comprcb +++| NJN RCB2 IF LIMIT NOT REACHED
00047 M00S00046.comprcb +++| LDD FT SET OUT = FIRST
00048 M00S00047.comprcb +++| STD OT
00049 M00S00048.comprcb +++| LDD FT+1
00050 M00S00049.comprcb +++| STD OT+1
00051 M00S00050.comprcb +++| RCB2 LDI T2 MOVE BYTE
00052 M00S00051.comprcb +++| STI T1
00053 M00S00052.comprcb +++| AOD T1 ADVANCE BYTE ADDRESS
00054 M00S00053.comprcb +++| LMD T3
00055 M00S00054.comprcb +++| ZJN RCB4 IF LINE BUFFER FULL
00056 M00S00055.comprcb +++| AOD T2
00057 M00S00056.comprcb +++| LMN CM+5
00058 M00S00057.comprcb +++| NJN RCB2 LOOP TO END OF WORD
00059 M00S00058.comprcb +++| LDD CM+4
00060 M00S00059.comprcb +++| ZJN RCB4 IF END OF LINE
00061 M00S00060.comprcb +++| LDD OT CHECK OUT
00062 M00S00061.comprcb +++| LMD IN
00063 M00S00062.comprcb +++| SHN 14
00064 M00S00063.comprcb +++| ADD OT+1
00065 M00S00064.comprcb +++| LMD IN+1
00066 M00S00065.comprcb +++| ZJN RCB4 IF OUT = IN
00067 M00S00066.comprcb +++| LJM RCB1 LOOP
00068 M00S00067.comprcb +++| RCB4 STI T1 TERMINATE LINE
00069 M00S00068.comprcb +++| LJM RCBX RETURN
00070 M00S00069.comprcb +++| SPACE 4
00071 M00S00070.comprcb +++| QUAL$ IF -DEF,QUAL$
00072 M00S00071.comprcb +++| QUAL *
00073 M00S00072.comprcb +++| RCB EQU /COMPRCB/RCB
00074 M00S00073.comprcb +++| RCBA EQU /COMPRCB/RCBA
00075 M00S00074.comprcb +++| QUAL$ ENDIF
00076 M00S00075.comprcb +++| ENDX