>

العودة   منتدى بريدة > المنتديات التقنية > منتدى الكمبيوتر و الجوال والبرامج والصيانة

إضافة رد
 
 
أدوات الموضوع انواع عرض الموضوع
 
قديم 20-01-18, 02:43 am   رقم المشاركة : 1
ملح ـوس
عضو فضي
 
الصورة الرمزية ملح ـوس





معلومات إضافية
  النقاط : 10
  المستوى :
  الحالة : ملح ـوس غير متواجد حالياً
Unhappy = نسخ ولصق =


سلام

وصباح الخير


وقبل انسخ المنقول اقول


العاب الاطفال والتطبيقات عموما والاندر ويد خصوصا

يحصل لها فك واضافات وتعديل وغالبا بحث تربط حساباتك بدعايات

او مواقع او غيرها عموما عمليه فك البرامج= والتعديل منتشرة وهي سهلة


لانه مثل ماتفكك لعبة وتضيف لها شي او من هذا القبيل



لذالك اليوتيوب فيه كل مايخص البرمجة من الصفر ولككن الاهم


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

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

وبتوعين العضلات والقصص الورمنسية والروايات الماجنة او الايحائية او حتى

بتوعين مسحوق البروتين عشان يعضل ولكن قبل انسى

من يستعمل مسحوق البروتين تراه خطر خاصة للي اكله به بروتين خلقه


مثل السمك والبيض واللحم


عموما شطحت لكن ارجع للمنقول =وللمراقب التعديل لانه منقول =

ويقول ::


=============================
لغة البرمجة منخفضة المستوى

تعرف لغة البرمجة منخفضة المستوى في علم الحاسوب بأنها لغة برمجية توفر القليل من التجريد المأخوذ من مجموعة التعليمات الخاصة بالحاسوب أو قد لا توفره على الإطلاق. ويستخدم لفظ "منخفضة" لوصف القدر القليل أو المعدوم من التجريد الذي يربط بين لغة البرمجة ولغة الآلة، وذلك لأن مثل هذه اللغات منخفضة المستوى توصف أحيانا بأنها "قريبة من العتاد".

يمكن تحويل اللغات منخفضة المستوى إلى شفرة الآلة بدون استخدام مفسّر أو مترجم لتعمل الشفرة الناتجة مباشرة في المعالج. ويتميز البرنامج المكتوب باستخدام اللغة منخفضة المستوى بسرعة التنفيذ واحتلاله حيزا صغيرا جدا من الذاكرة بعكس نظيره المكتوب بلغة عالية المستوى والذي يأخذ وقتا أطول ويحتاج إلى مزيد من المصادر. قد تكون اللغات منخفضة المستوى بسيطة غير أنها صعبة الاستخدام وذلك تبعا لعدة تفاصيل ينبغي أخذها في الحسبان.

فعلى سبيل المقارنة، تعزل لغة البرمجة عالية المستوى دلالات التنفيذ في معمارية الحاسوب عن خصائص البرنامج مما يسهّل عملية التطوير، وتقسم اللغات منخفضة المستوى إلى قسمين: الجيل الأول والجيل الثاني.

الجيل الأول
يعتبر الجيل الأول من لغة البرمجة أو ما يسمى بـ 1GL أحد لغات الآلة، وهي اللغة الوحيدة التي بإمكان المعالج الدقيق معالجتها مباشرة دون الحاجة إلى تحويل مسبق. ولا يكتب المبرمجون في أيامنا هذه البرامج بلغة الآلة مباشرة وذلك لأن مثل هذا العمل يستلزم الاهتمام بتفاصيل عديدة تقوم اللغات عالية المستوى بعملها تلقائيا بالإضافة إلى البحث في الرموز العددية لكل تعليمة يتم استخدامها في كتابة البرنامج بلغة منخفضة المستوى وتذكرها أيضا، ولهذا السبب فإن الجيل الثاني من اللغات البرمجية يوفر مستوى تجريديا واحد على رأس لغة الآلة.

