السلام عليكم جميعا
ارجو مساعدتي بالاجابة عن هذا السؤال
ماهي طريقة حساب
excution Time
لأي كود بالاسمبلي
وجزيتم الف خير
السلام عليكم جميعا
ارجو مساعدتي بالاجابة عن هذا السؤال
ماهي طريقة حساب
excution Time
لأي كود بالاسمبلي
وجزيتم الف خير
وعليكم السلام
طالما كنت افكر في نفس السؤال وهو كيفية معرفة زمن تنفيذ اوامر ما ...
وقد كتبت كود مازلت احتفظ به ربما يفيدك
mov edx,07ffe0000h mov eax,dword ptr ds:[edx] mul dword ptr ds:[edx+4] shrd eax,edx,018h
هذا المقطع يقوم بقياس مدة تشغيل الويندوز الى لحطتنا هذه وهو نفس الكود المستخدم في الدالة GetTickCount لكني استخدمته بدلا منها لتقليل الزائد من الاوامر
mov esi,6 mov edi,eax
يتم تخزين الوقت في edi ووضع 6 في esi وهي تشير الى عدد الاوامر التي تم تنفيذها بعد قياس الوقت
@loop: add esi,3 cmp esi,1000000 jne @loop
يتم في الكود السابق تنفيذ مليون امر
mov edx,07ffe0000h mov eax,dword ptr ds:[edx] mul dword ptr ds:[edx+4] shrd eax,edx,018h
ثم بعد ذلك نقوم بقياس الوقت مرة اخرى
sub eax,edi
xor edx,edx mov ebx,eax mov eax,1000000000 div ebx
نحول الناتج من شكل Million Instruction / x Millisecond الى :
X Instructions / Second
invoke wsprintf,addr buf,CTXT("Frequency:%u Instructions/Second"),eax
invoke MessageBox,0,addr buf,CTXT("Frequency"),MB_ICONINFORMATIONنقوم بعرض الناتج في رسالة ...
الكود الكلي :
include masm32rt.inc
.data?
buf dd 100 dup (?)
.code
start:
mov edx,07ffe0000h
mov eax,dword ptr ds:[edx]
mul dword ptr ds:[edx+4]
shrd eax,edx,018h
mov esi,6
mov edi,eax
@loop:
add esi,3
cmp esi,1000000
jne @loop
mov edx,07ffe0000h
mov eax,dword ptr ds:[edx]
mul dword ptr ds:[edx+4]
shrd eax,edx,018h
sub eax,edi
xor edx,edx
mov ebx,eax
mov eax,1000000000
div ebx
invoke wsprintf,addr buf,CTXT("Frequency:%u Instructions/Second"),eax
invoke MessageBox,0,addr buf,CTXT("Frequency"),MB_ICONINFORMATION
invoke ExitProcess,0
end startmov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
اشكرك اخي
على تعاونك معي
لم يبق لي الا ان اجرب الكود على برنامجي
وان شاء الله يزبط
لو سمحتو ابي نفس الكود هذا بس يحسب الاكسكيوتن تايم بالملي
اقتباسلو سمحتو ابي نفس الكود هذا بس يحسب الاكسكيوتن تايم بالملي
أضرب في 1000 ؟؟
اقتباسمشكور جدا GM على الرد
لا شكر على واجب
mov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
اللحين كود الترتيب مفصول عن كود حساب مدة الترتيب ؟؟؟
جربت الكود ومازبط معاي وانا محتاجته باسرع وقت في المشروع
جزيئة مهمة بضيفها لمشروعي
الرجاء أريد الكود
أو دلوني على مواقع أجنبية
الاستاذة أكدت بوجودها بمواقع الانترنت ولكن لا اعرف اي موقع اجنبي ولم اتعامل معها ابدن
كل ماوجدته كتب ولم اجد اكواد لكي ادعمها بالمشروع
اقتباسالرجاء أريد الكود
المشاركة رقم 2 ... لا اعرف بالضبط ما هو الخطأ فالكود يعمل معي ,أرجو التوضيح
اقتباسأو دلوني على مواقع أجنبية
لم ابحث عن اكواد في مواقع اجنبية
اقتباسكل ماوجدته كتب ولم اجد اكواد لكي ادعمها بالمشروع
يمكن تحويل كلام الكتب الى اكواد والاستفادة منها ,وإلا فما فائدة الكتب !
mov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…