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

سؤال فى الرايات CF و OF

مغلق
بدأه net_code في 1 أبريل 2006 · 2 رد · 645 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أعرف أن الراية CF تأخذ 1 لو أن فى العملية الحسابية البت الأخيرة عن اليسار أعطت 1 للخارج أو أخذت 1 من الخارج

و فى الراية OF تأخذ واحد مثلا لو العدد الأول سالب و الثانى سالب و النتيجة موجبة

فمثلا

1 0 0 0 1 1 0 1

0 1 1 0 1 0 0 1

ـــــــــــــــــــــــــــــــــــــــــــ

1 1 1 0 0 0 1 0

لاحظ البت الأخيرة هناك واحد أعطته للخارج أى أن الراية CF = 1

و العدد الناتج موجب (ناتج عن عملية جمع لعددين سالبين) إذا الراية OF=1

سؤالى هنا

فى الراية CF تعاملنا مع البت الأخير على أنه جزء من العدد

وفى الراية OF تعاملنا مع البت الأخيرة على أنها بت الأشارة

هل البت الأخيرة جزء من العدد أم إنها بت الأشارة أم الأثنين معا؟

أرجو التوضيح لأن الأفكار فى عقلى عن الرايات غير منظمه إطلاقا ؟ :D

و شكرا لكم

لا تراجع و لا إستسلام

#2

البت الاخير بالنسبة لـ OF هو البت الثامن, بينما يكون بالنسبة لـ CF هو البت التاسع وهو فعليا ليس ببت بل اشارة الى انه هناك حمل في العملية المنفذة.

لذلك الامر متعلق بالتعليمة بالنهاية اللي بتاثر على الراية

Do as I say, not as I do

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

#3

شكرا عزيزى xacker على الرد

و لكن

هناك حلقة مفقودة بالنسبة لى

مما فهمت أنه البت الأخير للأشاره أن العدد سالب أو موجب و ليس جزء من العدد نفسه

و كمثال

إذا خزنا عدد قيمته أكثر من أن تشغل 7 بتات فى مسجل من نوع بايت يحدث هنا أنه يتم شغل البت الثامنه و هنا يحدث over flow

و تصبح الراية OF =1

طيب و الراية CF

هل الراية CF تصبح 1 إذا زاد الرقم عن ثمانية بتات أى أخرجت البت الثامنه 1 للخارج ؟

و شكرا

لا تراجع و لا إستسلام

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

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