Loading...

BTC DONATE : 1D8Aq4q2jQnvGD1GaK9vbNwKgm1K5zUEWL


spider24 عضو جديد
  • شكراً: 2
  • تم شكره 88 مرة في 8 مشاركة

ملحوظه : هذه الدروس قمت بتقديمها في مدونتي منذ عام واردت ان اضعها لكم ليستفيد بها مجتمع الحماية للابد :42:













History of computers (Hardware)

- تاريخ
اجهزة الحاسب




طبعا حبيت قبل ما أتكلم
عن لغة الـ C وتاريخها . لازم نعرف ازاي بدأت اجهزة الحاسب
وكيف تم تطويرها الي ان وصلت لهذا التقدم .



طبعا مش عايز ارجع
بالتاريخ اوي من اول الاجهزه الميكانيكيه ولكن هنبدأ من اول حاسب رقمي الكتروني .





-
في عام 1964 بدأ اول حاسب رقمي الكتروني في العمل تحت اسم (ENIAC – Electronic Numerical and
Calculator ) يستخدم نظاما
خارجيا لدوائر التبديل والتوصيل لبرمجته .










-
الترانزستور : في عام 1974 ظهر الترانزستور وتم اختراعها في
معامل بل علي يد ثلاثه من العلماء هم (جون باردين ووالتر براتين ووليام شوكلي )
وحصلوا علي جايزة نوبل .

-
الجيل التالت (1970-1964) الدوائر المتكامله : في عام 1958 قام د.جاك كليبي بتصميم
اول دائره الكترونيه متكامله وتكونت من عدة مكونات من السليكون مجمعة مع بعضها البعض
لتجميع دائره الكترونيه علي شريحة سليكون واحده سمح بتطويرها بعد ذلك .

-
ميني حاسب (1963) : في هذا العام تم بنجاح توزيع اول
ميني حاسب تجاري قامت بانتاجه وتوزيعه شركة DEC وكان هذا الانتاج تحت اسم PDP-8 وكانت نسخه ناجحه .

-
نظام اي بي ام والجيل التالت : في عام 1964 اتمت شركة
IBMعائلة نظم 360 بعد
استبدال النظام 260 بالترانزستور والدوائر المتكامله وقد تم بيع اكثر من ثلاثين
الف نسخه . وبعد شهر من هذا الانتاج كانت برامج لغة البيزيك تعمل في كلية دارتمواث
علي يد مخترعها توماس كيريس وجون كيمني واصبحت من اقوي اللغات وقتها .

-
الجيل الرابع (1990-1971) جيل الميكروبروسيسور :
في عام 1971 ظهر
الحاسب الشخصي الاول ولم يكن يسمي بالحاسب الشخصي كان اسمه وقتها (Kenbak-1)
وله ذاكره قدرها 256 بايت وتظهر البيانات علي شكل مجموعة لمبات بيان ولم يتم بيع
سوي 40 قطعه من هذا الجهاز بسبب ارتفاع سعره لكنه ساهم في الاعداد لثورة
الحاسب الشخصي التي اعقبت هذا التاريخ .

-
وفي عام 1974 ايضا : قامت شركة انتل بالاعلان عن المعالج
8086 يعمل علي نظام 8 بت كأول معالج عام الاغراض.



حبيت بس اوضح تاريخ بدايات الحاسب وطبعا هو اكبر من كده بكتير ولكني اختصرت
وخدت اللي يهمنا منه .



تاريخ لغة الـ C



بدأت لغة الـ C علي يد العالم Dennis Ritchie عام 1970 ومازلت اللغه الاقوي والمستخدمه حتي
الان فهي تستخدم في انظمة التشغيل والميكروكنترولر والجرافيكس والبرامج .







ليه مش بنتعامل مع الكمبيوتر بالانجليزي
؟؟




سؤال غريب قريته في احد الكتب ... ليه مش ممكن نكتب برامجنا ونتعامل مع
الكمبيوتر بالانجليزي يعني مثل اقول للجهاز " Clean history and then go to web browser then open website and so on "
طبعا سؤال كان غريب شويه ولكنه منطقي بدل ما نبهدل نفسنا في حفظ لغات برمجه
وفهمها كان ممكن نكلم الكمبيوتر بالانجليزي . طبعا ردت علي الاسئله دي Grace Hopper ودي كانت اول عالمة حاسب .





