الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال بسيط

مغلق
بدأه جودانه في 9 أبريل 2007 · 5 رد · 760 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا حابه اسأل عن شئ بسيط هو

اذا كان عندي array من ارقام واردت ان اعين

اي من هذه الارقام ood واي منها even

انا حاولت ان اعين ال even عن طريق باقي القسمه على 2 ولكن لم اجد للتعليمه الصحيحه :wacko:

L1:
call readint
mov arr1[esi],ax
loop L1
mov esi,0
mov ax,arr1[esi]mod 2

فهل من مساعد :unsure:

لأكون شاكره ومقدره

#2

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

استخدمي idiv بعد وضع المقسوم في EAX والمقسوم عليه في EBX مثلا وهو 2

باقي القسمة سيكون في EDX

تحققي من انه صفر عبر test او cmp ليكون even

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

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

اعتقد ان افضل واسرع طريقة هى التحقق من البت الاولى فى كل رقم حيث انه إذا كانت 1 معنى ذلك ان الرقم odd وإذا كانت 0 فإن الرقم even.

الرجاء فى المرة القادمة اختيار عنوان مناسب حتى لا يتم اغلاق المشاركة ..

والسلام عليكم

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#4

اشكرك اخي احمد على الرد وعلى المعلومه

وجعله الله في ميزان حسناتك

#5

انا اعتذر لك اخي xacker لم انتبه الى ردك

فشكراا لك

ولكن اتمنى ان تشرح لي طريقة استخدام هذه التعليمه

لاني حاولت ولم استطع

وشكراا لك مرة اخرى

#6
mov eax, num ; eax = dividend
mov ecx, 2	 ; ecx = divisor
idiv  ecx
test edx, edx  ; edx = remainder
jne  _odd
_even:
  ; even number
_odd:
  ; odd number

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

هذا الموضوع مغلق.

مواضيع مشابهة