*DECK C$MCS2
          IDENT  C$MCS2 
          TITLE  C$MCS2 - CONVERSION ROUTINE
          MACHINE ANY,I 
          COMMENT MCS CONVERSION ROUTINE
          SST 
          B1=1
          SPACE  5
* 
**        C.MCS2 - CONVERSION ROUTINE 
* 
*         INPUT 
*                X1  PIC 9(4) LEFT JUSTIFIED
* 
*         OUTPUT
*                X1  BINARY EQUIVALENT
*                    -1 IF NON NUMERIC
* 
*         DOES
*                CONVERTS DESTINATION COUNT AND TEXT LENGTH 
*                TO BINARY AND VERIFIES EACH CHARACTER IS  NUMERIC
* 
*         USES
*                A  - - - - - - - - 
*                X  0 1 2 3 4 - - - 
*                B  0 1 2 - - - - - 
          EJECT 
          ENTRY  C.MCS2 
 FAIL     SX1    -1 
 C.MCS2   DATA   0
          MX0    0           SUM = 0
          SB2    4           INITIALIZE LOOP INDEX
          SX2    10          X2 = 10
 L1       IX0    X0*X2       MULTIPLY SUM BY 10 
          LX1    6           GET NEXT DIGIT 
          MX3    54 
          BX3    -X3*X1      X3 = DISPLAY CHARACTER 
          SX5    1R0
          IX3    X3-X5       BINARY DIGIT 
          NG     X3,FAIL     JUMP IF DISPLAY CODE < 33B 
          IX5    X3-X2       X5 = BINARY DIGIT - 10 
          PL     X5,FAIL     JUMP IF BINARY DIGIT > 9 
          IX0    X0+X3       SUM = SUM + BINARY DIGIT 
          SB2    B2-B1       DECREMENT LOOP INDEX 
          NZ     B2,L1
          BX1    X0 
          EQ     C.MCS2 
          END 
