Hi Peter,
I could not resist playing with your Mandelbrot code
This is made a little simpler and optimised for speed:
include "win64.inc"
Window "MANDEL AFRICAN",620,500,4
sys_mode=4
single a,x,y,dy,cx,cy,i,b,yy,y0,x0,f
f=.04
ClsColor 105,168,100
For dy=0 To 2
   For x=0 To 620 
      a = (x*.06)-12
      cx = -2 * a * f
      For y=0 To 255  
         yy = y + dy
         b = yy * .121 + 21
         cy = 2-b * f
         x0 = 0
         y0 = 0
         For i=1 To 128
            x1 = x0 * x0 - y0 * y0 + cx
            y0 = 2 * x0 * y0 + cy
            x0 = x1
            iF x0 * x0 + y0 * y0 >4 
              Pixel x, yy,ColorRGB(i*.4,y,i*.6)
              Pixel x, 480-yy, ColorRGB(i*.4,y,i*.6)
              Exit For
            End iF
         Next               
      Next
   Next
Next
Pause
WinEnd
And this is the central part rewritten in float assembler:
include "win64.inc"
Window "MANDEL AFRICAN",620,500,4
sys_mode=4
single a,x,y,dy,cx,cy,b,yy,y0,x0,f,c,i
c=4
f=.04
ClsColor 105,168,100
For dy=0 To 2
   For x=0 To 620 
      a = (x*.06)-12
      cx = -2 * a * f
      For y=0 To 255  
         yy = y + dy
         b = yy * .121 + 21
         cy = 2-b * f
         x0 = 0
         y0 = 0
         mov ecx,128
         (
            dec ecx : jl exit
            fld dword x0 : fmul st0
            fld dword y0 : fmul st0
            fsubp st1,st0
            fadd dword cx
            fld1 : fadd st0
            fmul dword x0
            fmul dword y0
            fadd dword cy
            fstp dword y0
            fst dword x0
            '
            fmul st0 'x0*x0
            fld dword y0 : fmul st0
            faddp st1,st0
            fld dword c '4
            fcomip
            fstp st0
            ja repeat
            mov i,ecx
            '
            Pixel x, yy,ColorRGB(i*.4,y,i*.6)
            Pixel x, 480-yy, ColorRGB(i*.4,y,i*.6)
         )               
      Next
   Next
Next
Pause
WinEnd
Charles