Loaded 1887 bytes for Assembly/AckNest.k3
Reached end of file


=============== Second pass
===========================


     45 W0 = E37
  62667 Y0 = E26039
     46 YS0 = E38
    0/0: 200 260 017                                                   
                                                                       
                                                                       V6; W0;
                                                                       YS26000;
    4/0: 200 260 031|200 260 031                                       RESTART; J999; J999;
                                                                       PROGRAM;                   (main program);
V-store at 00011 = 050 242 212 050 242 212                                V1 = B1212121212121212; (radix 10 for FRB);
V-store at 00012 = 101 004 020 101 004 020                                V2 = B2020202020202020; (high bits for decimal digits);
V-store at 00013 = 036 021 221 035 061 237                                V3 = B0741062107230637; ("A[3,"  in Flexowriter code);
V-store at 00014 = 035 201 222 001 120 007                                V4 = B0730062200250007; ("8] = " in Flexowriter code);
V-store at 00015 = 377 377 377 377 377 377                                V5 = B7777777777777777;
                                                                       
   17/0: 041|033|170 022                                                     ZERO; NOT; =M1;      (Q1 := 0/0/-1);
   17/4: 304 000 046|170 042|146 040                                         SETAYS0; =M2; I2=2;  (Q2 := 0/2/AYS0: M2 is the stack pointer);
   20/5: 304 000 001|170 062                                                 SET 1; =M3;          (fast storage for the value +1);
   21/4: 304 000 003|170 171                                                 SET 3; =RC7;         (Q7 := 3/1/0: C7 = m);
   22/3: 304 000 010|170 211                                                 SET 8; =RC8;         (Q8 := 8/1/0: C8 = n);
   23/2: 304 000 015|170 223                                                 SETAV5; =RM9;
   24/1: 304 000 013|170 224                                                 SETAV3; =I9;
   25/0: 200 320 032                                                      JSP1;                   (call Ackermann function);
   25/3: 300 000 011|065|067                                                 V1; REV; FRB;        (convert result to base 10);
   26/2: 300 000 012|011                                                     V2; OR;              (convert decimal digits to characters);
   27/0: 300 000 015|065                                                     V5; REV;
   27/4: 166 061|301 000 015|052                                             SHLD+24; =V5; ERASE; (eliminate leading zeros);
   30/4: 130 220                                                             POAQ9;               (write result to Flexowriter);
                                                                       
   31/0: 041|200 220 000                                               999;  ZERO; OUT;           (terminate run);
                                                                       
=== Start P1V-1; at address 26
                                                                       P1; (To compute A[m, n]);
                                                                       
                                                                          99;
   32/0: 260 160 034                                                         J1C7NZ;           (to 1 if m  0);
                                                                          98;
   32/3: 171 210|171 062|056                                                    C8; M3; +;     (result := n + 1, in NEST);
   33/2: 200 360 000                                                         EXIT 1;           (return);
   33/5: 017                                                              *1;
   34/0: 260 200 036                                                         J2C8NZ;           (to 2 if n  0);
   34/3: 171 062|170 210                                                        M3; =C8;       (n := 1);
   35/1: 143 160                                                                DC7;           (m := m - 1);
   35/3: 200 260 032                                                         J99;              (tail recursion for A[m-1, 1]);
                                                                          *2;
   36/0: 173 000|101 040                                                        LINK; =M0M2;   (push return address);
   36/4: 171 170|113 040                                                        C7; =M0M2QN;   (push m);
   37/2: 143 200                                                                DC8;           (n := n - 1);
   37/4: 200 320 032                                                         JSP1;             (full recursion for A[m, n-1]);
   40/1: 170 210                                                                =C8;           (n := A[m, n-1]);
   40/3: 100 041|170 170                                                        M1M2; =C7;     (m := top of stack);
   41/1: 143 160                                                                DC7;           (m := m - 1);
   41/3: 141 040                                                                M-I2;          (pop stack);
   41/5: 100 040|174 000                                                        M0M2; =LINK;   (return address := top of stack);
   42/3: 260 160 034                                                         J1C7NZ;           (tail recursion if m  0);
   43/0: 171 210|171 062|056                                                     C8; M3; +;    (result := n + 1, in NEST);
   43/5: 200 360 000                                                         EXIT 1;           (return);
                                                                       
=== Start P-1V-1; at address 37
                                                                       FINISH;
Reached end of file