قالت انه في اللغه الانجليزيه فيه مصطلحات كتير جدا ومنقدرش اننا نكلم
الكمبيوتر بالانجليزي لانها لغه مليئه بكثير من التعبيرات والكلمات الغريبه واللي
ممكن الكمبيوتر يفهمها غلط وبالتالي تحدث اخطاء اثناء تطبيق البرنامج . يعني لو
رجعنا للمثال اللي انا كتبته مثلا " اول جمله قولتله Clear history كان ممكن اقول Delete history or remove history وهكذا وبالتالي فصعب جدا انتاج لغه انجليزيه
للحاسب . لكن من حوالي سنه اعتقد انه فيه لغة برمجه اخترعت لبرمجة الكمبيوتر
باللغه العربيه ولكن طبعا مازالت تحت التطوير اسمها لغة "جيم " - http://www.jeemlang.com/ . ولكن طبعا اللغه ضعيفه وعمرها ماهتبقي بنفس
قوة لغات البرمجه الاخري .



اوائل اجهزة الحاسب كانت مكلفه للغايه وبالتالي المبرمجين كانوا بيقبضوا حوالي
15.000$ في السنه لانه وقتها كان الحاسب بيتبرمج بلغة الاله – - machine code يعني الكمبيوتر
مكنش بيفهم غير 1 و 0 وبالتالي كانت البرمجه صعبه جدا وبتاخد مجهود ووقت ... مثال لكود مكتوب بلغة الاله :







1010 1111 ..

0111 0011

0111 0001

And so on ..,







طبعا الموضوع كان صعب علي المبرمجين فبالرغم انه لغة الاله – الارقام – هي
سهله للكمبيوتر الا انها صعبه علي الانسان .. المبرمجين وقتها كانوا بيكتبوا برامجهم
بلغة الاسمبلي – Assembly
language - ولغة
الاسمبلي كل جمله فيها بتتحط في سطر لوحدها وبيتم ترجمتها يدويا الي لغة الاله – Binary - 0 او 1 مثال علي كود مكتوب بالاسمبلي :





Program Translation

MOV A,74 010 1111

ADD A,B 0011 0111

Halt 0111
0110



والي اخره من الاوامر .













صورة توضيحيه لعملية الترجمه بين الاسمبلي ولغة الاّله .



وطبعا كانت مشاكل كتير بتواجه المبرمجين بسبب الترجمه اليدويه دي . غير انه
لو حاول بس يطور برنامج او يعدل فيه بيحتاج انه يكتب الاكواد من اول وجديد ويعيد
صياغتها .





ملحوظه : مش
عايز حد يقولي ياخد الاكواد copy – paste لان ساعتها مكنش فيه الكلام دا J







في الوقت دا فكر مهندس برمجيات في احد الشركات انه يخلي الكمبيوتر هو اللي
يترجم الاكواد بدل ما كل مبرمج يقعد يترجم يدويا ويحول من اسمبلي للغة اّله .
فاخترع حاجه اسمها Assembler
ودي بتعمل نفس اللي بيعمله
المبرمج وهو الترجمه . طبعا المهندس دا راح لمدير الشركة علشان يعرض عليه الاختراع
دا ولكن كانت المقابله سيئه للغايه كما ذُكر في كتاب "O’Relly C programming 3rd edition “ . فكان رد
المدير علي المهندس دا " ازاي تجرؤ انك حتي تفكر تستخدم اّله غاليه زي دي في
مجرد تجارب فاشله وقد كلفت الشركة تمن هذه الساعه التي يعمل بها هذا الجهاز "
. طبعا ساعتها الاجهزه كانت غاليه جدا دا غير انها كانت ممكن تشتغل نص ساعه اخرهاJ
فكان الوقت فيها بحساب . وكان المهندس دا شايف انه لو فكرته نجحت يبقي احنا كده
هنقدر نوفر تمن الساعه اللي بيقعدها المبرمج لترجمة الاوامر وياخد عليها فلوس وجهاز الحاسب هو اللي هيقوم بالوظيفه دي . ولحسن
الحظ بدات اسعار المبرمجين هي اللي تطلع واسعار اجهزة الحاسب هي اللي تنزل
وبالتالي بدأت فكرة الـ Assembler
و بدأت تُستخدم علي نطاق
واسع .



