PUNPCKLWD MM0, MM0 PUNPCKLDQ MM0, MM0 @NextFill: MOVQ [EAX], MM0 {Fill 8 Char} ADD EAX,8 SUB EDX,8 CMP EDX,8 JGE @NextFill EMMS TEST EDX,EDX JNE @FillCarefully JMP @FIN
@FillCarefully: {If Count or EDX is smal than 8 } MOV [EAX],CL DEC EDX JE @FIN MOV [EAX+1],CL DEC EDX JE @FIN MOV [EAX+2],CL DEC EDX JE @FIN MOV [EAX+3],CL DEC EDX JE @FIN MOV [EAX+4],CL DEC EDX JE @FIN MOV [EAX+5],CL DEC EDX JE @FIN MOV [EAX+6],CL DEC EDX JE @FIN MOV [EAX+7],CL DEC EDX JE @FIN MOV [EAX+8],CL DEC EDX JE @FIN
virtual كتب :اذا كنت تريد شىء اسرع , هناك دالة في kernel32 اسمها rtlzeromemory
أنا على علم بهذه الدالة .. لكن لا يمكنني استخدامها :d لان الهدف من المشروع كتابة خوارزميات من الصفر بلغة الأسمبلي و المشروع مفتوح المصدر .. يعني مالفائدة من استخدام دالة جاهزة في مشاريع مثل هذه !!
عفوا , لم اكن اعلم انه مشروع , حسبتك تبحث عن شىء اسرع
على كل حال انا مستعد للمشاركة ,
فقط ملاحظة : ممكن تكتب comment امام كل سطر بالاسمبلي توضح فيه العملية الحالية , ففط لاختصار الوقت للذي يريد ان يضيف شىء ما