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

تعليمات الالة (1)

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

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

اليوم جايب لكم شرح لتعليمات الالة وبالتحديد تعليمات نقل البيانات

وإن شاءالله في الايام القادمه راح انزل تعليمات العمليات الحسابية والمنطقيه و معالجة السلاسل وتغيير المسار والتحكم بالمعالج (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.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

وإن شاء الله في الايام القادمه راح نكمل البقية من التعليمات

(( المرجع : البرمجة بلغة التجميع ’ للدكتور / حمزة حمدي روماني ))

وتقبلوا تحيتي

وفمان الله

(وقل ربي زدني علما)

#2

شكرا جزيلا على المعلومات القيمة

لكن هل يمكنك تقبل بعض التعليقات؟

اولا هناك مشكلة بالتنسيق...الاقواس تظهر بشكل معكوس مما يجعل عملية فهم المقصود صعبة

ثانيا...حبذا لو استخدمت port بدل مرفأ و pipeline بدل خط التوزيع

ثالثا...هل من شرح اكثر تفصيلا لتعليمة OUT (h) ؟

وشكرا لك

تم تعديل هذه المشاركة بواسطة allko في 6 مارس 2006 في 20:21

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

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