*DECK C$AD222 
          IDENT  C$AD222
          TITLE  CBAD222 -DOUBLE PRECISION DISPLAY CODE ADD 
  
          MACHINE  ANY,I
          COMMENT  DOUBLE PRECISION DISPLAY CODE ADD
 CBAD222  SPACE  4
**        CBAD222 - DISPLAY CODE ADD, DOUBLE PRECISION INPUT AND OUTPUT 
* 
*         INPUT 
*                X1  OPERAND1 UPPER HALF
*                X2  OPERAND1 LOWER HALF
*                X3  OPERAND2 UPPER HALF
*                X4  OPERAND2 LOWER HALF
* 
*         OUTPUT
*                X1 - SUM UPPER HALF
*                X2 - SUM LOWER HALF
*                OUTPUT ALSO IN X0 X5 FOR OLD BINARIES
* 
*         SAVED REGISTERS 
*                A0,A1,A2,A4,A6,A7
*                B1,B2,B3,B4,B5,B6,B7 
* 
  
          ENTRY  C.AD222
 C.AD222  DATA    0 
          IX1    X1+X3
          SA5    =XC.SIXES
          SA3    =XC.ZEROS
          BX6    X3 
          IX4    X2+X4
          BX0    X1*X4       COMPATIBLE CARRY TESTER
          BX3    X1-X4       POSSIBLE FALSE WORD CARRY (-0 TO +0) 
          ZR     X0,ZCHEC 
 CHEK2    PL     X3,POSTADD  BOTH OR NEITHER WORDS CARRIED
          SX0    1
          PL     X1,LONEG 
          IX1    X1+X0
          IX4    X4-X0
          ZR     X1,HININES 
          EQ     POSTADD
  
 LONEG    ZR     X4,LONINES  CARRY PROPAGATES THRU ALL SEVENS 
          IX1    X1-X0
          IX4    X4+X0
          NZ     X4,POSTADD 
          BX4    -X4
          EQ     POSTADD
  
 LUNINES  ZR     X1,ZEROUT   HI AND LO ZERO 
          BX4    -X4         +0  TO  -0  (LO) 
          BX0    X1*X4       COMPATIBLE CARRY TESTER
          BX3    X1-X4       POSSIBLE FALSE 
          NZ     X0,CHEK2    WRD CARRY (-0 TO +0) 
 ZCHEC    ZR     X4,LUNINES  LO SWITCHED -0 TO +0 
          NZ     X1,CHEK2    WRONG GUESS
          AX3    59          EXTEND LO SIGN 
          BX1    X3          SHOULD PROPOGATE TO HI 
          EQ     POSTADD
 LONINES  BSS    0
          BX4    -X4
          EQ     POSTADD
 ZEROUT   BX5    X6 
          BX0    X6 
          BX1    X0 
          BX2    X5 
          EQ     C.AD222
  
 HININES  BX1    -X1         +0  TO  -0    (HI) 
 POSTADD  BX2    -X1*X5      MASK CARRIES IN SUMHI
          IX3    X1-X6       REMOVE BIAS FROM SUMHI 
          BX7    -X4*X5      MASK CARRIES I  SUMLO
          IX3    X3+X2       ADD 60 TO EACH CARRIE POSITION 
          LX2    57          SHIFT SUMHI CARRIES
          IX0    X3+X2       AND COMPLETE THE CARRY 
          IX4    X7+X4       ADD 60 TO EACH CARRIE POSITION ( 
          LX7    57          SHIFT SUMLO CARRIES
          IX4    X7+X4       COMPLETE THESE CARRIES 
          IX5    X4-X6       REMOVE BIAS FROM SUMLO 
          BX1    X0 
          BX2    X5 
          EQ     C.AD222
          END 
