Ниже код рисует фрактал Мандельброта.
ЕХЕ всего 620 байт.
Компилировать в TASM 5.0 (tasm.exe версии 4.1)
run_TASMLINK.bat:
Код:
tasm.exe FRACZ.asm,FRACZ.obj
tlink.exe /3 FRACZ.obj,FRACZ
FRACZ.asm
Код:
;******** ALEXSOFT ****************
; 23 июля 2002 г.
; Fractal Mandelbrot v1.01(optim_rate)
IDEAL
P586
LOCALS
MODEL MEDIUM
SEGMENT sseg para stack 'STACK'
DB 400h DUP(?)
ENDS
DATASEG
x dw 320
ENDS
CODESEG
PROC Fractal_M
START:
mov ax,DGROUP
mov ds,ax
mov ax,13h
int 10h
mov bh,0a0h
mov es,bx
db 0dbh,0e3h
fld1
fld1
fldl2t
fldpi
fidiv [x]
mov bh,0fah
tudy: mov dx,320
;***************** Bigin calculate summa. **********************
paint:
fld st(2)
fld st(4)
mov cl,100
cicl: fld st(1)
fmul st,st
fld st(1)
fmul st,st
fsubp st(1),st
fadd st,st(5)
FXCH st(2)
fmul st,st(1)
fadd st,st
fadd st,st(6)
fst st(1)
fabs
fcomp st(4)
db 0dfh,0e0h
sahf
jnc End_calc
loop cicl
;******** End of calculate *************************
End_calc:
fcompp st(1)
mov [es:bx],cl
dec bx
snova:
fsub st(2),st
dec dx
jnz paint
fld1
fstp st(3)
fsub st(3),st
or bx,bx
jnz tudy
;vce
mov ah,8
int 21h
mov ax,3
int 10h
ret
ENDP Fractal_M
ENDS
END START
И это не предел.