Hi @.
Habe ein Problem mit Assembler.
Über den Befehl [i]cmp v1,v2[i] lassen sich ja 2 Variablen vergleichen. Allerdings gibt folgender Code gibt auch richtiger Weise bei dem Befehl
je aus, dass die Variablen gleich sind:
Delphi-Quellcode:
asm
push ebx
push edx
mov ebx,Image1[0] ;Pixelarray, eigentlich ein ganz normales Integerarray, undynamisch
mov edx,Image1[0]
cmp ebx,edx
je @gleich ;Springt zur Stelle "gleich"
pop edx
pop ebx
Bei folgendem Code allerdings sagt Assembler das sie nicht gleich sind, obwohl sie die gleichen Werte enthalten (Es gilt: Image1[0] = Image2[0]):
Delphi-Quellcode:
asm
push ebx
push edx
mov ebx,Image1[0] ;Pixelarray
mov edx,Image2[0]
cmp ebx,edx
je @gleich ;Springt zur Stelle "gleich"
pop edx
pop ebx
end;
Klar, die Variablen ansich sind nicht gleich, aber deren Inhalt...Wieso sind sie denoch nicht gleich?
Kenne mich in
Asm nicht gut aus, vll liegt es ja an den gewählten Speicherplätzen (ebx,edx).
Also wie kann ich in Assembler nicht die Variablen, sondern deren Werte vergleichen?
Danke im Vorraus!!!
Philipp F.