Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Assemler Routine ummodeln - wer kann bitte helfen

  Alt 7. Okt 2007, 17:04
Delphi-Quellcode:
procedure SwapRGB(data : Pointer; Size : Integer; Alpha:byte);
asm
  push ebx //ebx sichern
  test edx,edx //Wenn Größe=0, Abbruch
  jz @@end

@@loop :
  mov bl,[eax+0] //R holen
  mov bh,[eax+2] //B holen
  mov [eax+2],bl //und tauschen
  mov [eax+0],bh
  mov [eax+3],cl //den Alpha-Wert speichern

  add eax, 4 //die nächsten vier Byte
  sub edx, 4 //Size:=Size-4
  jnle @@loop //Müssen wir nochmal?
@@end:
  pop ebx //ebx zurückholen
end;
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat