السلام عليكم ورحمة الله وبركاتة
اليوم جايب لكم شرح لتعليمات الالة وبالتحديد تعليمات نقل البيانات
وإن شاءالله في الايام القادمه راح انزل تعليمات العمليات الحسابية والمنطقيه و معالجة السلاسل وتغيير المسار والتحكم بالمعالج (h)
نبداء بسم الله مع تعليمات نقل البيانات
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة : MOV - - - - - - - - - - - - - - - MOV X,Y
الوظيفة : تحريك بايت أو كلمة من المعامل الأول الأيمن إلى المعامل الأيســـــــــر
العنونة : جميع أساليب العنونة مسموحة ما عدا حالتين : أن يكون كلى X و Y
من نوع (مسجل مقطع) أو أن يكون X ( مسجل مقطع) ويكون Y (عنوان فوري).
الاعلام : لاتتأثر
ملاحظة : نقل البيانات إلى CS (مقطع التعليمات) او IP (مؤشر التعليمة) يعتبر غير نظامي
ويجب تجنبة إذ يمثل , عملياً تغييراً في المسار وليس مجرد نقل بيانات.
ملاحظة : خوارزم التعليمة : X: = Y .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة : LEA - - - - - - - - - - - - - - - LEA X,Y
الوظيفة : نقل انزياح المعامل الايمن (أي كلمة) إلى المعامل الأيسـر
العنونة : يجب أن يكون Y من النوع عنوان في الذاكرة و X من النوع مسجل عام
الاعلام : لاتتأثر
ملاحظة : تكافئ هذة التعليمة تعليمة MOV مع المشغل OFFSET عندما تكون عنونة
Y في الذاكرة مباشرة.
ملاحظة : خوارزم التعليمة: X: = OFFEST [Y] .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة: XCHG - - - - - - - - - - - - - - - XCHG X,Y
الوظيفة : المبادلة بين محتويات المعاملين الأيمن والأيسر (بايت / كلمة ).
العنونة : إما أن يكون المعاملان من نوع (مسجل عام) أو أن يكون احدهما عنوان في الذاكرة
والأخر (مسجل عام)
الاعلام : لاتتأثر
ملاحظة : تجري المبادلة باستخدام أحد المسجلات الخفية بالمعالج.
ملاحظة : خوارزم التعليمة: TEMP: = X; X: = Y; Y:= TEMP .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة: (LES (LDS - - - - - - - - - - - - - - - (LDS X,Y (LES X,Y
الوظيفة : تخزين أول بايتين من Y في X وثاني بايتين في DS أو ES
العنونة : لاتتأثر
ملاحظة : تستعمل غالباً عندما يكون Y مؤشراً (POINTER) لمتحول آخر.
ملاحظة : خوارزم التعليمة: DS: = Y[3]Y[2]; X = Y[1]Y[0] :LDS .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة :XLAT - - - - - - - - - - - - - - - XLAT X
الوظيفة : تحريك البايت ذات الترتيب AL من الجدول X إلى AL.
العنونة : يجب أن يكون X ( عنوان في الذاكرة) مباشر من النوع بايت , وأن يكون انزياحه
مخزناً في BX. AL هو المعامل الايسر لهذة التعليمة الا إن عنونته ضمنية فلا يظهر اسمه
عند كتابتها.
الاعلام : لا تتأثر
ملاحظة : يتكون الجدول X من 256 بايت على الأكثر مرتبة من البايت رقم صفر ولغاية البايت
رقم 255 . وبطبيعة الحال , يجب أن يكون الوصول إلى الجزء الحاوي على X ممكناً عبر أحد
مسجلات المقاطع
ملاحظة : خوارزم التعليمة: AL:=X[AL].
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة: (OUT (IN - - - - - - - - - - - - - - - (IN X,Y (OUT X,Y
الوظيفة : تحريك بايت أو (كلمة) مابين AL أو AX وأحد المرفئ.
العنونة : في التعليمة (OUT) IN, يجب أن يكون (Y) X إما AL او AX وأن يكون
(X) Y هو المسجل DX الذي يحوي رقم المرفاً المقصود.
الاعلام : لاتتأثر
ملاحظة : إذا كان رقم المرفأ أصغر من 256 , فيمكن كتابت مباشرة في التعليمة
دون استعمال DX.
ملاحظة: في المعالج 8088 يتكون خط توزيع البيانات من 8 أسلاك فقط لذا لايمكنك
استخدام AX في هذين التعليمتين مع هذا المعالج.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة : PUSH - - - - - - - - - - - - - - - PUSH X
الوظيفة : تحريك كلمة من المعامل إلى قمة المكدس وتصحيح مؤشرة SP.
العنونة : يجب أن لا يكون X من النوع ( عنوان فوري ) وأن يكون حجمة كلمة.
الاعلام : لا تتأثر.
ملاحظة : إذا رمزنا بـ X[0] أو X[1] للبايتين التي يتشكل منها X ,فاءن خوارزم PUSH
هو : SS:SP-2=X[0] ثم SS:SP-1=X[1] ثم SP=SP-2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة : POP - - - - - - - - - - - - - - - POP X
الوظيفة : تحريك كلمة من قمة المكداس, وتصحيح مؤشره SP إلى X.
العنونة : يجب أن لايكون X من النوع (عنوان فوري) و أن يكون حجمة كلمة.
الأعلام : لا تتأثر
ملاحظة : إذا رمزمنا بـ X[0] و X[1] للبايتين التي يتشكل منها X فاءن خوارزم
POP هو : SP= SP+2 ثم X[0]=SS:SP-2 ثم X[1]=SS:SP-1
ملاحظة : استعمال مقطع التعليمات CS او مؤشر التعليمة IP كمعامل للتعليمة يعتبر غير نظامي
إذ يمثل , عملياً , تغييراً في المسار وليس مجرد نقل بيانات.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعلمية : PUSHF - - - - - - - - - - - - - - - PUSHF
الوظيفة : تحريك مسجل الاعلام الى قمة المكدس وتصحيح مؤشرة.
العنونة : ليس لهذة التعلمية معاملات , العنونة ضمنية.
الاعلام : لا تتأثر.
ملاحظة : إذا رمزنا بـ FL – L و FL – H لنصفي مسجل الاعلام , فان خوارزم
PUSHF هو : SS:SP-2:=FL-L ثم SS:SP-1:=FL-H ثم SP:=SP-2.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
التعليمة : POPF - - - - - - - - - - - - - - - POPF
الوظيفة : تحريك كلمة من قمة المكدس (وتصحيح مؤشرة) إلى مسجل الاعلام
العنونة : ليس لهذة التعليمة معاملات . العنونة ضمنية.
الاعلام : تتأثر كلها تبعاً للكلمة المخزنة في قمة المكدس.
ملاحظة : اذا رمزنا بـ FL-L و FL-H لنصفي مسجل الاعلام فان خوارزم
POPF هو : SP:=SP+2 ثم FL-L:=SS:SP-2 ثم FL-H:=SS:SP-1.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
وإن شاء الله في الايام القادمه راح نكمل البقية من التعليمات
(( المرجع : البرمجة بلغة التجميع ’ للدكتور / حمزة حمدي روماني ))
وتقبلوا تحيتي
وفمان الله