Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Another Stupid Coder am 15. April 2005, 22:24

Titel: PutPixel (24Bit)
Beitrag von: Another Stupid Coder am 15. April 2005, 22:24
Okay, wieder mal ne Frage:
Wenn ich folgenden Code verwende um ein Pixel zu zeichnen:

PutPixel:
pusha
mov edi, [LinearFrameBuffer]
mov eax, 3072
mov ebx, ecx
mul ebx
add edi, eax
add edi, edx
mov ecx, 1024
mov eax, 0xffffff
stosd
popa
ret

funzt die x-Koordinatio (edx) irgendwie nicht und irgendwie kommt bei mir sonst nur scheiße raus, sollte doch eigentlich GANZ leicht sein, bin auch schon etwas müde (;D) hat jemand nen tipp?
Titel: PutPixel (24Bit)
Beitrag von: Jidder am 15. April 2005, 23:09
ich verstehe die funktion nicht, aber das ist glaub ich egal.

mul ändert auch edx. edx enthält die oberen 32bit des ergebnisses. wenn das ergebnis <= 0xFFFFFFFF ist, ist edx = 0.

du solltest also edx vor dem mul zu edi addieren.
Titel: PutPixel (24Bit)
Beitrag von: Another Stupid Coder am 15. April 2005, 23:52
Ach stimmt, hatte nur schnell nachgeschlagen, da ich mul fast nie brauche und hab das wohl überlesen, herzlichen Dank :)