السبت، مارس 13، 2010

مفاهيم المسجلات في الأسمبلي Assembly


1. المسجلات : و سنفترض انها وسائط تخزين للبيانات بكافة انواعها
2. Ax يستخدم للعمليات الحسابية و تخزين البيانات
3. Bx و تسمى بالقاعدة و تستخدم مرتبطة مع المسجل Ax
4. Cx العداد العداد
5. Dx مسجل البيانات
6. Di وجهة تخزين البيانات او المكان الذي سوف تخزن به الحروف
7. Si فهرس المصدر المكان الذى تنسخ منه الحروف
يمكن استخدام المسجل 6 و 7 كمصدر و هدف لعمليات الحروف
مسجلات الفهرس و السيجمنت*segment
1. Bp مؤشر القاعدة و هو يشير الى مكان محدد بالمخزن Stack
2. Sp مؤشر المخزن نفسه
3. Cs تعليمات واجبة التنفيذ
4. Ds بيانات يحتاج لها التطبيق
5. Es مقاطع اضافية للتخزين
6. Ss المخزن Stack
* السيجمنت Segment هو قسم او جزء من الذاكرة لتخزين السجلات وساسميه دائما سيجمنت فتنبه اخي لذلك
[ المسجلات المضاعفة هي السجلات التي اضيف اليها الحرف E و كمثال على ذلك المسجل Ax يخزن 16 بت بينما المسجل Eax يخزن 32 بت]
مسجل البيان Flag
1. يسمى بالعلم و الراية لكن غرضه بيان حالة ما
2. O يبين حالة عدم الاتزان و ينتج من العمليات الحسابية مثل الاستعارة
3. D لتحديد الاتجاه
4. I لاغراض المقاطعة
5. T للتتبع
6. S تحديد الاشارة سالب او موجب للرقم
7. Z هل الناتج صفر يدل على التكافوء و عدم التكافؤ المساواة
8. A
9. P القطبية و عدد الواحدات فردي وزوجي الاعداد الخ
10. C الرفع (كما لو قلنا 5+6 = 1 و معانا واحد)
* سيتم شرح ما نحتاجه من دلائل البيان ال 10 في الدروس القادمة و نلاحظ
* كل سيجمنت يقسم الى اوفست Offsets
* الاوفست رقم من 00000000 الي Ffffffff لويندوز 9x و ما بعده
* و بالتالي هناك 65.536 سيجمنت بالذاكرة
* و بالتالي هناك 65.536 عنوان بالذاكرة
* مؤشر التعليمات Ip [لا تستعملها] تشير الي التعليمة التالية
* العنوان (مكان محدد بالذاكرة) شكله كلاتيsegment offset
يمكن التشبيه بما يلي التطبيق=كتاب السيمنت=الصفحة و الاوفست=سطر و ايضا الاوفست =ip مؤشر التعليمات
التعليمة Cs:ip تشير الى عنوان التعليمة التنفيذية التالية بالذاكرة
التعليمةss:sp تشير الى عنوان الموقع الحالي للمخزن لاحظ اوفست=sp
مقدمة عن لغات برمجة الإنترنت
كثيراً ما نسمع عن أنواع متعددة من لغات البرمجة بشكل عام وبرمجة الإنترنت بشكل خاص. وسأحاول من خلال هذه الزاوية التطرق إلى بعض لغات برمجة الإنترنت في محاولة هي الأولى بالنسبة لي في الكتابة.
في البداية سنعرض لمجموعة من المسميات التي تتداول بين مصممي ومبرمجي المواقع، :
Java, PHP, Perl, ASP, CGI, Java Script, Java Applet, JSP, XML, DHTML, HTML, CSS, Flash Action Script
لاحظ أن كل ما سبق يندرج تحت مسمى لغات برمجة صفحات الإنترنت - مع تحفظي الشخصي على إطلاق لفظ لغة على البعض, وهذه اللغات تنقسم إلى قسمين رئيسيين:
1- قسم يعمل في جهة الخادم. (Server-side Scripting Language) أي لا ترى الصفحة إلا بعد الانتهاء من معالجتها.
2- قسم يعمل في جهة العميل. (Client-side Scripting Language) أي أن العمليات البرمجية تتم في جهازك أنت.
القسم الأول:
PHP, Perl, ASP, CGI, JSP, XML
القسم الثاني:
Java, Java Script, Java Applet, DHTML, HTML, CSS, Flash Action Script
سنتطرق من خلال المقال إلى بعض لغات البرمجة سالفة الذكر مع إدراج بعض المقارنات بين هذه اللغات بموضوعية بعيدة عن التعصب بأي دافع كان.
CGI
ترمز سي جي آي إلى (Common Gateway Interface) أي واجهة الإدخال المشتركة. وتمثل وسيط للبرمجة العاديّة بين خادم الويب و البرامج الخارجيّة. ببساطة, سي جي آي تمكن صفحات موقعك من إدارة البرامج الموجودة في خادمك. لذا تتطلّب برامج سي جي آي (أحياناً) أن توضع في دليل على خادمك بحيث يكون باسم "cgi-bin". ونستطيع (مجازاً) اعتبار جميع لغات برمجة الإنترنت التي تعمل جهة الخادم "CGI واجهات إدخال مشتركة" حيث أنها تقوم بالربط بين الخادم (وما يحتويه من برامج وقواعد بيانات) ومتصفحك (الذي تستخدمه في الإبحار في صفحات الإنترنت) والذي لا يفهم إلا لغة واحدة وهي HTML إذن تعددت اللغات والنتيجة واحدة.
لمحة سريعة عن كل لغة:
يجب أن نعرف مبدأياً مدى أهمية كل لغة ومتى سنحتاج إلى استخدامها.
HTML
لغة النص المتشعب هي اللغة الإجبارية في كل صفحة، فهي روح صفحات الإنترنت، ولا نستطيع إطلاق مصطلح "صفحة إلكترونية" على أي صفحة لا تتكون من هذه اللغة.
JS
جافا سكريبت لغة تحتاجها عندما تود القيام ببعض العمليات المنطقية البسيطة (كبعض البريمجات البسيطة) والمؤثرات المرئية (مثل القوائم المنسدلة والنوافذ المنبثقة) وعيبها يكمن في عدم توافقيتها مع جميع المتصفحات، وإرهاقها لجهاز الشخص المتصفح.
Flash
كسابقتها مع تميز الأخيرة بالتوافق مع جميع المتصفحات.
CFM, ASP, PHP, JSP
عندما تحتاج للتعامل مع محتوىً ديناميكي (متغير أو معتمد على قاعدة بيانات) وعيبها أن لكل منها اشتراطات خاصة من حيث نظام تشغيل خادم الويب، ومن حيث نوع قواعد البيانات التي يمكن الربط معها.
CGI & Perl
كسابقاتها ولكن الأخيرة أصابتها الشيخوخة بسبب سهولة سابقاتها المتناهية.
CSS
ليست ملزمة، كما ينصح بها بشدة، فهي بمثابة "مساحيق تجميل" صفحات الإنترنت.
XML
عندما تحتاج إلى ربط البيانات بطريقة معقدة بين أنظمة تشغيل مختلفة.