مثال: إحدى دوال لغة الآلة إكس 86 التي تعمل باستخدام 32 بت لحساب رتبة ن من متتالية فيبوناتشي:

8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD98B C84AEBF1 5BC3
الجيل الثاني
أما الجيل الثاني من لغة البرمجة أو 2GL في اسم آخر، فهو ما يسمى بلغة التجميع. وتعتبر هذه اللغة إحدى لغات الجيل الثاني على الرغم من أنها لا تخص المعالج الدقيق بشكل خاص، فلا بد أن يكون المبرمج الذي يستخدم لغة التجميع على دراية بمعمارية المعالج الدقيق الفريدة (مثل السجلات والتعليمات)، حيث يتم تجميع هذه التعليمات البسيطة مباشرة إلى لغة الآلة. ويمكن تجريد شيفرة التجميع إلى طبقة أخرى بطريقة تشبه تلك المستخدمة في تجريد لغة الآلة إلى شيفرة التجميع.

مثال: نفس البرنامج المذكور سابقا والمستخدم في حساب متتالية فيبوناتشي، وقد كتب هذه المرة باستخدام لغة التجميع x86 باستخدام تركيب MASM.

fib:
mov edx, [esp+8]
cmp edx, 0
ja @f
mov eax, 0
ret

@@:
cmp edx, 2
ja @f
mov eax, 1
ret

@@:
push ebx
mov ebx, 1
mov ecx, 1

@@:
lea eax, [ebx+ecx]
cmp edx, 3
jbe @f
mov ebx, ecx
mov ecx, eax
dec edx
jmp @b

@@:
pop ebx
ret



انظر أيضا
لغة برمجة عالية المستوى
لغة برمجة فائقة المستوى
قائمة لغات البرمجة
تاريخ تطور البرمجيات


================



لغة الآلة




لغة الآلة (بالإنجليزية: Machine Language)

هي اللغة البرمجية الوحيدة التي يفهمها وينفذها الحاسوب مباشرة.

وهي من لغات البرمجة منخفضة المستوى حيث
(أي يحتوي قاموسها على الكثير من الإيعازات (Instruction Set))

تعتبر أكثر لغات البرمجة الشائعة مثل C++ وفيجول بيسك ذات مستوى تخصصي عالٍ ولهذا السبب تستخدم عند كتابة البرامج فتحول هذه الأوامر إلى لغة التجميع الخاصة بالمعالج (Microprocessor) ثم إلى لغة الآلة حتى يتم تنفيدها.




تعليمات لغة الآلة

لكل نوع من أنواع المعالجات لغة آلة أو طاقم تعليمات خاصة به. ويتم كتابة تعليمات وإيعازات لغة الآلة على هيئة أرقام بنظام العدد الثنائي لتُنفَّذ مباشرة. أو بنظام العد الثماني ثم يتم تحويله إلى النظام الثنائي لتنفد.

لكل عملية حسابية أو منطقية تكتب بلغة الآلة شيفرة (code) خاصة بها. وتُكتَب عناوين الذاكرة الحقيقية في البرامج المكتوبة بلغة الآلة.







======================








في علوم الحاسوب، لغة التجميع (بالإنجليزية:Assembly language)
هي الصيغة السهلة القراءة للبشر المقابلة للغة الآلة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما.
فلغة الآلة عبارة عن تتابع من البتات (bits) تمثل عملية حاسوبية أو أمر للحاسوب، تصبح أسهل للقراءة عندما تستبدل برموز تعبر عنها.
ولكل معالج لغة تجميع خاصة به كما أن له "لغة آلة Machine Language" خاصة به.
وتحتاج لغة التجميع ما يسمى "المجمـِّع" (بالإنجليزية: Assembler) وهو الذي يقوم بتحويل لغة التجميع التي يستطيع البشر قراءتها والتعديل فيها إلى لغة الآلة التي يستطيع المعالج تنفيذها.
وتستخدم هذه اللغة الآن من قبل البشر وذلك لبرمجة أجزاء من نظم التشغيل أو للتاكد من سرعة وكفاءة تنفيذ بعض البرامج التي يحتاج فيها الكفاءة كبرامج المحاكاة والألعاب.

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

