COMCHXB 
COMMON
          CTEXT  COMCHXB - HEX DISPLAY CODE TO BINARY CONVERSION. 
 COMCHXB  SPACE  4,10 
          IF     -DEF,QUAL$,1 
          QUAL   COMCHXB
  
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 COMCHXB  SPACE  4,10 
***       HXB - HEXADECIMAL DISPLAY CODE TO BINARY CONVERSION.
*         P. D. FARRELL.     77/02/16.
 COMCHXB  SPACE  4,10 
***              HXB CONVERTS ONE WORD OF HEXADECIMAL DISPLAY 
*         CODE DIGITS TO A BINARY VALUE.  LEADING AND TRAILING
*         SPACES ARE IGNORED.  IF A CHARACTER OTHER THAN 0-9
*         OR A-F IS DETECTED WITHIN THE DIGIT STRING AN ERROR 
*         IS RETURNED.
* 
*         ENTRY  (X5) = WORD TO BE CONVERTED. 
* 
*         EXIT   (X6) = CONVERTED HEXADECIMAL DIGITS. 
*                (X4) = NONZERO IF ERROR DETECTED.
* 
*         USES   X - 2, 3, 4, 5, 6. 
*                B - 3, 4, 5. 
  
  
 HXB      PS                 ENTRY/EXIT 
          SB3    -1RG        (B3) = -1RG
          MX4    -6          (X4) = DIGIT MASK
          BX6    X6-X6       CLEAR ASSEMBLY 
          SB4    -1R0        (B4) = -1R0
          SB5    -1R         (B5) = -1R 
  
*         BYPASS LEADING SPACES.
  
 HXB1     ZR     X5,HXB4     IF ZERO WORD 
          LX5    6           EXTRACT UPPER DIGIT
          BX2    -X4*X5      (X2) = DISPLAY CODE DIGIT
          SX3    X2+B5
          BX5    X4*X5       CLEAR DIGIT
          ZR     X3,HXB1     IF LEADING SPACE, LOOP 
  
*         CONVERT DIGITS TO TRAILING SPACE. 
  
 HXB2     SX3    X2+B5       CHECK DIGIT
          LX5    6
          ZR     X3,HXB4     IF TRAILING SPACE
          SX3    X2+B3
          NG     X3,HXB3     IF A-F 
          SX3    X2+B4
          NG     X3,HXB      IF G-0, RETURN ERROR 
          SX3    X2-1R9-1 
          PL     X3,HXB      IF .GT. 9, RETURN ERROR
          SX2    X2-1R0+1RA-0#A  BIAS FOR 0-9 CONVERSION
 HXB3     SX2    X2-1RA+0#A  CONVERT DIGIT
          LX6    4           ADD TO ASSEMBLY
          BX6    X6+X2
          BX2    -X4*X5      EXTRACT NEXT DIGIT 
          BX5    X4*X5       CLEAR DIGIT
          NZ     X2,HXB2     IF NOT END OF WORD 
 HXB4     BX4    X4-X4       RETURN NO ERROR
          JP     HXB
 COMCHXB  SPACE  4,10 
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 HXB      EQU    /COMCHXB/HXB 
 QUAL$    ENDIF 
          ENDX