ظهور لغات البرمجه ذات المستوي العالي – : High Level Language



طبعا بعد نجاح فكرة الـ Assembler ووجدوا انها
موفره وعمليه بدأو في التفكير لاختراع لغه اقرب للانسان فكما لاحظنا في لغة
الاسمبلي ان كل جمله بتكتب في سطر الا انها غير مألوفه للانسان ايضا فحاول علماء
الحاسب انهم يوجدوا طريقه بحيث تكون قريبه من الانسان وهيستخدموا نفس مبدأ الـ Assembler معاها .
من اوائل لغات البرمجه العاليه التي تم اختراعها كانت FORTRAN وهي صممت للعمليات الحسابيه وبعدها لغة الـ COBOL والتي كان غرضها كتابة التقارير التجاريه ولغة
الـ PASCAL والتي صممت من اجل الطلبه في الجامعات
.







ملحوظه :
بدأ بيل جيتس حياته من خلال لغة الـ BASIC التي تعلمها حينما كان طالبا باحد الجامعات
فقد كانت اجهزة الحاسب وقتها باهظة الثمن ولذلك قررت الجامعه بالاتفاق مع احدي
شركات الحاسب توفير اجهزة حاسب من خلال مدد زمنيه يتم الدفع من خلالها . – يعني
كانت مثلا الشركه دي بتوفر للمدرسه مدة استخدام الحاسب اسبوع ولهم حسابات خاصه
بتنتهي بعد الاسبوع – ولكن نظرا لان بيل جيتس كان شغوفا بالحاسب فقد استطاع
اختراق انظمة تلك الشركه واستطاع انه ياخد مدد اطول وكان له صديق يدعي بول اّلن
استطاعوا سويا تعطيل نظام الشركه بالكامل مما ادي الي حرمان الشركه للمدرسه
باستخدام اجهزة الحاسب لمدة شهر كامل . وبعد رفع الحظر

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



- الملحوظه
دي انا كتبتها عشان بس افكركم بحاجه ان لغة الـ BASIC اللي هي من ايام بيل جيتس وهو صغير لسه كنا
واخدينها السنه اللي قبل اللي فاتت J







بداية عملاق لغات البرمجه – :- C



زي ماذكرت قبل كده ان دينيس ريتشي في عام 1970 قام باختراع لغة الـ C وكانت ومازالت اقوي لغات البرمجه . اللغه دي
اتكتبت عشان هدف واحد وهو برمجة انظمة التشغيل ولكن بعدها اصبحت اللغه السائده في
العالم . الميزة في لغة C انها لديها مرونه كبيره جدا في التعامل وفي غاية
السهوله كما انها تستخدم في العديد من الاغراض . وبسبب نجاح هذه اللغه تم اشتقاق
العديد من اللغات منها فتم اختراع الـ Objective C فهي خاصه بالبرمجه لانظمة APPLE
و Embedded C الخاصه ببرمجة الميكروكنترولر و C with classes وهي تطوير للغة C ومن ثم بعد ذلك تم انشاء لغة C++ ومنها كانت لغة الـ Java اذا فكل لغات البرمجه الحاليه هي من لغة الـ C وبالتالي فتعلم تلك اللغه سيفتح لك العديد من
الابواب للغات البرمجه الاخري .



ماهو الـ Compiler :



زي ماعرفنا الـ Assember
للغة الاسمبلي فيوجد ايضا
مايسمي بالـ Compiler وهو مترجم ايضا يقوم بتحويل لغات البرمجه ذات
المستوي العالي الي لغة الاّله لكي يفهمها الحاسب .





الصوره بالاعلي توضح كود
مكتوب بلغة الـ C ليقوم بطبع جملة Hello world ولكن مايهمنا معرفته هو ان اي لغة برمجه يتم
كتابتها فهي في الصوره الاول Source
code ولا يفهمها
سوي المبرمج اي ان جهاز الحاسب لايفهم مثل هذه الاكواد . يأتي دور الـ compiler في ترجمة تلك الجمل الي لغة يفهمها الحاسب مثل
الصوره الموضحه بالاسفل .





