*DECK C$N12RN 
          IDENT  C$N12RN
          TITLE  C.N12RN -  NUMERIC DISPLAY TYPE 1 TO REGISTER NUMERIC
          COMMENT  NUM. DISPLAY TYPE 1 TO REG. NUM. 
          MACHINE  ANY,I
          SPACE  4
**        C.N12RN -  NUMERIC DISPLAY TYPE 1 TO REGISTER NUMERIC 
* 
*         NUMERIC DISPLAY TYPE 1 IS-
*                SOURCE IS UNSIGNED, AND
*                10 OR LESS SOURCE DIGITS ARE PICKED UP,  AND 
*                NO SCALING.
* 
*      GIVEN- 
*         B3 = SOURCE ADDRESS 
*         X2 = SOURCE BCP    (0 @ X2 < 2'18)
*         B4 = SOURCE LENGTH (1 @ B4 @ 10)
*         X3 = 10H0000000000
* 
*         RJ     C.N12RN
* 
*      DOES-
*         SETS X1 = SOURCE VALUE, RIGHT-JUSTIFIED,
*           FILLED WITH DISPLAY ZEROS.
* 
*      USES-     B    * - 3 4 5 6 -    *B1=1
*                X  0 1 2 3 - - - - 
*                A  - 1 2 - - - - - 
  
  
*                            SOURCE IS ENTIRELY CONTAINED IN ONE WORD 
 N12RN.1  SB6    B3+B3       2*(BCP+LEN)
          NO
          SB3    B6+B6       4*(BCP+LEN)
          LX0    X1,B6
          NO
          LX1    X0,B3       RIGHT-JUSTIFY SOURCE 
          BX2    X2*X1       EXTRACT SOURCE DIGITS
          IX1    X3+X2       PAD WITH ZEROS ON LEFT 
*         FALL THROUGH TO EXIT
  
          ENTRY  C.N12RN
 C.N12RN  BSS    1           ENTRY/EXIT WORD
          SX0    1S20/10+1   (  1/10) * 2'20
          SB5    10 
          IX1    X0*X2       (BCP/10) * 2'20
          SX0    B5          10 
          AX1    20          (BCP/10) 
          IX0    X1*X0       (BCP/10)*10
          SA1    B3+X1       FIRST WORD 
          IX0    X2-X0       0 @ BCP @ 9
          SA2    =X_C.RMASK+B4     (10-LEN)00-S, (LEN)77-S
          SB3    X0+B4       BCP + LEN
          BX3    -X2*X3      (10-LEN)33-S, (LEN)00-S
          LT     B3,B5,N12RN.1     IF BCP+LEN < 10
          NE     B3,B5,N12RN.2     IF TWO WORDS 
  
*                            SOURCE IS ONE WORD, RIGHT-JUSTIFIED
          BX0    X2*X1       EXTRACT NUMERIC PART 
          IX1    X3+X0       PAD WITH ZEROS ON LEFT 
          EQ     C.N12RN     EXIT 
  
  
*                            SOURCE SPANS TWO WORDS 
*         X1 = FIRST SOURCE WORD
*         A1 = ADDRESS OF FIRST SOURCE WORD 
*         X3 = ZERO PADDING FOR FINAL RESULT
*         X0 = BCP   (0 @ BCP @ 9)
*         B1 = 1
*         B3 = BCP + LEN
  
 N12RN.2  SA2    =X_C.MASK+X0      (BCP)77-S, (10-BCP)00-S
          SB4    B3-B5       (BCP + LEN - 10) = LSHIFT
          BX0    -X2*X1      EXTRACT LEFT PART OF NUMBER
          SA1    A1+B1       SECOND WORD
          SA2    =X_C.MASK+B3-10   (BCP+LEN-10)77-S, (REST)00-S 
          BX1    X2*X1       EXTRACT RIGHT PART OF NUMBER 
          SB6    B4+B4       2*LSHIFT 
          IX1    X0+X1       COMBINE TWO PARTS OF NUMBER
          SB3    B6+B6       4*LSHIFT 
          SB4    B3+B6       6*LSHIFT 
          LX0    X1,B4       RIGHT-JUSTIFY NUMERIC PART 
          BX1    X3+X0       PAD WITH ZEROS ON LEFT 
          EQ     C.N12RN     EXIT 
          SPACE  4
          END 
