*DECK,SAVREGS 
          IDENT  SAVREGS
          TITLE  REGISTER SAVE AND RESTORE ROUTINE
*CALL,SSTCALL 
          TITLE              SAVE REGISTERS 
 B=SVREG  RPVDEF             DEFINE ROUTINE FWA FOR REPRIEVE UTILITY
 SAVREG   ENTRY.
 B1BITS   BSS    0
          DUP    18 
+         PL     B1,*+2 
          RJ     *+1
+         DATA   0
+         SB1    B1+B1
          ENDD
          SPACE  1
          SB1    A7-B0
          SA7    SVX+7             .X7
          SX7    B1-B0
          SA7    SVA+7             .A7
          SX7    A6-B0
          SB1    1
          SA6    SVX+6             .X6
          SA7    A7-B1             .A6
          BX6    X5 
          SX7    A5-B0
          SA6    A6-B1             .X5
          SA7    A7-B1             .A5
          BX6    X4 
          SX7    A4-B0
          SA6    A6-B1             .X4
          SA7    A7-B1             .A4
          BX6    X3 
          SX7    A3-B0
          SA6    A6-B1             .X3
          SA7    A7-B1             .A3
          BX6    X2 
          SX7    A2-B0
          SA6    A6-B1             .X2
          SA7    A7-B1             .A2
          BX6    X1 
          SX7    A1-B0
          SA6    A6-B1             .X1
          SA7    A7-B1             .A1
          BX6    X0 
          SX7    A0-B0
          SA6    A6-B1             .X0
          SA7    A7-B1             .A0
          SX6    B7-B0
          SX7    B6-B0
          SA6    A7-B1             .B7
          SA7    A6-B1             .B6
          SX6    B5-B0
          SX7    B4-B0
          SA6    A7-B1             .B5
          SA7    A6-B1             .B4
          SX6    B3-B0
          SX7    B2-B0
          SA6    A7-B1             .B3
          SA7    A6-B1             .B2
          SB2    18 
          MX6    0
          BX7    X7-X7
          SA1    B1BITS+1 
 EXPANDB1 IX0    X7+X7
          AX1    56 
          BX7    X0+X1
          SA6    A1 
          SB2    B2-B1
          NO
          SA1    A1+3 
          GE     B2,B1,EXPANDB1 
          LX7    60-18             (SIGN EXTEND VALUE FROM B1, PRESERVE 
          AX7    60-18              A POSSIBLE -0)
          SA7    A7-B1             .B1
          ZR     SAVREG 
          TITLE              RESTORE REGISTERS
 RESREG   ENTRY.
          SA1    INSTMASK 
          SA2    WICKED 
          SA3    SVB+0
          SB2    4
          SB7    1
          MX7    60-18
 NOREST   BX2    X1*X2             SETUP INSTRUCTIONS TO RESTORE THE
          SA4    A3+B7               B-REGISTERS. 
          BX3    -X7*X3 
          LX3    30 
          BX4    -X7*X4 
          IX2    X2+X3
          BX6    X2+X4
          SB2    B2-B7
          SA6    A2 
          NO
          SA3    A4+B7
          SA2    A2+B7
          GE     B2,B7,NOREST 
          SA2    SVX+0
          BX0    X2                .X0
          SA2    A2+B7
          SA1    A1+B7             (FLIP1)
          UX3    X2,B1
          LX3    10 
          MI     X2,FOR 
          SA1    A1+B7             (FLIP2)
 FOR      BX6    X1 
          UX3    X3,B2
          SA6    THE               (STORE 'BX1 -X1' OR 'NO' INSTRUCTION)
          LX3    10 
          SA1    SVA+0
          UX3    X3,B3
          SA5    SVA+7
          SA0    X1-0              .A0
          SA4    X5-0 
          LX3    10 
          BX7    X4 
          UX3    X3,B4
          SA5    A5-B7
          SA2    X5-0 
          LX3    10 
          BX6    X2 
          SA7    A4-B0             .A7
          SA6    A2-B0             .A6
          UX3    X3,B5
          SA5    A5-B7
          SA4    A5-B7
          LX3    10 
          UX2    X3,B6
          SA3    A4-B7
          SA2    SVX+7
          SA1    A2-B7
          SA5    X5-0              .A5
          BX7    X2                .X7
          LX6    X1                .X6
          SA2    A1-B7
          SA4    X4-0              .A4
          BX5    X2                .X5
          SA1    A2-B7
          LX4    X1                .X4
          SA1    A1-B7
          SA2    A3-B7
          SA3    X3-0              .A3
          BX3    X1                .X3
          SA1    A1-B7
          SA2    X2-0              .A2
          BX2    X1                .X2
          SA1    SVA+1
          SA1    X1-0              .A1
          BX1    -X1-X1 
          SB7    X1-0 
          MX1    0
          PX1    X1,B6
          LX1    60-10
          PX1    X1,B5
          LX1    60-10
          PX1    X1,B4
          LX1    60-10
          PX1    X1,B3
          LX1    60-10
 THE      PX1    X1,B2
          LX1    60-10
          PX1    X1,B1
          NO                       (OR A BX1 -X1, SEE ABOVE)
 WICKED   SB0    B7+0              (YES, B0 WILL NOT BE CHANGED.) 
          SB1    B7+0 
          SB2    B7+0 
          SB3    B7+0 
          SB4    B7+0 
          SB5    B7+0 
          SB6    B7+0 
          SB7    B7+0 
          ZR     RESREG 
          SPACE  2
 INSTMASK DATA   77770000007777000000B
 FLIP1    PX1    X1,B2
          LX1    60-10
          PX1    X1,B1
          BX1    -X1
 FLIP2    PX1    X1,B2
          LX1    60-10
          PX1    X1,B1
          NO
 SVB      BSSZ   1
          BSS    7
 SVA      BSS    8
 SVX      BSS    8
          END 
