perm filename TSTCPY.SAI[NEW,AIL] blob sn#408330 filedate 1979-01-08 generic text, type T, neo UTF8
BEGIN "TSTCPY"
   REQUIRE PNAMES;
   REQUIRE "STD.HDR[170,161]" SOURCE!FILE;
   CONTEXT A,B;
   STRING STR;
   LIST THE;
   REAL X;
   STRING ARRAY STRARR[0:1];
   LIST ARRAY LSTARR[0:1];
   REAL ARRAY REALARR[0:1];
   ITEM SIMPL, LST , ONE, TWO;

   STR := "STR";
   THE := {{ SIMPL, LST ⎇⎇;
   X := 1.05;
   
   STRARR[0] := "STRARR[0]";
   STRARR[1] := "STRARR[1]";

   LSTARR[0] := {{ SIMPL, LST, ONE ⎇⎇;
   LSTARR[1] := {{ SIMPL, LST, TWO ⎇⎇;

   REALARR[0] := 1.0;
   REALARR[1] := 2.0;

   REMEMBER (STR,THE,X,STRARR,LSTARR,REALARR) IN A;

   PRINT ("A:STR = ",A:STR,CRLF);
   PRINT ("A:THE = ", A:THE,CRLF);
   PRINT ("A:X = ",A:X,CRLF);
   PRINT ("A:STRARR[0] = ", A:STRARR[0],CRLF);
   PRINT ("A:STRARR[1] = ", A:STRARR[1], CRLF);
   PRINT ("A:LSTARR[0] = ", A:LSTARR[0],CRLF);
   PRINT ("A:LSTARR[1] = ", A:LSTARR[1],CRLF);
   PRINT ("A:REALARR[0] = " , A:REALARR[0],CRLF);
   PRINT ("A:REALARR[1] = ",A: REALARR[1],CRLF);

   BEGIN
      INTEGER HACK1,HACK2;
      EXTERNAL PROCEDURE CONCPY;
      HACK1 := LOCATION(A);
      HACK2 := LOCATION(B);

      START!CODE
         PUSH '17,@HACK1;
         PUSHJ '17,CONCPY;
         MOVEM  1,@HACK2;
      END;
   END;
   PRINT ("B:STR = ",B:STR,CRLF);
   PRINT ("B:THE = ", B:THE,CRLF);
   PRINT ("B:X = ",B:X,CRLF);
   PRINT ("B:STRARR[0] = ", B:STRARR[0],CRLF);
   PRINT ("B:STRARR[1] = ", B:STRARR[1], CRLF);
   PRINT ("B:LSTARR[0] = ", B:LSTARR[0],CRLF);
   PRINT ("B:LSTARR[1] = ", B:LSTARR[1],CRLF);
   PRINT ("B:REALARR[0] = " , B:REALARR[0],CRLF);
   PRINT ("B:REALARR[1] = ", B:REALARR[1],CRLF);
   PRINT ("A:STR = ",A:STR,CRLF);
   PRINT ("A:THE = ", A:THE,CRLF);
   PRINT ("A:X = ",A:X,CRLF);
   PRINT ("A:STRARR[0] = ", A:STRARR[0],CRLF);
   PRINT ("A:STRARR[1] = ", A:STRARR[1], CRLF);
   PRINT ("A:LSTARR[0] = ", A:LSTARR[0],CRLF);
   PRINT ("A:LSTARR[1] = ", A:LSTARR[1],CRLF);
   PRINT ("A:REALARR[0] = " , A:REALARR[0],CRLF);
   PRINT ("A:REALARR[1] = ", A:REALARR[1],CRLF);
   A: STR := "NEW STR";
   A:THE := {{ SIMPL, ONE, TWO ⎇⎇;
   A:X := 5.5;
   A:STRARR[0] := "NEW STR 0";
   A:STRARR[1] := "NEW STR 1";
   A:LSTARR[0] := {{ ONE, SIMPL ⎇⎇;
   A:LSTARR[1] := {{ TWO, SIMPL ⎇⎇;
   A :REALARR[0] := 100;
   A :REALARR[1] := 101;
   PRINT ("B:STR = ",B:STR,CRLF);
   PRINT ("B:THE = ", B:THE,CRLF);
   PRINT ("B:X = ",B:X,CRLF);
   PRINT ("B:STRARR[0] = ", B:STRARR[0],CRLF);
   PRINT ("B:STRARR[1] = ", B:STRARR[1], CRLF);
   PRINT ("B:LSTARR[0] = ", B:LSTARR[0],CRLF);
   PRINT ("B:LSTARR[1] = ", B:LSTARR[1],CRLF);
   PRINT ("B:REALARR[0] = " , B:REALARR[0],CRLF);
   PRINT ("B:REALARR[1] = ", B:REALARR[1],CRLF);
   PRINT ("A:STR = ",A:STR,CRLF);
   PRINT ("A:THE = ", A:THE,CRLF);
   PRINT ("A:X = ",A:X,CRLF);
   PRINT ("A:STRARR[0] = ", A:STRARR[0],CRLF);
   PRINT ("A:STRARR[1] = ", A:STRARR[1], CRLF);
   PRINT ("A:LSTARR[0] = ", A:LSTARR[0],CRLF);
   PRINT ("A:LSTARR[1] = ", A:LSTARR[1],CRLF);
   PRINT ("A:REALARR[0] = " , A:REALARR[0],CRLF);
   PRINT ("A:REALARR[1] = ", A:REALARR[1],CRLF);
END;