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

[ تمت الإجابة ]ما الدافع لتعلم Assembly ؟

بدأه MKSoft في 13 مايو 2008 · 26 رد · 11,443 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

إخواني اريد منكم استشارة جميلة ....

ماهو الدافع الذي يحفزني لتعلم هذه اللغة الصعبة نوعا ما و هي لغة Assemply , أليس هناك لغات من الجيل الثالث توفر الأدوات الخاصة التي يمكن من خلالها ان نستغني عن Assemply ؟

وان تعلمتها ... فما هي الإنجازات التي يمكن ان احققها من خلال هذه اللغة ؟؟؟؟

#2

أليس هناك الكثير من المواضيع عن هذا السؤال سلفاً؟

فهم أعمق بالنظام التي تكتب برنامجاً له, فهم أعمق بحيثيات الشئ وكيف تعمل الأشياء, وجع رأس والكثير من المنبهات وبعد الانتهاء سعادة لا توصف :lol:

بعض الامور لا تستطيع الحصول عليها إلا بالأسمبلي فقط لا غير

وانظر في توقيعي تجد البقيّة الباقية (لو تستعمل IE ضع المؤشر على ASSEMBLY و TRUST)

اقتباس
Speed, Space, Capability, Knowledge

Speed, Speed and more Speed

اما فيما يتعلق باطعام الخبز فلك الـدود نت لان الشركات تبحث عن الأمور الأخرى الآن وخصوصاً ما يعمل في قواعد بيانات (في الوطن العربي على الأقل)

تم تعديل هذه المشاركة بواسطة Xacker في 13 مايو 2008 في 18:15

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

تخيل معي

انت مبرمج وتستخدم لغة مثل C/C++

في احد الايام وجده خطأ RunTime Error

بحثت وبحثت ولم تجد اين الخطأ

هنا فائدة لغة Assembly

تقوم بتنقيح Debugging برنامجك بتتبع اوامرة بلغة Assembly الى ان تجد موضع الخطأ

هذا احد اسباب تعلم لغة Assembly وهناك غيره

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#4
dj-siba كتب:
تخيل معي

انت مبرمج وتستخدم لغة مثل C/C++

في احد الايام وجده خطأ RunTime Error

بحثت وبحثت ولم تجد اين الخطأ

هنا فائدة لغة Assembly

تقوم بتنقيح Debugging برنامجك بتتبع اوامرة بلغة Assembly الى ان تجد موضع الخطأ

هذا احد اسباب تعلم لغة Assembly وهناك غيره

على الرغم من اني لم افهم من كلامك الكثير , إلا انني تقريبا مقتنع بكلامك , لأنك تستطيع عمل اي شيء ب الأسمبلي .

#5

ساعطيك كلام يفيد في الهاردوير و السوفتير .. لغة الاسيمبلي هي اللغة المعتمدة التي يُبرمج بها المتحكمات و المعالجات الدقيقة التي تُستخدم في الانظمة المتضمنة embedded system و طبعاً لانك من خلالها تستطيع الوصول لمخابيء المعالج بكل سهولة و كتابة برنامج اصغر في الحجم و هذا شىء مهم جدا لصغر حجم الذاكرة لهذه الانظمة .

نأتي علي الحاسب الشخصي و هنا يأتي دور الكتابة ايضاً لمعالجات ٨٠٨٦ و كتابة انظمة تشغيل عليها و بعض مترجمات اللغات العالية المستوي مثل السي تُتيح لك تضمين الكتابة بالاسيمبلي حين يحتاج الامر الي ذلك ، فمثلاً في برمجة الالعاب قد تجد حساب الجذر التربيعي مهم جدا لكي تأتي بالمسافة بين نقطتين و هذه عملية مرهقة للمعالج ، لذا نكتبها بالاسيمبلي للتسريع و ايضاً هناك تعليمات مخصصة بالاسيمبلي لتسريع العمليات علي الاعداد العشرية و هناك معالجات لها و تعليمات مخصصة لها لن تصل اليها الي عن طريق لغة الاسيمبلي .. و هناك الكثير من الفوائد .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#6

لابد لك أن تعلم أمر أخر غاية فى الأهمية

أنه لكى تستطيع أن تفهم من أمامك لابد أن تتعلم لغته

و لغة الحاسوب ليست السى أو الفى بى "مع الإعتذار لأصحاب الفى بى " أو الجافا

و لكن لغة الحاسوب صفر و واحد

لو تعلمت الأسمبلى سوف ترى أشياء لم تراها عيناك من قبل قط و سوف تتعلم أشياء لن تتعلمها قط من غير تعلم الأسمبلى و من قبلها الدوائر الرقمية و المنطقية

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

#7

انا اراها كاداه مثل غيرها اذا احتجتها استخدمها

كتابة برنامج كامل بالاسمبلى كما ذكر ال xacker مرهقة جدا وستحتاج كما قال الى منبهات كثيرة واحتمال افيون وينتهى بك الحال الى مستشفى لمعالجة الادمان :lol:

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

وذلك مثلا فى التطبيقات العسكرية وعلوم الفضاء

اما الشئ الاخر كما ذكر الاخ احمد صالح

اذا اردت ان تبرمج متحكم دقيق او اردت ان تصنع اله تتحكم بها من خلال الكمبيوتر او روبوت , تلك التطبيقات تكون محدودة الذاكرة فالمعالج 8086 اكبر ذاكرة له 1 ميجا

وبتاكيد لن تضع بتلج الاجهزة البسيطة معالج ذا سرعة عالية وذاكرة كبيرة يعنى ( pc كامل ) بعيدا عن صعوبتها من ناحية ال hard ware هى ايضا مكلفة

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#8

بما انك لم تفهم جيدا ردي الاخير اعطيك مثال اخر

في مستقبلات القنوات الفضاية DEMO يتم فك تشفير القنوات المشفرة باستخدام Module صغير مبني على PIC 16F84

prog_ser.jpg

باي لغة تتم برمجته في نظرك ؟ ولماذا ! :lol:

الاجابة هي احد فوائد لغة Assembly

تم تعديل هذه المشاركة بواسطة dj-siba في 16 مايو 2008 في 16:42

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

#9
اقتباس
باي لغة تتم برمجته في نظرك ؟ ولماذا ! laugh.gif

الاجابة هي احد فوائد لغة Assembly

ممكن بالسى والبيسيك كمان لو حبيت :lol:

تم تعديل هذه المشاركة بواسطة حريف برمجة في 17 مايو 2008 في 02:05

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#10

الأسمبلى هى لغة برمجة العتاد فى أى زمان و مكان و مهما تم تطويع أى لغة برمجة أخرى

فلن تكون مثل الأسمبلى أبدا فى القدرة على الوصول الى خفايا أى معالج صممت من اجله

#11

و الله يا إخوان انو مناقشة رائعة من محترفي الأسمبلي ...

طيب انا الان اعرف بعض اساسياتها , فكيف استطيع ان اصل لدرجة الإحتراف فيها ؟؟؟

#12
اقتباس
فلن تكون مثل الأسمبلى أبدا فى القدرة على الوصول الى خفايا أى معالج صممت من اجله

ولن تستطيع لغة تصدير كميات كبيرة لمستشفى الامراض العقلية مثل التجميع :lol:

اقتباس
و الله يا إخوان انو مناقشة رائعة من محترفي الأسمبلي ...

فعلا :D

اقتباس
طيب انا الان اعرف بعض اساسياتها , فكيف استطيع ان اصل لدرجة الإحتراف فيها ؟؟؟

:blush: :P

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#13

شوف اخي ، اذكر لك شىء مقنع من واقع التجربة ضروري لاستخدام لغة الاسيمبلي فيه .. وهو استخدام الفيديو و الرسم علي شاشات التليفزيون او الكومبيوتر او اجهزة الالعاب مثل الاتاري و الكونصول مثل البلاي ستيشن (نفذت جهاز بسيط من قبل ) كاي نوع من الاشارات إ ن كانت اشارات فيجا او بال ..إلخ فانت تحتاج تحكم دقيق جدا في الزمن يصل إلي الميكروثانية و للوصول لهذه الدقة تحتاج إلي حساب عدد الدورات التي تحتاجها التعليمة الواحده للوصول لزمن دقيق مثل هذا و اللغات العالية المستوي مثل السي لن تعطي لك هذه الخاصية و لن تعرف زمن التعليمة الواحده و كم دورة تاخدها لتنفيذه .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#14
اقتباس
شوف اخي ، اذكر لك شىء مقنع من واقع التجربة ضروري لاستخدام لغة الاسيمبلي فيه .. وهو استخدام الفيديو و الرسم علي شاشات التليفزيون او الكومبيوتر او اجهزة الالعاب مثل الاتاري و الكونصول مثل البلاي ستيشن (نفذت جهاز بسيط من قبل ) كاي نوع من الاشارات إ ن كانت اشارات فيجا او بال ..إلخ فانت تحتاج تحكم دقيق جدا في الزمن يصل إلي الميكروثانية و للوصول لهذه الدقة تحتاج إلي حساب عدد الدورات التي تحتاجها التعليمة الواحده للوصول لزمن دقيق مثل هذا و اللغات العالية المستوي مثل السي لن تعطي لك هذه الخاصية و لن تعرف زمن التعليمة الواحده و كم دورة تاخدها لتنفيذه .

اخ احمد صالح عاوز اسالك على حاجة

فى انواع من الميكرو تاخذ ال clock من oscillator خارجى لو انا زودت التردد عن المسموح به من الميكرو هاخد سرعة اعلى للميكرو

يعنى زمن اقل لل cycle ده ممكن عمليا

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#15

هل تريد أن تقول ان الحد الاقصى للمايكرو مثلا 30ميجا و أنت رفعت التردد الى أعلى من هذا ؟؟

