cseg segment assume cs:cseg, ds:cseg, ss:cseg org 100h .386 start: mov ax, 13h int 10h
mov dx, 3c8h xor al, al out dx, al inc dx mov cx, 256 xor al, al lopp: out dx, al out dx, al out dx, al inc al dec cx jnz lopp
mov ax, 0a000h mov es, ax
fild y_rad fild x_rad
loopdr: fild angle fsincos
fmul st, st(2) fistp x_co
fmul st, st(2) fistp y_co
add x_co, 160 add y_co, 100
xor di, di mov ax, y_co shl ax, 6 add di, ax shl ax, 2 add di, ax add di, x_co
mov byte ptr es:[di], cl inc cl
fadd yvel fxch st(1) fadd xvel fxch st(1) inc angle jnz loopdr
xor ax, ax int 16h
mov ax, 3 int 10h
int 20h
x_co dw 0 y_co dw 0
x_rad dw 10 y_rad dw 10
xvel dq 0.001 yvel dq 0.001
angle dw 0
cseg ends end start
 
|