الاسم
المعامل
العملية
التعليق
أمثلة على الأوامر :

START: MOV CX,5 ;initialize counter
في المثال حقل الاسم هو START:
العملية والمعامل MOV CX,5
التعليق ;initialize counter







التوقيع

وَقُل رَّبِّ اغْفِرْ وَارْحَمْ وَأَنتَ خَيْرُ الرَّاحِمِينَ
رد مع اقتباس
قديم 20-01-18, 10:02 am   رقم المشاركة : 2
ملح ـوس
عضو فضي
 
الصورة الرمزية ملح ـوس





معلومات إضافية
  النقاط : 10
  المستوى :
  الحالة : ملح ـوس غير متواجد حالياً
Unhappy


للفائدة منقول:


تم النشر منذ 24 Oct 2013
لغة التجميع (Assembly Language)

السلام عليكم ورحمة الله وبركاته

أما بعد...

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

أنا من هواة برمجة الألعاب فكنت في البداية أستخدم البرامج المبتكرة لصنع الألعاب كصانع الألعاب (Game Maker 8 Professional Edition).
لكن بعد حين...أدركت أن برمجة الألعاب لا تعتمد علي البرامج البسيطة التي يستخدمها الإندي (Indie)-صانع الألعاب الذي ينشر ألعابه بنفسه-لأن إمكانية تحويل اللعبة من منصة لأخري يعتمد علي نوع لغة البرمجة التي تم اعتمادها في صناعة اللعبة فمثلا: ألعاب الكمبيوتر الشخصي (PC) واكس بوكس(Xbox)برمجتهما عن طريق لغة البرمجة C++ (C Plus Plus) أما الألعاب المحمول تعتمد علي برمجة الألعاب بنظام جافا (Java) و من هنا بدأت بالتعمق في لغات البرمجة.
لكن بعد هذا...قرأت مقالة علي المنتدي يوضح فيها كاتب الموضوع قيمة لغة التجميع (Assembly Language) وذكر مميزات عديدة للغة البرمجة و منها رغبت في تعلم لغة التجميع.

لكن كي أصير محترفا في لغة التجميع لابد أن أحدد وجهتي و أنا حتي الأن لا أعرف كيف يمكن استخدام لغة التجميع..جل ما قرأته هو أنها تحتاج مجمع (Assembler) و بعض المتطلبات الأخري التي لا أذكرها.

لذا أطلب من الإخوة الأعضاء أن يزودوني بالمعلومات عن برنامج المجمع (Assembler) و المتطلبات الأخري حتي أتمكن من استخدام لغة التجميع فأنا متلهف لمعرفة مزايا اللغة .









إجابات على هذا السؤال .

مصطفى 36a2
الدولة : :سوريا
اهتمامات:ربّي يسّر
قام بالرد منذ 24 Oct 2013

السلام عليكم أخي الكريم ...

أحيي فيك رغبتك للتعلم ..


وأرجو ألا تخمد أبداً

قبل الكلام عن لغة التجميع .. لا بد أن تعرف عن لغة الآلة .. لغة الآلة هي التعليمات التي يفهمها المعالج مباشرة ..

(وكل معالج له لغة آلة .. أي أن كل آلة لها لغة خاصة بها ..) الحاسوب يختلف عن المتحكم الصغري والمتحكم يختلف عن الموبايل ..

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

مثلاً .. افرض أن المعالج1 يقوم بعملية الجمع عندما نعطيه الرمز(الكود) 10101010 والمعالج2 يقوم بنفس العملية عندما نمرر له الرمز(الكود) 11111111 ..

من غير المعقول أن نحفظ التعليمات لكل المعالجات .. فهذا مضيع للوقت ..

