Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.compans +++| CTEXT COMPANS - ASSEMBLE NUMERIC STRING.
00002 M01S00002.compans +++| ANS SPACE 4
00003 M01S00003.compans +++| IF -DEF,QUAL$,1
00004 M01S00004.compans +++| QUAL COMPANS
Line S00005 Modification History |
M01 (Added by) | compans |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00005 M02S00005.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORP. 1976.
00006 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00007 M01S00006.compans +++| ANS SPACE 4
00008 M01S00007.compans +++|*** ANS - ASSEMBLE NUMERIC STRING.
00009 M01S00008.compans +++|* J. J. EIKUM. 76/04/04.
00010 M01S00009.compans +++| ANS SPACE 4,15
00011 M01S00010.compans +++|*** ANS CONVERTS A NUMBER TO DISPLAY CODE, SUPPRESSES
00012 M01S00011.compans +++|* LEADING ZEROS, AND APPENDS THE DIPLAY CODE TO THE END
00013 M01S00012.compans +++|* OF A STRING. ITS PURPOSE IS TO ADD A NUMBER TO A
00014 M01S00013.compans +++|* MESSAGE CONTAINING VARIABLE LENGTH PARAMETERS.
00015 M01S00014.compans +++|*
00016 M01S00015.compans +++|* ENTRY (A) = NUMBER.
00017 M01S00016.compans +++|* (T1) = ADDRESS FOR ASSEMBLY.
00018 M01S00017.compans +++|* ((T1)) = END OF STRING IN *C* FORMAT.
00019 M01S00018.compans +++|*
00020 M01S00019.compans +++|* EXIT (T1) ADVANCED.
00021 M01S00020.compans +++|* ((T1)) = END OF STRING IN *C* FORMAT.
00022 M01S00021.compans +++|*
00023 M01S00022.compans +++|* USES T0, CM - CM+1.
00024 M01S00023.compans +++|
00025 M01S00024.compans +++|
00026 M01S00025.compans +++| ANS SUBR
00027 M01S00026.compans +++| STD CM+1 SAVE NUMBER
00028 M01S00027.compans +++| SHN -14
00029 M01S00028.compans +++| STD CM
00030 M01S00029.compans +++| ZJN ANS2 IF DIGITS 4 AND 5 ARE ZERO
00031 M01S00030.compans +++| SHN -3
00032 M01S00031.compans +++| ZJN ANS1 IF DIGIT 5 IS ZERO
00033 M01S00032.compans +++| RJM AND ADD DIGIT 5
00034 M01S00033.compans +++| ANS1 LDD CM ADD DIGIT 4
00035 M01S00034.compans +++| RJM AND
00036 M01S00035.compans +++|
00037 M01S00036.compans +++| ANS2 LDD CM CHECK DIGITS 2 AND 3
00038 M01S00037.compans +++| SHN 14
00039 M01S00038.compans +++| LMD CM+1
00040 M01S00039.compans +++| SHN -6
00041 M01S00040.compans +++| ZJN ANS4 IF DIGITS 2, 3, 4, AND 5 ARE ZERO
00042 M01S00041.compans +++| SHN -3
00043 M01S00042.compans +++| ZJN ANS3 IF DIGITS 3, 4, AND 5 ARE ZERO
00044 M01S00043.compans +++| RJM AND ADD DIGIT 3
00045 M01S00044.compans +++| ANS3 LDD CM+1 ADD DIGIT 2
00046 M01S00045.compans +++| SHN -6
00047 M01S00046.compans +++| RJM AND
00048 M01S00047.compans +++|
00049 M01S00048.compans +++| ANS4 LDD CM CHECK DIGIT 1
00050 M01S00049.compans +++| SHN 14
00051 M01S00050.compans +++| LMD CM+1
00052 M01S00051.compans +++| SHN -3
00053 M01S00052.compans +++| ZJN ANS5 IF DIGITS 1, 2, 3, 4, AND 5 ARE ZERO
00054 M01S00053.compans +++| RJM AND ADD DIGIT 1
00055 M01S00054.compans +++|
00056 M01S00055.compans +++| ANS5 LDD CM+1 ADD DIGIT 0
00057 M01S00056.compans +++| RJM AND
00058 M01S00057.compans +++| LJM ANSX
00059 M01S00058.compans +++| AND SPACE 4,10
00060 M01S00059.compans +++|** AND - ADD NEXT DIGIT.
00061 M01S00060.compans +++|*
00062 M01S00061.compans +++|* ENTRY (BITS 0 - 2 OF A) = NEXT DIGIT
00063 M01S00062.compans +++|*
00064 M01S00063.compans +++|* EXIT (T1) ADVANCED.
00065 M01S00064.compans +++|*
00066 M01S00065.compans +++|* USES T0.
00067 M01S00066.compans +++|
00068 M01S00067.compans +++|
00069 M01S00068.compans +++| AND1 STM 1,T1 CLEAR NEXT BYTE
00070 M01S00069.compans +++| LDD T0 STORE CHARACTER
00071 M01S00070.compans +++| SHN 6
00072 M01S00071.compans +++| STI T1
00073 M01S00072.compans +++|
00074 M01S00073.compans +++| AND SUBR
00075 M01S00074.compans +++| LPN 7 CONVERT TO DISPLAY CODE
00076 M01S00075.compans +++| ADN 1R0
00077 M01S00076.compans +++| STD T0
00078 M01S00077.compans +++| LDI T1
00079 M01S00078.compans +++| ZJN AND1 IF ASSEMBLY ON BYTE BOUNDARY
00080 M01S00079.compans +++| LDD T0 ADD CHARACTER
00081 M01S00080.compans +++| RAI T1
00082 M01S00081.compans +++| AOD T1 ADVANCE POINTER
00083 M01S00082.compans +++| UJN ANDX
00084 M01S00083.compans +++| SPACE 4,10
00085 M01S00084.compans +++| IF -DEF,QUAL$
00086 M01S00085.compans +++| QUAL *
00087 M01S00086.compans +++| ANS EQU /COMPANS/ANS
00088 M01S00087.compans +++| ENDIF
00089 M01S00088.compans +++| ENDX