Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.comcusb +++| CTEXT COMCUSB - UNPACK DATA BLOCK TO STRING BUFFER.
00002 M01S00002.comcusb +++| SPACE 4
00003 M01S00003.comcusb +++| IF -DEF,QUAL$,1
00004 M01S00004.comcusb +++| QUAL COMCUSB
00005 M01S00005.comcusb +++| BASE D
Line S00006 Modification History |
M01 (Added by) | comcusb |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00006 M02S00006.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1972.
00007 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00008 M01S00007.comcusb +++| USB SPACE 4
00009 M01S00008.comcusb +++|*** USB - UNPACK DATA BLOCK TO STRING BUFFER.
00010 M01S00009.comcusb +++|* D. A. HIVELEY. 72/03/01.
00011 M01S00010.comcusb +++|* S. R. MCPHERSON. 74/09/30.
00012 M01S00011.comcusb +++|* A. D. FORET. 74/12/04. RESEQUENCE.
00013 M01S00012.comcusb +++| USB SPACE 4
00014 M01S00013.comcusb +++|*** USB - UNPACK DATA BLOCK TO STRING BUFFER.
00015 M01S00014.comcusb +++|*
00016 M01S00015.comcusb +++|* IF THE SYMBOL USBL$ IS DEFINED IN THE USER PROGRAM, THE
00017 M01S00016.comcusb +++|* VARIABLE LENGTH STRING BUFFER OPTION IS SELECTED. THIS
00018 M01S00017.comcusb +++|* VARIABLE LENGTH OPTION REQUIRES THAT THE STRING BUFFER USBB,
00019 M01S00018.comcusb +++|* OF LENGTH SPECIFIED BY B6 UPON ENTRY, ALSO BE DEFINED IN THE
00020 M01S00019.comcusb +++|* USER PROGRAM.
00021 M01S00020.comcusb +++|*
00022 M01S00021.comcusb +++|* IF THE SYMBOL USBA$ IS DEFINED IN THE USER PROGRAM, 12 BIT
00023 M01S00022.comcusb +++|* ASCII CHARACTERS WILL BE CORRECTLY UNPACKED INTO THE STRING
00024 M01S00023.comcusb +++|* BUFFER. (B3) DEFINES WHETHER OR NOT ASCII UNPACKING WILL
00025 M01S00024.comcusb +++|* BE DONE.
00026 M01S00025.comcusb +++|*
00027 M01S00026.comcusb +++|* ENTRY (B1) - 1.
00028 M01S00027.comcusb +++|* (B2) - FWA OF PACKED DATA.
00029 M01S00028.comcusb +++|* (B3) - .EQ. 0, IF NORMAL CHARACTER SET.
00030 M01S00029.comcusb +++|* .NE. 0, IF ASCII 6/12 CHARACTER SET.
00031 M01S00030.comcusb +++|* THIS CONDITION IS USED ONLY WHEN ASCII 6/12
00032 M01S00031.comcusb +++|* UNPACKING OPTION (USBA$) IS DEFINED.
00033 M01S00032.comcusb +++|* (B6) - STRING BUFFER LENGTH, REQUIRED AND USED ONLY
00034 M01S00033.comcusb +++|* WHEN VARIABLE LENGTH STRING BUFFER OPTION
00035 M01S00034.comcusb +++|* SELECTED (USBL$ DEFINED).
00036 M01S00035.comcusb +++|*
00037 M01S00036.comcusb +++|* EXIT CHARACTER UNPACKED 1 TO A WORD, RIGHT JUSTIFIED
00038 M01S00037.comcusb +++|* STARTING AT (USBB). A MAXIMUM OF
00039 M01S00038.comcusb +++|* 80 CHARACTERS ARE ACCOMMODATED, BY
00040 M01S00039.comcusb +++|* DEFAULT. AN ADDITIONAL WORD IS PROVIDED
00041 M01S00040.comcusb +++|* FOR THOSE PROGRAMS THAT GUARANTEE A
00042 M01S00041.comcusb +++|* TERMINATOR AT THE END OF STRING.
00043 M01S00042.comcusb +++|* (A1) = LWA PACKED DATA PROCESSED.
00044 M01S00043.comcusb +++|* ((A6)) = LWA OF UNPACK BUFFER.
00045 M01S00044.comcusb +++|* (B2) = 0, IF MAXIMUM CHARACTERS PROCESSED.
00046 M01S00045.comcusb +++|* (B6) = FWA OF UNPACK BUFFER.
00047 M01S00046.comcusb +++|* (B7) = LWA OF UNPACKED BUFFER.
00048 M01S00047.comcusb +++|* (USBC) = LWA OF UNPACKED BUFFER.
00049 M01S00048.comcusb +++|*
00050 M01S00049.comcusb +++|* USES X - 1, 2, 3, 6, 7.
00051 M01S00050.comcusb +++|* A - 1, 6.
00052 M01S00051.comcusb +++|* B - 2, 6, 7.
00053 M01S00052.comcusb +++|
00054 M01S00053.comcusb +++|
00055 M01S00054.comcusb +++| USB3 SX6 B7+ ADDRESS OF LAST CHARACTER
00056 M01S00055.comcusb +++| SA6 USBC
00057 M01S00056.comcusb +++| SB6 USBB SET BEGINNING ADDRESS OF STRING
00058 M01S00057.comcusb +++|
00059 M01S00058.comcusb +++| USB PS ENTRY/EXIT
00060 M01S00059.comcusb +++| SA1 B2+ CONTROL CARD BUFFER
00061 M01S00060.comcusb +++| SB7 USBB-1 DATA BLOCK STRING BUFFER
00062 M01S00061.comcusb +++| MX2 -6
00063 M01S00062.comcusb +++| IF DEF,USBL$
00064 M01S00063.comcusb +++| SB2 B6+
00065 M01S00064.comcusb +++| ELSE 1
00066 M01S00065.comcusb +++| SB2 80
00067 M01S00066.comcusb +++| SB6 B0 SET CHARACTER COUNT IN WORD
00068 M01S00067.comcusb +++| .A IF DEF,USBA$
00069 M01S00068.comcusb +++| SX7 B0+
00070 M01S00069.comcusb +++| .A ENDIF
00071 M01S00070.comcusb +++| USB1 LX1 6
00072 M01S00071.comcusb +++| SB6 B6+B1 BUMP CHARACTER COUNT THIS WORD
00073 M01S00072.comcusb +++| BX6 -X2*X1
00074 M01S00073.comcusb +++| .B IF DEF,USBA$
00075 M01S00074.comcusb +++| BX6 X6+X7
00076 M01S00075.comcusb +++| .B ENDIF
00077 M01S00076.comcusb +++| BX1 X2*X1 CLEAR CURRENT CHARACTER FROM WORD
00078 M01S00077.comcusb +++| .C IF DEF,USBA$
00079 M01S00078.comcusb +++| ZR B3,USB2 IF ASCII 6/12 NOT SELECTED
00080 M01S00079.comcusb +++| SX3 X6-74B
00081 M01S00080.comcusb +++| ZR X3,USB2.2 IF ESCAPE CHARACTER *74*
00082 M01S00081.comcusb +++| SX3 X6-76B
00083 M01S00082.comcusb +++| ZR X3,USB2.2 IF ESCAPE CHARACTER *76*
00084 M01S00083.comcusb +++| SX7 B0+
00085 M01S00084.comcusb +++| .C ENDIF
00086 M01S00085.comcusb +++| USB2 SB7 B7+B1 INCREMENT STRING BUFFER ADDRESS
00087 M01S00086.comcusb +++| SB2 B2-B1 DECREMENT CHARACTER COUNT
00088 M01S00087.comcusb +++| SA6 B7+ STORE CURRENT CHARACTER IN STRING BUFFER
00089 M01S00088.comcusb +++| ZR B2,USB3 IF MAXIMUM CHARACTERS PROCESSED
00090 M01S00089.comcusb +++| USB2.1 NZ X1,USB1 IF MORE CHARACTERS
00091 M01S00090.comcusb +++| SX6 B6-9 CHECK CHARACTERS PROCESSED THIS WORD
00092 M01S00091.comcusb +++| NG X6,USB3 IF END OF LINE
00093 M01S00092.comcusb +++| SB6 B0 RESET CHARACTER COUNT WITHIN WORD
00094 M01S00093.comcusb +++| SA1 A1+B1 GET NEXT WORD
00095 M01S00094.comcusb +++| ZR X1,USB3 IF END OF LINE
00096 M01S00095.comcusb +++| NZ X6,USB1 IF LAST WORD COMPLETELY PROCESSED
00097 M01S00096.comcusb +++| EQ USB2 PROCESS *00* TERMINATING PREVIOUS WORD
00098 M01S00097.comcusb +++|
00099 M01S00098.comcusb +++| .D IF DEF,USBA$
00100 M01S00099.comcusb +++| USB2.2 BX7 X6
00101 M01S00100.comcusb +++| LX7 6
00102 M01S00101.comcusb +++| EQ USB2.1 PROCESS NEXT CHARACTER
00103 M01S00102.comcusb +++| .D ENDIF
00104 M01S00103.comcusb +++| SPACE 4
00105 M01S00104.comcusb +++| IF -DEF,USBL$,2
00106 M01S00105.comcusb +++| IF -DEF,USBB,1
00107 M01S00106.comcusb +++| USBB BSS 81 STRING BUFFER
00108 M01S00107.comcusb +++| IF -DEF,USBC,1
00109 M01S00108.comcusb +++| USBC BSS 1
00110 M01S00109.comcusb +++| QUAL$ IF -DEF,QUAL$
00111 M01S00110.comcusb +++| QUAL *
00112 M01S00111.comcusb +++| USB EQU /COMCUSB/USB
00113 M01S00112.comcusb +++| IF -DEF,USBL$,2
00114 M01S00113.comcusb +++| IF -DEF,USBB,1
00115 M01S00114.comcusb +++| USBB EQU /COMCUSB/USBB
00116 M01S00115.comcusb +++| IF -DEF,USBC,1
00117 M01S00116.comcusb +++| USBC EQU /COMCUSB/USBC
00118 M01S00117.comcusb +++| QUAL$ ENDIF
00119 M01S00118.comcusb +++| BASE *
00120 M01S00119.comcusb +++| ENDX