أنا لا أظن أنه سوف يعمل

#16
اقتباس
هل تريد أن تقول ان الحد الاقصى للمايكرو مثلا 30ميجا و أنت رفعت التردد الى أعلى من هذا ؟؟

أنا لا أظن أنه سوف يعمل

نعم هذا هو

لكن اريد ان اعرف رد من جرب

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#17
dj-siba كتب:
بما انك لم تفهم جيدا ردي الاخير اعطيك مثال اخر

في مستقبلات القنوات الفضاية DEMO يتم فك تشفير القنوات المشفرة باستخدام Module صغير مبني على PIC 16F84

prog_ser.jpg

باي لغة تتم برمجته في نظرك ؟ ولماذا ! :lol:

الاجابة هي احد فوائد لغة Assembly

لأن تنفيذ الأوامر بلغة "الأسمبلي" أسرع من غيرها كونها أقرب للغة الآلة ؟

أفيدونا أفادكم الله :)

اللهم طهر أرض فلسطين من العملاء والخونة

#18
اقتباس
لأن تنفيذ الأوامر بلغة "الأسمبلي" أسرع من غيرها كونها أقرب للغة الآلة ؟

أفيدونا أفادكم الله regular_smile.gif

لا اخ علاء ربما يكون احد الاسباب

لكن ذاكؤة البيك صغيرة جدا 64 كيلو لا اتذكر فاذا كان التطبيق يجحتاج لذاكرة فلا مفر من استخدام التجميع

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#19

حريف برمجة : يمكن زيادة التردد و لكن بنسبة و هذا ما تدعمه المعالجات في الحواسب الشخصية مثل amd و لكن هناك اقصي تردد يمكن ان يعمل عليه المتحكم و يتحدد علي اقصي تردد يعمل عليه الترانزيستورات ( و الدوائر الرقمية ) و كما تعلم انه يُستخدم الترانزستور كمفتاح و له اقصي تردد يمكن ان يعمل عليه سويتش بين ٠ و ١ .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#20
اقتباس
يمكن ان يعمل عليه سويتش بين ٠ و ١ .

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

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#21

لكن سؤال تانى

السؤال بيقول علل

لما اجى ازود التردد مع مثلا ترانزستور من نوع bjt الخرج يكون مشوة لكن الترانزستور بيكون سليم بعد اجراء التجرب

هل لو انا زودت التردد الميكرو يتحرق ولا العمليات الى بينفزها بتكون غير صحيحة فقط

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#22

زيادة التردد --- زيادة فقدان الطاقة --- زيادة درجة الحرارة -- و احتمال احتراق المعالج و لذلك يُضع مبردات في معالجات amd ان كنت تريد زيادة التردد

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#23

معلومات مفيدة بصدق

وكم اتمنى ان تستمر مثل هذه النقاشات لانها تعطينا شيء جديد نتعلمه

واتمنى ان اتعلم هذه اللغة ولكن ... لا اعلم كيف تكون الخطوة الاولى

هل من مرشد ...يحدد لنا الخطوات الاساسية الاولى للتعلم الصحيح والسريع

بارك الله بالجميع

اختكم محبي الله :mellow:

#24

السلام عليكم

لدي سآل بخصوص تعلم الاسمبلي

الجميع يقول ان الاسمبلي يحول الكودلى لغة الآلة

و الجميع يقول ان لغات البرمجة عالية المستوى تحول الكود الى لغة الآلة

ادا اذا ما الفرق بارك الله

ففيكم و اين تكمن سرعة الاسمبلي ان كانو الاثنين يحولان الى لغة الآلة

سلامي

#25
fateh.dz كتب:

السلام عليكم

لدي سآل بخصوص تعلم الاسمبلي

الجميع يقول ان الاسمبلي يحول الكودلى لغة الآلة

و الجميع يقول ان لغات البرمجة عالية المستوى تحول الكود الى لغة الآلة

ادا اذا ما الفرق بارك الله

ففيكم و اين تكمن سرعة الاسمبلي ان كانو الاثنين يحولان الى لغة الآلة

سلامي

HLL تحول التعليمات إلى Assembly وليس إلى machine code.

لكن الكومبايلر مهما قام بعمل optimization فإنه لن يستطيع تحسين الكود لدرجة تماثل كتابته مباشرة بالأسمبلي باليد وبشكل مباشر.

جرب كتابة برنامج بالسي++ يظهر رسالة على الشاشة

قم بتحميل البرنامج في منقح مثل olly debugger

انظر إلى كم التعليمات الهائل هنا وهناك

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

كل تعليمة تملك زمن تنفيذ، عندما تزيد عدد التعليمات فإنك تزيد زمن التنفيذ بكل تأكيد.

لذلك شعار الأسمبلي، Speed, Speed and more Speed (معالجك سيشعر بها ونادراً ما ستشعر بها أنت)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

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