Ich hatte dir bei der gleichen Sache schonmal geholfen.
Du vergleichst hier POINTER die sind eben nicht gleich. Sie zeigen nur auf ein array.
Du musst jedes Element in diesem array vergleichen, wie du es auch mit einem normalen array machen würdest.
Code:
asm
pushad
mov ebx, Image1[0] //Pixelarray
mov edx, Image2[0]
mov ecx, DWORD PTR [count] //wobei count = image1.width*image1.height*bytesperpixel (24bit = 3)
jmp @@inschleife
@@weiter:
mov ax, [ebx]
cmp ax, byte ptr [edx] //erstes byte ist gleich
jne @@nichtgleich
dec ecx
inc ebx
inc edx
@@inschleife:
test ecx, ecx
jnz @@weiter
@@gleich:
xor eax, eax
inc eax
popad
ret
@@nichtlgleich:
xor eax, eax
popad
ret
end;
wobei das noch langsamer ist als compremem wie ich dir das vorgeschlagen hatte
schau dir einfach mal comparemem an (assembler repeat cmp)