تقوم لغة التجميع بالسماح للمبرمج بكتابة sum مثلاً .. ومن ثم تقوم بالترجمة إلى الكود الخاص بالمعالج بطريقة ما .. لا تهم المبرمج ..

إذا باختصار .. لغة التجميع تقوم بترجمة كلمات مفهومة من قبل المبرمج مباشرة إلى كلمات مفهوم من قبل المعالج ..



لغة التجميع تصنّف كلغة منخفضة المستوى ..أي أنها قريبة جداً من التعامل مع العتاد الصلب HardWare

والتعليمات فيها تتعامل مباشرة مع مسجلات المعالج Registers ومع عناوين المتحولات في الذاكرة ..



لغة C و ++C وباقي اللغات عالية المستوى تتيح لك كتابة تعليمات بسيطة أو استدعاء توابع جاهزة .. ولكن لا يمكن تنفيذ هذه التعليمات إلا بعد تحولها الى لغة التجميع ...

أي أن لغة C مثلاً .. تتيح لك كتابة تعليمات وتتكفل بترجمة هذه التعليمات إلى لغة التجميع .. إلى الكثييير من التعليمات بلغة التجميع ..

فمثلاً .. كتابة هذا السطر في C

printf("%i\n",(2*t*t*t+3*t*t+t)/6);
تكافئ كتابة الأسطر التالية في لغة التجميع :

mov eax,dword ptr [t]shl eax,1imul eax,dword ptr [t]imul eax,dword ptr [t]mov ecx,dword ptr [t]imul ecx,ecx,3imul ecx,dword ptr [t]add eax,dword ptr [t]add eax,ecxcdq mov ecx,6idiv eax,ecxmov esi,esppush eax push offset string "%i\n" (1579CCh)call dword ptr [__imp__printf (15C574h)]add esp,8cmp esi,espcall @ILT+1130(__RTC_CheckEsp) (14146Fh)


ليست لغة التجميع لغة صعبة ..بل هي من أبسط اللغات على الإطلاق .. فهي الأخفض مستوى .. ولكن كما ترى .. تكتب كثيراً وتحصل على القليل ..

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

وأقرب اللغات تعاملاً مع لغة التجميع كما رأيت هي C .. حتى أنها تتيح لك الكتابة بلغة التجميع ..ضمن الكود ..



أما اللغات التي تعمل على منصّات منفصلة عن نظام التشغيل مثل Java ولغات .Net يتم تحويل الكود فيها إلى ما يسمّى byteCode وهي لغة الآلة الافتراضية ..

أي أنها لا تتعامل فوراً مع لغة الآلة التي تعمل عليها .. بل تتعامل مع برنامج يسمّى الآلة الافتراضية .. وهو يتعامل بدوره مع الآلة الحقيقية ( المعالج ) ..



أخيرا اسمح لي أن أقول :

من غير المعقول أن نقول : ( ميزات لغة التجميع ) فهذا ظلم كبير .. بل الصحيح أن نقول (ميزات البرمجة بلغة التجميع )

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


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

ستحتاجها إذا كنت تريد كتابة برنامج سريع جداً .. وطبعاً ستحتاجها إذا أردت فهم آلية عمل الحاسوب من الداخل ..

فإذا كان هذا ما تريده ..
بالتوفيق






التوقيع

وَقُل رَّبِّ اغْفِرْ وَارْحَمْ وَأَنتَ خَيْرُ الرَّاحِمِينَ
رد مع اقتباس
إضافة رد
مواقع النشر (المفضلة)
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع
تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

الساعة الآن 06:19 pm



Ads Management Version 3.0.1 by Saeed Al-Atwi
موقع بريدة

المشاركات المنشورة لاتمثل رأي إدارة المنتدى ولايتحمل المنتدى أي مسؤلية حيالها

 

كلمات البحث : منتدى بريدة | بريده | بريدة | موقع بريدة