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