YeHi@$MmZ مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
عدد المساهمات : 5020 تاريخ التسجيل : 25/06/2007 العمر : 37 الموقع : سرى رقم العضوية : 10 Upload Photos :
| |
YeHi@$MmZ مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
عدد المساهمات : 5020 تاريخ التسجيل : 25/06/2007 العمر : 37 الموقع : سرى رقم العضوية : 10 Upload Photos :
| موضوع: رد: ماذا تعرف عن لغة التجميع Assembly language الخميس 19 يونيو - 11:04 | |
| البايت (Byte): البايت هو متوالية من ثمانية بتات (8 bits)، فإذا كان البايت مرمّزا (signed) فإنه يمكنه أخذ قيمة محصورة بين –128 و +127 (128= 2 8-1 = 2 7 ، و127= 2 (8-1)-1)، إذن تحتل القيم المحصورة 7 بتات فقط، والبت الأخير يستخدم للإشارة (السلب أو الإيجاب)، إما إذا كان البايت غير مرمّز فإنه بإمكانه أخذ قيمة محصورة بين 0 و 255، أي 256 حالة = (2^8).
الكلمة (Word): بما أن البايت يشغل 8 بتات، فإن الكلمة تشغل 16 بتا، وبالتالي يمكن القول أن الكلمة تحوي 2 بايت.
إذا كانت الكلمة مرمزة، فإنها قادرة على احتواء قيمة محصورة بين –32768 أي (2 15)، و 32767 أي (2 15 - 1)، أما إذا كانت غير مرمزة، فالقيمة المحتواة تكون محصورة بين 0 و65535 (2 16 -1).
الكلمة المضاعفة (Double Word أو DWord): وتشغل الكلمة من هذا النوع قيم ذات 4 بايت. إذن إذا كانت مرمزة، فإنها تكون بين –2147483648 أي (2 31)، و +2147483647 (2 31 –1)، أما إذا كانت غير مرمزة، فبإمكانها حصر قيمة تتراوح بين 0 و 4294967295.
السجل (Register): هو فراغ ذاكري موجود بصفة فيزيائية في قلب المعالج (Processor)، والذي تحفظ فيه القيم أثناء معالجتها. في البداية كانت السجلات تعمل على ثمانية بتات (بايت واحد)، وكانت تسمى آنذاك ?L (حيث يمكن للرمز " ?" أن يكون A أو B أو C أو D)، ثم تطورت السجلات إلى 16 بت (كلمة)، وصارت مسماة بـ ?X، الشيء العجيب في هذا، هو أننا لو قمنا بتغيير قيمة ?L فإننا نكون بذلك قد غيرنا الجزء المنخفض من السجل ?X. بمعنى آخر، ?X مكون من بايت ومن ?L (ويقال أيضا من جزء مرتفع وجزء منخفض). ثم بعد وصول معالجات 386، تم الانتقال إلى سجلات 32 بت، وصارت بالتالي تسمى بـ E ?X، وهنا إذا ما قمنا بتغيير قيمة ?L أو ?X فإننا نكون بذلك قد قمنا بتغيير الجزء E ?X.
السجلات القاعدية هي السجلات AX، BX، CX و DX، وهي سجلات ذات 16 بت (= 2 بايت)، وأجزاءها المنخفضة (Low) هي AL، BL، CL و DL أما أجزاءها المرتفعة (High) فهي AH، BH، CH و DH.
إذا كان AX معدوما (null)، فهذا يعني أن AL =0 و AH =0 أيضا. وإذا ما قمنا بغيير قيمة AX فإننا نغير قيمتي AH و AL معا، أما لو قمنا بتغيير قيمة AL فهذا يعني أن قيمة AX تغيرت أما قيمة AH فمازالت كما هي.
المقاطعة (Interruption): يمكن وصف المقاطعة على أنها برنامج صغير مخزّن في الذاكرة، ويتم طلبه عدة مرات لأداء مهمة محدّدة ، وبوثيرة متزايدة أو متناقصة. يوجد على الأكثر 256 مقاطعة، فالأولى منها مدمجة في البيوس (BIOS، وهو برنامج ينفذ عند تشغيل الحاسب، والذي يسيّر العتاد: القرص الصلب، الوصول إلى الذاكرة ...)، مثل مقاطعات بطاقة الفيديو ولوحة المفاتيح.
بعض المقاطعات يتم طلبها بوثيرة ثابتة: المقاطعة 1Ch مثلا والتي هي عدّاد يزيد في القيمة 18.6 مرة/ثانية (أي يضيف 1 للقيمة المعنية). البعض الآخر يتم طلبه فقط في حالة ما إذا أردناها: المقاطعة 09h الخاصة بلوحة المفاتيح، يتم طلبها في كل مرة يقوم المستخدم بالضغط على زر ما أو عند تحريره.
المكدس (Stack): في المكدس نقوم بإضافة القيم بفضل التعليمة PUSH، ونقوم بحذفها من خلال التعليمة POP. في قمّة المكدس نجد قيمة السجلE]BP]. ويمكننا بذلك معرفة ما هو موجود في الطابق X من خلال التعليمة "[mov AX, [Bp-4"، ولكن ليس لحذف هذه القيمة، لأننا لو قمنا بحذف قيمة من وسط المكدس، فإن هذه الأخيرة تتقهقر، وهذا ما يؤدي إلى توقف الحاسب عن العمل.
الراية (Flag): الرايات هي بتات موجودة بداخل المعالج. وسنفرد لقائمة الرايات مجالاً للحديث في الدروس القادمة.
| |
|
YeHi@$MmZ مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
عدد المساهمات : 5020 تاريخ التسجيل : 25/06/2007 العمر : 37 الموقع : سرى رقم العضوية : 10 Upload Photos :
| موضوع: رد: ماذا تعرف عن لغة التجميع Assembly language الخميس 19 يونيو - 11:12 | |
| ودى مجموعة من الدروس المميزة
20 درس باللغة العربية جمعتها لكم ورفعتهالكم في ملف واحد
الدرس الاول :يدور حول المعالج ,الذاكرة,وحدات الذاكرة,الناقل bus,مكونات المعالج, لغات البرمجه,لغة اسمبلي ، اسمبلر و اسمبلي,وخيرا الموازيين.
الدرس الثاني:المعالج والمسجلات. الدرس الثالث:الموازيين والتحويل بينها. قد تكون العناويين غريبه خصوصا على الطلاب الذين يدرسونباللغه الانجليزية لكن الرجاء الاطلاع على المحتوى وستجدون انه يشرح بالتفصيل كل ما تحتاجون لدراسة هذه اللغه....
الدرس الرابع: الاعداد السالبه.
الدرس الخامس:الدرس يتطرق الى الاوامر الاساسية MOV , ADD , SUB , inc , dec.
الدرس السادس:الدرس يتطرق الى امر المقارنة CMP والقفز المشروط وغير مشروط والرايات مع بعض التمارين والحلول
الدرس السابع: يتعلق في الرايات FLAGS واوامر القفز.
الدرس الثامن:يتطرق الى عمليات القسمة والضرب والقفز المشروط المتخصص بالاعداد الموجبة .
الدرس التاسع:يتطرق هذا الدرس الى الحلقات في لغة الاسمبلي والى العمليات المنطقية (OR , TEST , AND ,XOR ,NOT)
الدرس العاشر:الدرس يتطرق الى المتغيرات وانواعها في لغة الاسمبلي
الدرس الحادي عشر: وهذا الدرس يتطرق الى اوامر الدوران والازاحة في لغة الاسمبلي ROR ROL RCR RCL SAL SAR
الدرس الثاني عشر:الدرس يتطرق الى المقاطعات interrupts
الدرس الثالث عشر: اقدم لكم الدرس 13 والذي يتطرق الى مادة النصوص والحلقات الخاصة بها MOVSB MOVSW SCASB SCASW CMPSB CMPSW LOADSB LOADSW STOSB STOSW REP REPZ REPNZ JCXZ
الدرس الرابع عشر: الذي يتطرق الى بعض الاوامر المتفرقة مثل IN , OUT , SEG ,XLAT ,POSHF , POPF
الدرس الخامس عشر:الذي يتطرق لموضوع الماكرو
الدرس السادس عشر:اقدم لكم الدرس السادس عشروهو عبارة الجزء الثاني من مادة الماكرو
الدرس السابع عشر:يتطرق الى الدوال proc
الدرس الثامن عشر:يتطرق الى الاوامر التي تتعلق في BCD-code مثل: AAA , DAS , AAM
الدرس التاسع عشر:يتطرق الى record وكيفية التعامل معه
الدرس العشرون: يتطرق الى structure والتعامل معه
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] | |
|