ففي الصوره يقوم الـ compiler بأخذ الـ source code الذي كتبناه بالاعلي ليتم تحويله الي object file ومن خلال مكتبات نظام التشغيل يتم تحويله الي Executable program حيث يفهمه جهاز الحاسب ونظام التشغيل . وطبعا
يوجد انواع كثيره من الـ compiler
وتختلف باختلاف انظمة
التشغيل فمثلا في وندوز يوجد مثل ( (Borland C++ , Turbo C++ , Dev C++ ,
Microsoft Visual C++ ومثلا
في انظمة اللينكس توجد (GCC
compiler وغيرها ) .







ملحوظه الـ Compiler الخاص بـ C++ يستطيع بالفعل ترجمة الاكواد المكتوبه بلغة
الـ C .







صورة اخري توضح عملية
ترجمة اللغات العاليه :







عايزين نرجع بالتاريخ
شويه لانظمة التشغيل ونعرف زمان انظمة التشغيل كان بتشتغل ازاي . ونجرب نكتب برامج
عليها قبل مانبدأ نتعرف علي السهل نحاول نجرب الصعب شويه J .



اول ماتم اكتشاف انظمة التشغيل كانت CLI – Command Line Interface يعني ايه ! . يعني كانت شاشه بيتم من خلالها
ادخال الاوامر زي الصوره اللي تحت دي .







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



ودي صورة اخري لبدايات
انظمة مايكروسوفت نظام Ms-Dos
:







برده كلها كتابة اوامر
ولكن مازال نظام الـ MS-DOS
موجود في انظمة وندوز
الحديثه حتي الان .



GUI-Graphical User Interface :



في عام 1948 دوغلاس
انجلبارت بدأ في التفكير جديا في تحويل البرامج المكتوبه الي شاشة عرض يسهل الي اي
شخص قراءته وكانت الكمبيوترات الموجوده وقتها هي الكمبيوترات العملاقه (Main Frames ) . ومن ثم قامت
شركة APPLE والتي كانت وقتها في جراج صغير تحت قيادة ستيف
جوبز وستيف وزنياك بانتاج اول نظام تشغيل بشاشة عرض .





ومن ثم بدأت باقي
الشركات وانظمة التشغيل بعد ذلك في تطبيق ذلك النظام لتسهيل استخدام الحاسب حيث تم
اصدار GUI لنظام التشغيل MS-DOS عام 1985 كما بالصوره التاليه ;





وبعدها تطورت كل انظمة
التشغيل الي ان تصل بالشكل الذي نراه الأن .



مما تتكون انظمة التشغيل :








كما في الشكل بالاعلي
فان جهاز الكمبيوتر مقسم من اول الهاردوير وهي قطع الحاسب ومن ثم نظام التشغيل ومن
ثم برامج انظمة التشغيل واخيرا المستخدم ولكن مايهمنا الان هو مما يتكون اي نظام
تشغيل .





نظام التشغيل هو حلقة
الوصل بين اجزاء الحاسب (الهاردوير) والمستخدم فانه ليس الا واجهه للمستخدم لتسهيل
عليه عملية استخدام الحاسب وكتابة الاكواد . وكما بالشكل الاعلي فان نظام التشغيل
يتكون من :



Kernel :

وهو نواة النظام مثله مثل اي أساس في
المنزل لا يمكن بناء المنزل الا بانشاء الاساس اولا . اذن فان نواة النظام هي التي تحتوي علي كل شئ
خاص بها وهي التي تربط بين البرامج علي نظام التشغيل و اجزاء الحاسب (الهاردوير) .




Application :



وهي البرامج المقدمه مع
نظام التشغيل لتسهيل العمليه علي المستخدم فمثلا لما بنزل نظام تشغيل جديد مثل
وندوز بيبقي معاه – Text Editor - مثل النوتباد ومحرر صور مثل برنامج الرسام
وبرنامج لتصفح المواقع مثل انترنت اكسبلورر كل هذه البرامج مهمه للمستخدم ولا يمكن
الاستغناء عنها في اي نظام تشغيل .



Devices :



دي طبعا سهله ومعروفه
فدي اجهزة الهاردوير الخاصه باي جهاز كمبيوتر مثل الرامات والهارد والبروسيسور ولا
يمكن استغناء اي نظام تشغيل عن اي منها .



CPU – Central processing Unit :



دي اهم جزئيه عايز اتكلم
عنه وهي الـ CPU عشان هي اللي بتحتوي علي كل اللي يهمنا فهي
المسئوله عن العمليات الحسابيه والمنطقيه وتقوم بتنظيم تزامن العمليات الاخري في
الحاسوب والتحكم بها . حيث ظهر بعد ذلك الـ Microprocessor والذي يمثل عقل الحاسوب .

الـ CPU بيتكون من :

-
ALU – Arithmetic Logic Unit
: المسئوله
عن العمليات الحسابيه والمنطقيه داخل الحاسب

-
Registers :
وهي بمثابة مساحه في الذاكره محجوزه ليتم تخزين مانريده بها .

-
Control Sections :
وهي وحدة التحكم .

-
Internal Bus
: ممرات مسئوله عن الاتصال بين الوحدات
المختلفه .



بعد طرح انتل
لمعالجات 8086 و 8088 حيث وجدوا انهم متشابهين كثيرا من حيث الخصائص لذا سمو بـ X-86 Family . ودرسناها في مادة
الميكروبروسيسور السنه دي لو حد فاكر J



الـمسجلات - Registers :



انا هتكلم بس عن المسجلات ذات الاغراض العامه وهي كما
موضحه بالصوره ومعها المسجلات
الاخري :

في انظمة انتل 32 بت فان المسجلات العامه EAX حجمها 32 بت حيث سعة المسجل من 0 الي 31 وكما
قلنا من قبل ان المسجلات العامة الاغراض تستخدم في تخزين مانريد .

في المسجل العام الغرض EAX مقسم الي ثلاثة اجزاء :

-
الاولي من 0 الي 15 وتحتوي علي مسجلين AL – AH حيث ان AL يقع مابين اول 0 الي 7 بت ومن ثم المسجل AH والذي يقع مابين 7 الي 15 بت حيث يساعدنا في
تخزين معلومات محدده وبقيم محدده

-
الثانيه : اما باقي المسجل يمكن تخزين اي داتا به
. وكما الامر مع EBX , ECX , EDX .



صورة اخري
للتوضيح :









الجزء العملي

اسف جدا لان
الكلام النظري كان كتير ولكن كان لابد منه عشان نفهم اساسيات انظمة التشغيل وازاي
بدأت عشان نقدر نفهم بعد كده اساسيات اي لغة برمجه حتي ولو لم تكن C .



عايزين بقي
نرجع بالزمن ورا شويه ونحاول نكتب برنامج بلغة الاسمبلي – اللي احنا المفروض اخدناه
في مادة الميكروبروسيسور ومدخلناش المعمل فيها ولا يوم J - ونشوف زمان قد ايه الناس دي كانت بتتعب عشان تكتب برنامج .



اول حاجه
نفتح شاشة الدوس من خلال الضغط علي Start > CMD هتفتح معانا النافذه دي :







هنكتب كلمة
Debug وندوس انتر هنلاحظ وجود
سطر جديد وجنبه شرطه كده .





دلوقتي
هنكتب اول instruction
الا وهي





A
100 - دي عشان نبتدي نكتب من موقع ذاكره محدد يعني
احنا دلوقتي هنبتدي نكتب من اول 100





بعد ما
هندوس انتر هنلاحظ انه بدأ يحدد الموقع اللي هنكتب من عنده .







هنبتدي
نكتب البرنامج بتاعنا كل اللي هنعمله اننا هنكتب برنامج مجرد بيطبع جمله احنا
عايزينها .



التعليمه
الجايه اللي هنكتبها هي :





Jmp
1234







ودي عشان
نتاكد ان الذاكره فارغه فاحنا بنفرغ حوالي 4 بايتات كمان .





لو لاحظنا
هنلاقيه انه قفز حوال 4 بايتات من العنوان 0100 الي 0103 .



بعد كده
يجي دور الجمله اللي احنا عايزين نسجلها انا مثلا هكتب "”Welcome ahmed



هنفذ
التعليمه التاليه عشان نخزن الجمله بتاعتنا :





Db
“welcome ahmed$”







ولازم
نكتب في الاخر علامة $ عشان نأكد للبرنامج ان دي نهاية الجملة .







تمام ...
هنلاحظ اننا بقينا في المكان 0111 اي ان الجمله اخدت حيز من البايتات .



طيب
دلوقتي عايزين نسجل الجمله دي في Register عشان احنا كل اللي عملناه
اننا قلنا للبرنامج فيه جمله دخلالك بس لكن لحد دلوقتي فهي مش متسجله عشان يتم
استدعائها مره اخره .





هنستخدم التعليمه
MOV واعتقد دي اخدناها برده في
مادة الميكروبروسيسور J وهنسجل الجمله دي في المسجل dx
.





Mov
dx,0103







-
احنا عارفين ان تعليمة Mov destination,source اي انه يستخدم للنقل
فالامر ياتي ومن ثم المكان الذي ينقل اليه ومن ثم الشئ الذي نريد نقله

-
مثال : Mov ax,3
معناها اننا عايزين نسجل الرقم 3 في المسجل ax .

-
احنا هنا كتبنا Mov dx,0103 يعني يسجل الامر اللي محطوط في الاوفست
0103 في المسجل dx

-
ومش هسجله في ax عشان هستخدمه في حاجه تانيه بعد
كده .









طيب جه
بقي وقت اننا نعرف ايه الطريقه اللي احنا بنستخدمها دي . دي طريقها اسمها interrupt 21 عملية المقاطعه رقم
21 ودي معناها انه بيستحضر ما بداخل
المسجل ax .



-
يعني دلوقتي لو انا ادخلت امر طباعه في المسجل ax وعملت int 21 هيطبع من داخل ax

-
لو ادخلت امر اضافه او اي عمليه حسابيه هيقرا
برده مابداخل ax

-
وكل عمليه وليها رقمها

-
رقم عملية الطباعه هو 0900









طيب
دلوقتي برده البرنامج مش هيعمل حاجه لسه لان زي ماقلنا ان المسجلات ماهي الا اوعية
تخزينيه فقط يعني انا حطيت امر الطباعه جوه المسجل ax وخلاص ولكن معملتلوش استدعاء وبالتالي لازم
اعمله استدعاء عشان يشتغل



فهكتب
الامر اللي بعدها وهو





Int
21







البرنامج
بالتاي هيقوم بعملية مقاطعه وتحميل مابداخل مسجل الـ ax .



طيب
دلوقتي كده البرنامج هيشتغل تمام فاضل اننا نخرج من البرنامج بعد ما ينفذ الاوامر
فهنستخدم عملية interrupt 20 ودي معناها الخروج لنظام التشغيل .







طيب
دلوقتي هندوس انتر مره تانيه عشان نلاحظ وجود علامة الـ - اللي كانت موجوده .







طبعا احنا
عارفين ان كل اللي احنا بنكتبه دا مازال source code عايزين نحوله لحاجه الجهاز يقدر يفهمها ويقراها
عشان ينفذ اللي طلبناه منه . وبالتالي محتاجين نحدد للجهاز حجم الكود اللي كتبناه
عشان يعرف هوا يبتدي ينفذ الاوامر من اول فين لحد فين .





طيب احنا
ليه استخدمنا الامر jmp 1234 في الاول ؟؟ عشان نقدر بعد كده نستدعي المسجل dx من بداية البرنامج

هنشوف
دلوقتي

هنكتب
تاني a 100 عشان نبتدي من اول الـ 100
اللي كتبنا عليها بس المره دي هنكتب فيها jmp 0111 ودا رقم الاوفست اللي
مستجل فيه كلمة welcome ahmed جوه ريجستر .dx







زي ما
شايفين ان البرنامج بادئ من اول 0100 زي ماحددنا في الاول لغاية 011B عايزين نحدد
مساحة الملف دا عشان يبتدي يطبعهم . من خلال الامر –h





-h
end start يعني النهايه وبعد كده البدايه

-h 011B 0100 عشان يطبعلنا حجم البايتات
بالظبط اللي هنعملها ترجمه













كل اللي
يهمنا هو الجمله الاخيره دي 001B دي مساحة البايتات اللي
الاكود مستخدماها بالهكس طبعا .



دلوقتي
عايزين ننشئ البرنامج الـ executable اللي يمكن قرأته فعلا ويبقي ملف تنفيذي







-n ahmed.com







-n وهي الاشاره الي new file





- ahmed دا اسم الملف التنفيذي اللي هننشأه وممكن تغيروه
لاي اسم

- .com دا امتداد الملف التنفيذي اللي هينشأ





مش فاضل
غير اننا نطبع الاوامر دي كلها في مسجل CX واحنا عارفين طبعا ان المسجل دا هو الـ counter واللي بيحسب بالظبط عدد
الاوامر اللي هتتنفذ فهنحتاج للامر rcx وهنطبع عدد البايتات بالهكس اللي احنا
استخرجناها .







Rcx
ومن ثم انتر

وبعدها ندخل القيمة

001B







ملحوظه في
الصوره اللي فوق طلع ايرور عشان كتبت
rcx وجنبها رقم البايتات علي طول . المفروض rcx ومن ثم انتر وبعدها ندخل عدد البايتات .










كل
حاجه تمام مش فاضل غير اننا نعمل
write جوه الـ CX بالبايتات اللي حددناها بمجرد الضغط علي w ومن ثم انتر










جاري
كتابة البايتات علي المسجل . وبكدا نكون انتهينا من البرنامج مجرد ندوس انتر مره
اخر ومن ثم
q وبعدها انتر مره اخري للخروج .



طيب
دلوقتي عايزين نستعدي البرنامج مره ونشغله عشان نشوف هيطبع الجمله ولا لأ .











طبعا
لغة الاسمبلي دي كانت مهزله
J لما واحد
يقعد ساعه عشان يكتب كود مجرد يطبع جمله فمابالكم عشان يعمل برنامج يقوم بعمليات
حسابيه ممكن يقعد قد ايه
J فالحمد لله
انه فيه لغة برمجه عاليه المستوي هنتعلمها في الدرس الجاي ان شاء الله . اتمني ان
تعود الافاده علي الجميع واسف علي الاطاله ولكني حبيت اوضح كل الاساسيات عشان نقدر
ندخل بعد كده في لغة الـ
C واحنا عارفين ايه الفرق بين الـ low level language والـ High Level language وازاي بتشتغل انظمة التشغيل وانواعها .







With My Best Wishes



Ahmed Sherif




You Can Download PDF Files : Here or
تحميل :
تحميل | mediafire

mo0ney عضو جديد
  • شكراً: 109
  • تم شكره 13 مرة في 4 مشاركة

لغة السي شي كبير الانسان الذي لم يدرسها ضيع على نفسه الكثير الكثير
Dennis Ritchie الذي لايعرفه كثير من الناس


3 أعضاء قالوا شكراً لـ mo0ney على المشاركة المفيدة:
spider24 عضو جديد
  • شكراً: 2
  • تم شكره 88 مرة في 8 مشاركة

شكرا علي الاضافه اخي

ChaRaF474 عضو مميز
  • شكراً: 901
  • تم شكره 55 مرة في 26 مشاركة

شكرا اخي والله يعطيك العافية

توقيع
http://www14.0zz0.com/2013/12/05/11/654979027.jpg
001011110010110001111110110010

/------------------------\
لا اله الا الله محمد رسول الله
\------------------------/
[email protected] عضو مميز
  • شكراً: 468
  • تم شكره 170 مرة في 51 مشاركة

شرح رائع و كل لغة عالية المستوى اعتقد اناه صعبة و لكن سوف تجد فيها متعة في الاخير

توقيع
لا إله إلا الله سبحان الله و أتوب إليه
أدوات الموضوع
انواع عرض الموضوع


Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.

:: Security By : Sec4ever Team ::

جميع الحقوق محفوظة الحماية للأبد -Security 4 Ever
Sec4ever by Sec4ever
جميع الحقوق محفوظة الحماية للأبد -Security 4 Ever
Sec4ever by Sec4ever