You are on page 1of 5

‫مجموعة تعليمات ‪8086‬‬

‫← ‪ MPU 8086‬يدعم ‪ 8‬أنواع من التعليمات‪:‬‬


‫‪ -1‬تعليمات نقل البيانات‪.‬‬
‫‪ -2‬تعليمات حسابية‪.‬‬
‫‪ -3‬تعليمات معالجة البت‪.‬‬
‫‪ -4‬تعليمات السلسلة‪.‬‬
‫‪ -5‬تعليمات نقل تنفيذ البرنامج‪( .‬تعليمات الفرع والحلقة)‬
‫‪ -6‬تعليمات التحكم في العمليات‪.‬‬
‫‪ -7‬تعليمات التحكم في التكرار‪./‬‬
‫‪ -8‬تعليمات المقاطعة‪.‬‬

‫‪ -1‬تعليمات نقل البيانات‪.‬‬


‫ُتستخدم هذه التعليمات لنقل البيانات من المُعامل المصدر إلى المُعامل الوجهة‪.‬‬
‫فيما يلي قائمة بالتعليمات ضمن هذه المجموعة‬
‫← تعليمات لنقل كلمة‪.‬‬
‫مثال‪... MOV ، PUSH ، Pop ، exchange ، Etc :‬‬
‫← تعليمات لنقل العنوان‪.‬‬
‫مثال‪ :‬العنوان الفعال للتحميل (‪.LDS ، LES ، )LEA‬‬
‫← تعليمات نقل منفذ اإلدخال واإلخراج‪.‬‬
‫مثال‪.IN ، OUT :‬‬
‫← تعليمات نقل سجل العلم‪.‬‬
‫مثال‪.LAHF ، SAHF ، PUSHF ، POP-Flag :‬‬
‫‪ 2-‬تعليمات حسابية‪.‬‬
‫تستخدم هذه التعليمات ألداء العمليات الحسابية مثل الجمع والطرح والضرب والقسمة ‪ ،‬إلخ ‪...‬‬
‫← تعليمات ألداء اإلضافة‪.‬‬
‫مثال ‪ ، ADD :، ADC ، INC ، AAA‬إلخ ‪...‬‬
‫← تعليمات ألداء الضرب‪.‬‬
‫مثال ‪) MUL :، IMUL‬الضرب الموقع( ‪AAM ،‬‬
‫← تعليمات ألداء الطرح‪.‬‬
‫مثال ‪ ، SUB :، SBB ، DEC ، AAS‬إلخ ‪...‬‬
‫← تعليمات ألداء القسم‪.‬‬
‫مثال ‪) DIV :، IDIV‬شعبة موقعة( ‪AAD ،‬‬

‫‪ -3‬تعليمات معالجة البت‪.‬‬


‫ُتستخدم هذه التعليمات ألداء العملية حيث تشارك‪ /‬بتات البيانات في عمليات مثل المنطقية ‪ ،‬التحول‬
‫وغيرها ‪...‬‬
‫→ تعليمات ألداء العمليات المنطقية‪.‬‬
‫مثال‪... NOT ، AND ، XOR ، TEST ، Etc :‬‬
‫→ تعليمات ألداء عمليات التحول‪.‬‬
‫مثال‪.SHL ، SAL ، SHR ، SAR :‬‬
‫← تعليمات ألداء عمليات التدوير‪./‬‬
‫مثال‪.ROL ، ROR ، RCR ، RCL :‬‬
‫→ تعليمات ألداء القسم‪.‬‬
‫مثال‪( DIV ، IDIV :‬شعبة موقعة) ‪.AAD ،‬‬
‫‪ -4‬تعليمات السلسلة‪.‬‬
‫السلسلة عبارة عن مجموعة من وحدات البايت ‪ /‬الكلمات ويتم‪ /‬تخصيص ذاكرتها دائمًا بترتيب تسلسلي‪.‬‬
‫→ مندوب‪.‬‬
‫→ ‪.REPE / REPZ‬‬
‫→ ‪.REPNE / REPNZ‬‬
‫→ ‪.MOVS / MOVSB / MOVSW‬‬
‫← ‪.COMS / COMPSB / COMPSW‬‬
‫→ ‪.INS / INSB / INSW‬‬
‫→ ‪.OUTS / OUTSB / OUTSW‬‬

‫‪ -5‬تعليمات نقل تنفيذ البرنامج‪.‬‬


‫ُتستخدم هذه التعليمات لنقل التعليمات أو تفريعها أثناء التنفيذ‪.‬‬
‫وتشمل التعليمات التالية‪:‬‬
‫• تعليمات نقل التعليمات أثناء التنفيذ دون أي شروط‬
‫مثال‪.Call ، RET ، JMP :‬‬
‫• تعليمات لنقل التعليمات أثناء التنفيذ مع بعض الشروط‬
‫مثال‪... JC ، JE ، J2 ، JNC ، JS ، JO ، Etc :‬‬

‫‪ -6‬تعليمات التحكم في العمليات‪.‬‬


‫ُتستخدم هذه التعليمات للتحكم في إجراء العملية عن طريق‪ /‬تعيين أو إعادة تعيين قيم العالمة‪.‬‬
‫‪ - STC‬يستخدم لضبط العلم المحمول ‪ CF‬إلى ‪.1‬‬
‫‪ - CLC‬يستخدم‪ /‬لتنظيف أو حمل العلم ‪ CF‬إلى ‪.0‬‬
‫‪ - CMC‬يستخدم‪ /‬لوضع المكمل في حالة حمل العلم ‪.CF‬‬
‫‪ - STD‬يستخدم‪ /‬لضبط إشارة االتجاه ‪ DF‬على ‪.1‬‬
‫‪ - CLD‬يستخدم لتنظيف أو إعادة تعيين إشارة االتجاه ‪ DF‬إلى ‪.0‬‬
‫‪ - STI‬يُستخدم‪ /‬لتعيين إشارة تمكين المقاطعة إلى ‪ ، 1‬وهو تمكين إدخال المقاطعة‪.‬‬
‫‪ُ - CLI‬تستخدم‪ /‬لتنظيف إشارة تمكين المقاطعة إلى ‪ ، 0‬وتعطيل‪ /‬إدخال المقاطعة‪.‬‬

‫‪ -7‬تعليمات التحكم في التكرار‪./‬‬


‫يتم استخدام‪ /‬هذه التعليمات لتنفيذ التعليمات المعينة لعدد من المرات‪.‬‬
‫فيما يلي قائمة التعليمات ضمن المجموعة ‪-‬‬
‫• ‪ - LOOP‬يستخدم لتكرار مجموعة من التعليمات حتى يستوفي الشرط ‪.cx = 0 ،‬‬

‫• ‪ - LOOPE / LOOP2‬تستخدم لتكرار مجموعة من التعليمات حتى تفي ‪.ZF = 1 & CX = 0‬‬

‫• ‪ - LOOPNE / LOOPN2‬يستخدم لتكرار مجموعة من التعليمات حتى يفي ‪.ZF = 0 & CX = 0‬‬

‫• ‪ - JCX2‬يستخدم‪ /‬لالنتقال إلى العنوان المقدم إذا كان ‪.CX = 0‬‬


‫‪ -8‬تعليمات المقاطعة‪.‬‬
‫يتم استخدام‪ /‬هذه التعليمات الستدعاء المقاطعة أثناء تنفيذ البرنامج‪.‬‬
‫• ‪ - INT‬يُستخدم‪ /‬لمقاطعة البرنامج أثناء التنفيذ وخدمة االتصال المحددة‪.‬‬
‫• ‪ - INTO‬يستخدم لمقاطعة البرنامج أثناء التنفيذ إذا كان ‪.OF = 1‬‬

‫• ‪ - IRET‬يستخدم‪ /‬للعودة من خدمة المقاطعة إلى البرنامج الرئيسي‪.‬‬

You might also like