21-01-2019, 04:39 PM
(21-01-2019, 09:34 AM)I TariQ كتب : لماذا قمت بنقل القيمة 1 إلى المسجل AL بالتحديد و هل نستطيع نقلها إلى eax مباشرة ؟الإجابة على سؤالك سهلة ...
mov al,1
لاحظ أنه تتم المقارنة بهذا الشكل
CMP EAX,1
لو كانت المقارنة
CMP AL,1
لما احتجنا إلى الأمر XOR
نفرض أن eax به القيمة 44444444 قبل دخول النداء ...
تخيل لو أننا لم نضع الأمر xor eax,eax ماذا كان سيحدث ؟ سأخبرك
بعض وضع الأمر mov al,1 ستصبح قيمة المسجل eax 44444401
و طبعا المقارنة خاطئة و أزيد من ذلك سيحدث مشاكل ربما ستسبب بعد اقلاع البرنامج .
أتمنى أن الفكرة وصلت