User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:comchxb

Common COMCHXB

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.comchxb +++|          CTEXT  COMCHXB - HEX DISPLAY CODE TO BINARY CONVERSION.
00002  M00S00002.comchxb +++| COMCHXB  SPACE  4,10
00003  M00S00003.comchxb +++|          IF     -DEF,QUAL$,1
00004  M00S00004.comchxb +++|          QUAL   COMCHXB
00005  M00S00005.comchxb +++|
Line S00006 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORPORATION, 1977.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M00S00007.comchxb +++| COMCHXB  SPACE  4,10
00009  M00S00008.comchxb +++|***       HXB - HEXADECIMAL DISPLAY CODE TO BINARY CONVERSION.
00010  M00S00009.comchxb +++|*         P. D. FARRELL.     77/02/16.
00011  M00S00010.comchxb +++| COMCHXB  SPACE  4,10
00012  M00S00011.comchxb +++|***              HXB CONVERTS ONE WORD OF HEXADECIMAL DISPLAY
00013  M00S00012.comchxb +++|*         CODE DIGITS TO A BINARY VALUE.  LEADING AND TRAILING
00014  M00S00013.comchxb +++|*         SPACES ARE IGNORED.  IF A CHARACTER OTHER THAN 0-9
00015  M00S00014.comchxb +++|*         OR A-F IS DETECTED WITHIN THE DIGIT STRING AN ERROR
00016  M00S00015.comchxb +++|*         IS RETURNED.
00017  M00S00016.comchxb +++|*
00018  M00S00017.comchxb +++|*         ENTRY  (X5) = WORD TO BE CONVERTED.
00019  M00S00018.comchxb +++|*
00020  M00S00019.comchxb +++|*         EXIT   (X6) = CONVERTED HEXADECIMAL DIGITS.
00021  M00S00020.comchxb +++|*                (X4) = NONZERO IF ERROR DETECTED.
00022  M00S00021.comchxb +++|*
00023  M00S00022.comchxb +++|*         USES   X - 2, 3, 4, 5, 6.
00024  M00S00023.comchxb +++|*                B - 3, 4, 5.
00025  M00S00024.comchxb +++|
00026  M00S00025.comchxb +++|
00027  M00S00026.comchxb +++| HXB      PS                 ENTRY/EXIT
00028  M00S00027.comchxb +++|          SB3    -1RG        (B3) = -1RG
00029  M00S00028.comchxb +++|          MX4    -6          (X4) = DIGIT MASK
00030  M00S00029.comchxb +++|          BX6    X6-X6       CLEAR ASSEMBLY
00031  M00S00030.comchxb +++|          SB4    -1R0        (B4) = -1R0
00032  M00S00031.comchxb +++|          SB5    -1R         (B5) = -1R
00033  M00S00032.comchxb +++|
00034  M00S00033.comchxb +++|*         BYPASS LEADING SPACES.
00035  M00S00034.comchxb +++|
00036  M00S00035.comchxb +++| HXB1     ZR     X5,HXB4     IF ZERO WORD
00037  M00S00036.comchxb +++|          LX5    6           EXTRACT UPPER DIGIT
00038  M00S00037.comchxb +++|          BX2    -X4*X5      (X2) = DISPLAY CODE DIGIT
00039  M00S00038.comchxb +++|          SX3    X2+B5
00040  M00S00039.comchxb +++|          BX5    X4*X5       CLEAR DIGIT
00041  M00S00040.comchxb +++|          ZR     X3,HXB1     IF LEADING SPACE, LOOP
00042  M00S00041.comchxb +++|
00043  M00S00042.comchxb +++|*         CONVERT DIGITS TO TRAILING SPACE.
00044  M00S00043.comchxb +++|
00045  M00S00044.comchxb +++| HXB2     SX3    X2+B5       CHECK DIGIT
00046  M00S00045.comchxb +++|          LX5    6
00047  M00S00046.comchxb +++|          ZR     X3,HXB4     IF TRAILING SPACE
00048  M00S00047.comchxb +++|          SX3    X2+B3
00049  M00S00048.comchxb +++|          NG     X3,HXB3     IF A-F
00050  M00S00049.comchxb +++|          SX3    X2+B4
00051  M00S00050.comchxb +++|          NG     X3,HXB      IF G-0, RETURN ERROR
00052  M00S00051.comchxb +++|          SX3    X2-1R9-1
00053  M00S00052.comchxb +++|          PL     X3,HXB      IF .GT. 9, RETURN ERROR
00054  M00S00053.comchxb +++|          SX2    X2-1R0+1RA-0#A  BIAS FOR 0-9 CONVERSION
00055  M00S00054.comchxb +++| HXB3     SX2    X2-1RA+0#A  CONVERT DIGIT
00056  M00S00055.comchxb +++|          LX6    4           ADD TO ASSEMBLY
00057  M00S00056.comchxb +++|          BX6    X6+X2
00058  M00S00057.comchxb +++|          BX2    -X4*X5      EXTRACT NEXT DIGIT
00059  M00S00058.comchxb +++|          BX5    X4*X5       CLEAR DIGIT
00060  M00S00059.comchxb +++|          NZ     X2,HXB2     IF NOT END OF WORD
00061  M00S00060.comchxb +++| HXB4     BX4    X4-X4       RETURN NO ERROR
00062  M00S00061.comchxb +++|          JP     HXB
00063  M00S00062.comchxb +++| COMCHXB  SPACE  4,10
00064  M00S00063.comchxb +++| QUAL$    IF     -DEF,QUAL$
00065  M00S00064.comchxb +++|          QUAL   *
00066  M00S00065.comchxb +++| HXB      EQU    /COMCHXB/HXB
00067  M00S00066.comchxb +++| QUAL$    ENDIF
00068  M00S00067.comchxb +++|          ENDX
cdc/nos2.source/opl.opl871/common/comchxb.txt ยท Last modified: by 127.0.0.1