@negaH: Stimmt, hab grad in Uralt-Sourcen nachgesehen, wie ich damals sowas programmiert hab (ist ja schon 8 Jahre her, daß ich exzessiv
asm nutzte)
Hier ein Bsp. aus der damaligen Zeit, welches ADD und MUL demonstriert.
Code:
procedure PutPixel(_X,_Y : Word; _C : Byte);
var X, Y : Word;
C, W : Byte;
begin
X := _X; Y := _Y; C := _C; W := 0;
asm
pusha
mov ax, 0a000h
mov es, ax
mov ax, 640d
mul Y
mov Byte Ptr [W],
dl
add ax, X
jnc @@NoOverflow
inc Byte Ptr [W]
@@NoOverFlow:
mov di, ax
xor dx, dx
mov
dl, Byte Ptr [W]
xor bx, bx
mov ax, 04f05h
int 10h
mov al, Byte Ptr [C]
stosb
popa
end;
end;
Eine Routine, die ein Pixel (im 256 FarbModus) an eine bestimmte Stelle eines SVGA-Screens (640x480) schreibt (VESA-Mode).
LG, MRN