إنتل 8086
المحتويات

في البداية، إنتل 8086 عبارة عن معالج من 16 بت صُمم من قبل شركة إنتل، واستغرق تصميمه بين أوائل عام 1976 إلى أواسط عام 1978. وهو معالج يتعامل مع خانة بطول 16-bits (يتم التعامل 16-bit في المرة الواحدة). فيما بعد وفي سنة 1979 طرح المعالج 8088 وهو مشابه للمعالج 8086 من ناحية التركيب الداخلي ولكنه مختلف عنه في التعامل العام الخارجي حيث يتم فيه التعامل الخارجي بخانة طولها 8-bits بينما يتعامل المعالج 8086 باستخدام نبضة سريعة وبالتالي فان أداءه أفضل (زيادة سرعة النبضة تعنى زيادة التردد وبالتالي نقصان الزمن اللازم لتنفيذ أمر محدد ويتم تعريف سرعة المعالج بتحديد التردد الأقصى الذي يعمل به وتقاس وحدة التردد بالميجاهيرتز MHz). وتعرض الأقسام التالية جوانب أخرى من الموضوع.
ومن ناحية أخرى، يتعامل المعالجان 8086 و8088 بنفس التعليمات وهما يمثلان نقطة البداية التي بدأت منها المعالجات الجديدة والتي يتم استعمالها في أجهزة الحاسب الشخصية وبالتالي فان البرامج التي تعمل على المعالجين 8086 و8088 ما زالت صالحة للعمل في المعالجات الجديدة وهو ما أسميناه بالتوافقية في البرامج.
المسجلات في المعالج
وفي هذا السياق، قامت شركة IBM باختيار المعالج 8088 لبناء الحاسب الشخصي IBM PC وذلك لسهولة التعامل معه بالإضافة إلي رخص التكلفة حيث كان من المكلف في ذلك الوقت بناء الحاسب على المعالج 8086 ذات الـ16-bit وذلك بسبب ارتفاع تكلفة بناء نظام بوحدات مساعده تتعامل مع كلمة بطول 16-bit في ذلك الزمن.
4-المسجل (Data Register )DX
ومن ناحية أخرى، يتم استخدامه في عمليات الضرب والقسمة كذلك يتم استخدامه كمؤشر لموانئ الإدخال والإخراج عند استخدام عمليات الإدخال والإخراج.
أنماط العنونة
- لتوضيح أنماط العنونة المستعملة بدأ من سلسلة 80x86، سنستعمل التعليمة
- MOV :
- نمط عنونة السجل register addressing mode
- نمط العنونة الفوري immediate addressing mode
نمط العنونة المباشر direct addressing mode
- نمط المسجل غير المباشر indirect register addressing mode
- العنونة بالقاعدة مع الفهرسة base plus index addressing mode
- انظر كذلك
- معالج مجهري
- وصلات خارجية
- Intel 8086 microprocessor family
- المسجلات في المعالج 8086
3-المسجل (Count Register) CX
في هذا الإطار، يتم استخدام المسجل CX كعداد للتحكم بعدد مرات تكرار مجموعه محدده من التعليمات.كذلك يتم استخدامه في تكرار عمليه دوران مسجل لعدد محدد من المرات.
مسجلات البيانات DX,CX,BX,AX
من جهة ثانية، بالرغم أن المسجلات الأربعة ذات استخدامات عامه GENERAL PURPOSE REGISTERS بحيث يمكن استخدامها في أي استخدامات عامه إلا أن لكل مسجل استخداماً خاصاً نتناوله في الجزء التالي:
إضافةً إلى ذلك، يمكن التعامل مع كل من هذه المسجلات على أنه وحده واحدة بحجم 16-BITS أو على وحدتين كل واحدة بسعة 8-BITS إحداهما العليا HIGH والثانية المنخفضة LOW مثلا يمكن التعامل مع المسجل AX على انه مسجل بحجم 16-BITS أو التعامل مع النصف العلوي (HIGH) AH على انه مسجل 8-BITS والمسجل المنخفض AL (LOW) على أنه مسجل 8-BITS . وبالمثل مع المسجلات D،C،B وبالتالي يصبح لدينا 8 مسجلات من النوع 8-BITS أو أربعة مسجلات من النوع 16-BITS .
ومن جهة أخرى، يتم استخدام هذه المسجلات الأربعة في التعامل مع البيانات داخل المعالج ويمكن للمبرمج التعامل مباشرة مع هذه المسجلات. وبالرغم من أن المعالج يستطيع أن يتعامل مع بيانات في الذاكرة إلا أن التعامل مع المسجلات يكون أسرع بكثير من التعامل مع الذاكرة (يلزمه عدد اقل من النبضات) وبالتالي نفضل دائماً التعامل مع المسجلات لسرعتها. وهذا سبب زيادة عدد المسجلات في المعالجات الحديثة.
2-المسجل (Base Register) BX
ومن ناحية أخرى، يستعمل المسجل BX في عنونه الذاكرة حيث تتطلب بعض العمليات التعامل مع الذاكرة بمؤشر محدد ويتم تغيير قيمه المؤشر لإجراء عمليه مسح لجزء محدد من الذاكرة كما سنرى فيما بعد.
مسجلات المقاطع CS, DS, SS, ES
في هذا الإطار، يتم استخدام هذه المسجلات لتحديد عنوان محدد في الذاكرة. ولتوضيح وظيفة هذه المسجلات يجب في البداية توضيح طريقة تنظيم الذاكرة.
ومن ناحية أخرى، نعلم أن المعالج 8088 يتعامل مع 20 إشارة عناوين (ناقل العناوين Address Bus يحتوي على 20 إشارة) وبالتالي يمكن مخاطبة ذاكرة تصل إلى 2 20 = 1,048,576 أي 1 Mbytes .
- ونجد أن عناوين أول 5 خانات في الذاكرة هي :
- 00000 h = 0000 0000 0000 0000 0000
- 00001 h = 0000 0000 0000 0000 0001
- 00002 h = 0000 0000 0000 0000 0010
- 00003 h = 0000 0000 0000 0000 0011
- 00004 h = 0000 0000 0000 0000 0100
من جهة ثانية، ولأن العناوين في الصورة الثنائية تكون طويلة جداً فمن الأسهل التعامل مع العناوين بكتابتها في الصورة السداسية عشر وبالتالي يكون عنوان أول خانة في الذاكرة هو 00000h وعنوان آخر خانة هو FFFFFh .
ومن جهة أخرى، مما سبق يتضح أن العنوان يتكون من 20 خانة بينما كل المسجلات الموجودة داخل المعالج ذات طول مقداره 16 خانة فقط مما يجعل مخاطبة الذاكرة كلها مستحيلة باستخدام مسجل واحد فقط (لاحظ أن المسجل الواحد باستطاعته مخاطبة ذاكرة تصل إلي 64 Kbytes فقط) ونتيجة لظهور هذه المشكلة تم تقسيم الذاكرة إلي مجموعة من المقاطع Segments كل مقطع بسعة 64 K Bytes كما سنوضح في الجزء التالي.
المسجلات
كذلك، يتم تخزين البيانات داخل المعالج في المسجلات، ويتم تقسيم المسجلات إلى:
من جانب آخر، ويحتوي المعالج على عدد 14 مسجل وسنقوم في الجزء التالي بتوضيح أسماء ووظيفة كل مسجل.
كذلك، مسجلات بيانات: ويتم فيها التعامل مع البيانات من حيث التخزين وإجراء العمليات الحسابية والمنطقية.
ومن جهة أخرى، مسجل الحالات: وهو يحتوي على حالة المعالج بعد تنفيذ أمر محدد.
مسجلات عناوين: ويتم فيها تخزين العناوين المختلفة.
1-المسجل (Accumulator) AX
وفي هذا الصدد، يعتبر المسجل AX هو المسجل المفضل للاستخدام في عمليات الحساب والمنطق ونقل البيانات والتعامل مع الذاكرة وموانئ الإدخال والإخراج. واستخدامه يولد برامج أقصر ويزيد من كفاءة البرنامج. حيث يجب مثلا في عمليه ضرب رقمين وضع أحد الرقمين فيه مع وضع القيمة المطلوب إخراجها إلي ميناء خروج محدد فيه ثم تتم قراءه القيمة التي يتم إدخالها من ميناء خروج محدد فيه دائما. وعموما يتم التعامل مع المسجل AX على أنه أهم المسجلات الموجودة في المعالج.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