Task
Produce an ASCII representation of a Sierpinski triangle of order   N.



Example
The Sierpinski triangle of order   4   should look like this:

                       *
                      * *
                     *   *
                    * * * *
                   *       *
                  * *     * *
                 *   *   *   *
                * * * * * * * *
               *               *
              * *             * *
             *   *           *   *
            * * * *         * * * *
           *       *       *       *
          * *     * *     * *     * *
         *   *   *   *   *   *   *   *
        * * * * * * * * * * * * * * * *



Related tasks
 Sierpinski triangle/Graphical for graphics images of this pattern. 
 Sierpinski carpet


code ChOut=8, CrLf=9;
def Order=4, Size=1<<Order;
int S1, S2, I;
[S1:= 0;  S2:= $8000;
for I:= 0 to Size-1 do
    [S1:= S2;
    while S2 do
        [ChOut(0, if S2&1 then ^* else ^ );  S2:= S2>>1];
    CrLf(0);
    S2:= S2 xor S1<<1;
    S2:= S2 xor S1>>1;
    ];
]