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


        .model  tiny
        .code
        .486
        org     100h
start:  xor     ebx, ebx        ;S1:= 0
        mov     edx, 8000h      ;S2:= $8000
        mov     cx, 16          ;for I:= Size downto 1
tri10:  mov     ebx, edx        ; S1:= S2
tri15:  test    edx, edx        ; while S2#0
        je      tri20
         mov    al, '*'         ; ChOut
         test   dl, 01h         ;  if S2&1 then '*' else ' '
         jne    tri18
          mov   al, ' '
tri18:   int    29h
         shr    edx, 1          ; S2>>1
         jmp    tri15
tri20:  mov     al, 0Dh         ;new line
        int     29h
        mov     al, 0Ah
        int     29h
        shl     ebx, 1          ;S2:= S2 xor S1<<1
        xor     edx, ebx
        shr     ebx, 2          ;S2:= S2 xor S1>>1
        xor     edx, ebx
        loop    tri10           ;next I
        ret
        end     start