delphi4arab منتديات دلفي للعرب
دالة FastCompareMem - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : دروس دلفي للمبتدئين (https://delphi4arab.net/forum/forumdisplay.php?fid=13)
+--- الموضوع : دالة FastCompareMem (/showthread.php?tid=5284)



دالة FastCompareMem - SMP3 - 02-06-2013

السلام عليكم و رحمة الله و بركاته

دالة FastCompareMem مكتوبة بالأسمبلي لمقارنة متغيرين في الذاكرة (مقارنة مؤشرين) ..

ترجع الدالة بالقيمة True ان كانت المقارنة ايجابية (P1=P2)

ترجع الدالة بالقيمة False ان كانت المقارنة سلبية (P1<>P2)
PHP كود :
function FastCompareMem(P1, P2: Pointer; Length: Integer): Boolean;
asm
 PUSH ESI
 MOV EAX
,[EAX]
 
MOV EDX,[EDX]
 
MOV ESI,ECX
@NEXTCOMP:
 
MOV CL,[EAX]
 
MOV CH,[EDX]
 
INC EAX
 INC EDX
 CMP CL
,CH
 JNE 
@FALSE
 DEC ESI
 JNE 
@NEXTCOMP
 JMP 
@TRUE
@FALSE:
 
MOV EAX,FALSE
 JMP 
@FIN
@TRUE:
 
MOV EAX,TRUE
@FIN:
 
POP ESI
end
;