بسم الله الرحمن الرحيم
اولا استفتح الموضوع بسؤال تورية
عارفين ايش يعني تورية اخذناها زمان بالنحو
السؤال (هل ينفع عملي من دون نظري؟)
اكيد فهمتوا المقصود
بداية من خلال مذاكرتي لملزمة الدكتور يوسف حلبة حبيت اعمل ملخص لأهم ما تحتويه وأنقله لكم ,
أتمنى من الله عز وجل أن يفيد كل من يقرأه عموما ارجوا من الجميع الاطلاع عليه والمبادرة بالنصح والارشاد في حال وجود بعض المفاهيم الخاطئة أو الناقصة
اترككم مع الموضوع الأول :
التوجيهات: 1- التوجيهان ends, segement
يستخدمان لتعريف مجموعة من المعطيات أو مجموعة من التعليمات التي تريد وضعها معا في قطعة خاصة ، بعد أن نجهز القطعة الخاصة نعطيها إسم من إختيارنا
2- توجيهات تسمية العناوين والمعطيات :- DD , DW , DB , DQ , EQU
تعمل البرامج مع ثلاثة أصناف أساسية من المعطيات هي/: الثوابت و المتحولات والعناوين
• الثابت : لا تتغير قيمة الثابت في البرنامج فالرقم 7 يعتبر ثابتا
• المتحولات : الأسماء التي تعطى البنود والمعطيات ويمكن تغييرها خلال تنفيذ البرنامج
• العناوين : يتم الرجوع إليها من تعليمات عديدة ولا تتغير
أ- التوجيه EQU: (المساواة) يستخدم لتعيين أسماء الثوابت في البرامج مثال :
Shaymaa EQU 06H ADD AL , shymaa
هنا البرنامج عندما يقرأ هذه التعليمة يشفرها كما لو أننا كتبنا ADD AL ,06H
ب- التوجيهات , DW , DB , DQ DD
//DD : يستخدم هذا التوجيه للتصريح عن متحول من النوع كلمة مضاعفة أو لحجز مواقع ذاكرية Shaymaa DD 26459123 H
Shaymaa DD ?
DW// : يستخدم هذا التوجيه للتصريح عن متحول من النوع كلمة أو لحجز مواقع تخزين ذاكرية من النوع كلمة Shaymaa DW 2486 H
Shaymaa DW ?
DB// : يستخدم هذا التوجيه للتصريح عن متحول من النوع بايت أو لحجز مواقع تخزين ذاكرية من النوع بايت Shaymaa DB 24 H Shaymaa DB ?
DQ//: يستخدم هذا التوجيه للتصريح عن متحول طوله 4 كلمات أو لحجز 4 كلمات في الذاكرة Shaymaa DQ 2435532452542543 H
(Shaymaa DQ 100 DUP (0
العبارة الأخيرة تحجز مائة كلمة رباعية من التخزين وتهيؤها بأصفار
3- التوجيه END (نهاية البرنامج) :
يوضع هذا التوجيه بعد التعليمة الأخيرة في البرنامج وذلك للإعلام بأن هذه التعليمة هي نهاية البرنامج ويتجاهل المجمع أي عبارات بعد التوجيه END
4- التوجيه ENDP (نهاية الإجراء):
يستخدم هذا التوجيه مع إسم الإجراء للدلالة على نهاية الإجراء 5- التوجيه OFFSET (إزاحة)
5- التوجيه QFFSET إزاحة:
يعتبر هذا الاجراء عامل يخبر المجمع بتحديد الازاحة لمتحول مسمى مسبقا , ويستخدم لتحميل ازاحة المتحول في مسجل
MOV BX , offset shaymaa
عندما يقرأ المجمع هذه العبارة فانه سيحدد ازاحة المتحول shaymaa
ويحمل هذا الابتعاد على BX ويمكن بعد ذلك استخدام التعليمة
ADD AL,[BX]
لجمع القيمة من shaymaa مع AL
5- التوجيه PROC (إجراء)
يستخدم هذا التوجيه لتعريف بداية الإجراء وهو يلي الاسم الذي نعطيه للإجراء , وبعده يستخدم الحد (near \\ far) لتحديد نوع الإجراء Shaymaa proc far
الموضوع الثاني: *** مسجلات الأغراض العامة :
AL , AH , BL ,BH , CL , CH , DL , DH تستخدم هذه المسجلات لتخزين المعطيات المؤلفة من 8- bit
AL , AH ) AX )
(BX ( BL , BH
CX ( CL , CH )
DX ( DL , DH )
تستخدم هذه المسجلات لتخزين المعطيات المؤلفة من 16 – bit
*** لغة التجميع : تكتب عبارات لغة التجميع عادة بصيغة قياسية مكونة من ثلاثة حقول و الجدول التالي يبين عبارة واحدة مكتوبة بلغة التجميع000
Operand field حقل المعاملات Op code field حقل الشفرة Lable field حقل اللافتات AL , 06 H ADD NEXT:
*** أنماط العنونة :-
- نمط العنونة الفورية : عندما نكون بحاجة لوضع العدد 421c H في المسجل CX فالتعليمة
MOV CX , 421c H تحقق المطلوب مباشرة , فيتم وضع العدد 421c الست عشري في المسجل CX ذي الطول 16- bit
MOV AL , 24Q يتم وضع العدد 24 الثماني إلى المسجل AL ذي الطول 8 – bit
- نمط العنونة المسجلية : يعني مصدر معامل التعليمة يكون مسجلا مثلا: MOV CX , AX تنسخ هذه التعليمة محتويات المسجل AX ذي الطول 16-bit إلى المسجل CX ذي الطول 16 – bit يتم نسخ محتويات المسجل AX إلى محتويات CX ولا تنحذف من AX CX = 2156 H , AX = 5682 H قبل تنفيذ التعليمة CX = 5682 H , AX = 5682 H بعد تنفيذ التعليمة وكذلك الحال بالنسبة لمسجل ذي طول8-bit أو عدد مؤلف من 8 – bit لا يمكن نسخ محتويات المسجلAL إلى المسجل CX , لأن المعالج لا يعرف اين يضع محتويات AL هل إلى CH أو CL
نمط العنونة المباشرة:
[table border="1"]اولا استفتح الموضوع بسؤال تورية
عارفين ايش يعني تورية اخذناها زمان بالنحو
السؤال (هل ينفع عملي من دون نظري؟)
اكيد فهمتوا المقصود
بداية من خلال مذاكرتي لملزمة الدكتور يوسف حلبة حبيت اعمل ملخص لأهم ما تحتويه وأنقله لكم ,
أتمنى من الله عز وجل أن يفيد كل من يقرأه عموما ارجوا من الجميع الاطلاع عليه والمبادرة بالنصح والارشاد في حال وجود بعض المفاهيم الخاطئة أو الناقصة
اترككم مع الموضوع الأول :
التوجيهات: 1- التوجيهان ends, segement
يستخدمان لتعريف مجموعة من المعطيات أو مجموعة من التعليمات التي تريد وضعها معا في قطعة خاصة ، بعد أن نجهز القطعة الخاصة نعطيها إسم من إختيارنا
2- توجيهات تسمية العناوين والمعطيات :- DD , DW , DB , DQ , EQU
تعمل البرامج مع ثلاثة أصناف أساسية من المعطيات هي/: الثوابت و المتحولات والعناوين
• الثابت : لا تتغير قيمة الثابت في البرنامج فالرقم 7 يعتبر ثابتا
• المتحولات : الأسماء التي تعطى البنود والمعطيات ويمكن تغييرها خلال تنفيذ البرنامج
• العناوين : يتم الرجوع إليها من تعليمات عديدة ولا تتغير
أ- التوجيه EQU: (المساواة) يستخدم لتعيين أسماء الثوابت في البرامج مثال :
Shaymaa EQU 06H ADD AL , shymaa
هنا البرنامج عندما يقرأ هذه التعليمة يشفرها كما لو أننا كتبنا ADD AL ,06H
ب- التوجيهات , DW , DB , DQ DD
//DD : يستخدم هذا التوجيه للتصريح عن متحول من النوع كلمة مضاعفة أو لحجز مواقع ذاكرية Shaymaa DD 26459123 H
Shaymaa DD ?
DW// : يستخدم هذا التوجيه للتصريح عن متحول من النوع كلمة أو لحجز مواقع تخزين ذاكرية من النوع كلمة Shaymaa DW 2486 H
Shaymaa DW ?
DB// : يستخدم هذا التوجيه للتصريح عن متحول من النوع بايت أو لحجز مواقع تخزين ذاكرية من النوع بايت Shaymaa DB 24 H Shaymaa DB ?
DQ//: يستخدم هذا التوجيه للتصريح عن متحول طوله 4 كلمات أو لحجز 4 كلمات في الذاكرة Shaymaa DQ 2435532452542543 H
(Shaymaa DQ 100 DUP (0
العبارة الأخيرة تحجز مائة كلمة رباعية من التخزين وتهيؤها بأصفار
3- التوجيه END (نهاية البرنامج) :
يوضع هذا التوجيه بعد التعليمة الأخيرة في البرنامج وذلك للإعلام بأن هذه التعليمة هي نهاية البرنامج ويتجاهل المجمع أي عبارات بعد التوجيه END
4- التوجيه ENDP (نهاية الإجراء):
يستخدم هذا التوجيه مع إسم الإجراء للدلالة على نهاية الإجراء 5- التوجيه OFFSET (إزاحة)
5- التوجيه QFFSET إزاحة:
يعتبر هذا الاجراء عامل يخبر المجمع بتحديد الازاحة لمتحول مسمى مسبقا , ويستخدم لتحميل ازاحة المتحول في مسجل
MOV BX , offset shaymaa
عندما يقرأ المجمع هذه العبارة فانه سيحدد ازاحة المتحول shaymaa
ويحمل هذا الابتعاد على BX ويمكن بعد ذلك استخدام التعليمة
ADD AL,[BX]
لجمع القيمة من shaymaa مع AL
5- التوجيه PROC (إجراء)
يستخدم هذا التوجيه لتعريف بداية الإجراء وهو يلي الاسم الذي نعطيه للإجراء , وبعده يستخدم الحد (near \\ far) لتحديد نوع الإجراء Shaymaa proc far
الموضوع الثاني: *** مسجلات الأغراض العامة :
AL , AH , BL ,BH , CL , CH , DL , DH تستخدم هذه المسجلات لتخزين المعطيات المؤلفة من 8- bit
AL , AH ) AX )
(BX ( BL , BH
CX ( CL , CH )
DX ( DL , DH )
تستخدم هذه المسجلات لتخزين المعطيات المؤلفة من 16 – bit
*** لغة التجميع : تكتب عبارات لغة التجميع عادة بصيغة قياسية مكونة من ثلاثة حقول و الجدول التالي يبين عبارة واحدة مكتوبة بلغة التجميع000
Operand field حقل المعاملات Op code field حقل الشفرة Lable field حقل اللافتات AL , 06 H ADD NEXT:
*** أنماط العنونة :-
- نمط العنونة الفورية : عندما نكون بحاجة لوضع العدد 421c H في المسجل CX فالتعليمة
MOV CX , 421c H تحقق المطلوب مباشرة , فيتم وضع العدد 421c الست عشري في المسجل CX ذي الطول 16- bit
MOV AL , 24Q يتم وضع العدد 24 الثماني إلى المسجل AL ذي الطول 8 – bit
- نمط العنونة المسجلية : يعني مصدر معامل التعليمة يكون مسجلا مثلا: MOV CX , AX تنسخ هذه التعليمة محتويات المسجل AX ذي الطول 16-bit إلى المسجل CX ذي الطول 16 – bit يتم نسخ محتويات المسجل AX إلى محتويات CX ولا تنحذف من AX CX = 2156 H , AX = 5682 H قبل تنفيذ التعليمة CX = 5682 H , AX = 5682 H بعد تنفيذ التعليمة وكذلك الحال بالنسبة لمسجل ذي طول8-bit أو عدد مؤلف من 8 – bit لا يمكن نسخ محتويات المسجلAL إلى المسجل CX , لأن المعالج لا يعرف اين يضع محتويات AL هل إلى CH أو CL
نمط العنونة المباشرة:
عندما نريد نسخ موقع ذاكري ذو ابتعاد معين الى مسجل يجب أن نضع محتويات الموقع الذاكري في اقواس تربيعية
مثال
MOV CL ,[2145H[
حيث تدل الاقواس التربيعية حول العدد 2135 على ان هذا العدد يمثل ابتعاد الموقع الذاكري المطلوب نسخ محتوياته الى CL فعند تنفيذ التعليمة سيتم نسخ محتويات الموقع الذاكري الى المسجل CL
عدل سابقا من قبل في السبت يناير 12, 2008 8:07 pm عدل 1 مرات