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

سؤال حول برامج الاسمبلى

مغلق
بدأه mojaboja في 7 يونيو 2006 · 11 رد · 1,277 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا بدى اسال عن برامج الاسمبلى

البرامج المبرمجة بواسطة الاسمبلى

او فيها جزء مبرمج بالاسمبلى

ممكن ان تعمل على الويندوز بدون وجود كومبايلر او اى حاجة تانية

وهل ممكن ان تعمل على اكثر من نظام تشغيل كما الحال فى السى و الجافا

سؤال تانى

ممكن الربط بين الاسمبلى واى لغة برمجة اخرى

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

ممكن ان انا ابرمج جزء منه مثلا متعلق بالهارد وير بواسطة الاسمبلى

ولكم جزيل الشكر

#2

معلوماتي ليست كبيرة...لذلك يمكن ان "تصبر نفسك" بهذا الجواب ريثما ياتيك الخبر اليقين من الاعضاء الاكثر خبرة :)

ممكن تعمل على الوندوز بدون كمبايلر؟

لم افهم السؤال لكن :

بالنسبة للغات المستوى العلوي فيمكنك ان تكتب برنامجك وتعمله compile بواسطة اي كمبايلر فتحصل على ملف exe جاهز للتشغيل

بالنسبة للاسمبلي يمكنك ان تكتب برنامجك وتعمله assembling ثم linking بوابطة اي

مجمع (assembler) كـ MASM32 مثلا...ثم تحصل على ملف exe جاهز للتشغيل

هل تعمل على اكثر من نظام؟

لغة الاسمبلي machine dependent فالبرامج المخصصة للعمل على معالجات انتل لن تعمل على معالجات AMD وبالتالي يجب اخذ النقطة هذه بعين الاعتبار....

بالنسبة للسؤال الثالث : نعم ، يمكنك.بل ان هذا هو المتبع..فالبرامج الكبيرة تبرمج بلغات المستوى العلوي اما الاجزاء التي تحتاج الى تعامل مع العتاد او تحتاج الى سرعة كبيرة في التنفيذ فتبرمج بالاسمبلي...وبهذا تحصل على برنامج مكون من لغتي برمجة.

تم تعديل هذه المشاركة بواسطة allko في 7 يونيو 2006 في 05:23

#3

اشكرك بشدة

ولكن لى سؤال اخر

جميع انظمة التشغيل داخل فى برمجتها الاسمبلى

هل معنى هذا ان الويندوز الذى يعمل على معالج انتل لن يعمل بكفاءة على amd

وكذلك اليونكس

طيب اذا كان البرنامج يستهدف المستخدم العادى سواء كان يستخدم انتل او amd فماذا تفعل

الشركات

هل هناك طريقة لعمل النظام والبرنامج تحت اى معالج

كما فى الويندوز

ام ان الويندوز مصمم لانتل فقط ولا يصلح ل amd

ومرة اخرى شكرا على الرد

#4
اقتباس
هل معنى هذا ان الويندوز الذى يعمل على معالج انتل لن يعمل بكفاءة على amd

لا تخلط بين الأمور

AMD في الأصل ِClone نسخة او تقليد ل InteL

نظريا كل برنامج يعمل على Intel يعمل على AMD

لكن الأمور تطورت، و أصبحت منتوجات AMD تفوق! Intel ان صح التعبير

وضهر أوامر خاصة ب AMD فقط و أوامر خاصة ب Intel فقط

خاصة في الأوامر المتعلقة بالملتيميديا Multimedia

كل المشكلة في 64 bits و المستقبل القريب....

-

فكرتك صحيحة لو كنت تتحدث عن Intel و Motorola او Dec او غيرها... و ليس AMD

d4baa0.gif
#5

يراودني نفس السؤال الذي ساله الاخ...

فكما نعلم الـ OSs تبرمج بالـ c و ++c اما الاجزاء المتعلقة بالهاردوير كالدرايفرات فتبرمج غالبا بالاسمبلي...

كما قلت اخي محمد عبد العزيز

اصبح هناك اوامر خاصة بانتل واخرى ب AMD

فكيف يتم التعامل مع هذا الامر؟

#6

الحواسيب الشخصية PC-G XT AT لما ظهرت أول مرة 1981 كانت حكرا على الشركات الثلاث: Ibm و Intel و microsoft.و أكبر إحتكار كان على العتاد, فكانت كل الحواسيب من صنع IBM ومزودة بمعالج ل Intel . أما ميكروسوفت فظهر لها منافسون أقوياء من الأول ك dr-dos و unix وغيرها كلها كانت تعمل على نفس الحاسب.

فكانت اول إنتفاضة هي تقليد الحاسب بكل مكوناته كما هي لكن من صنع شركات أخرى غير IBM. هذا لأن IBM لم تستطع أن تصنع الحاسب بكل مركباته في مصانعها , فاضطرت على تجميع هذه المركبات الإلكترونية من صنع شركات أخرى لتصنيع حواسيبها. و بعد نشر لائحة تفصيلية لبرنامج bios , أصبح من السهل إستنساخ IBM-PC, حيث يكفي أن تجمع المركبات من الشركات المصنعة لها , و تنسخ صورة في ذاكرة Rom للBios لتحصل على Copatible-PC.

نفس هذا الإستنساخ طال المركبات الإلكترونية خاصة المعالج نفسه. intel لم تكن هي هذه الشركة العملاقة كما كانت في الثمانينات, فقد كانت هي عاشر قوة إلكترونية.

بعدما كان المعالج الذي يجهز الحواسيب IBM-pc هو Intel فقد إستنسخ عليه إستنساخ أعمى وإستنساخ تبعية لمعالجاته.

كانت Intel هي الرائدة , وعند ظهور معالج جديد تجد باقي المنافسين ل Intel كشركات AMD, وشركة cyrix ( توقفت 1998) , وشركة VIA , وشركة NEC.

لم يصمد من هذه الشركات سوى AMD. هذا لأنها إستطاعت أن تتخطى حاجز التبعية وتنتج معالجات متطورة متوافقة مع البنية الأساساية للمعالجات Intel ومع كل تعليمات assembly, لكن البنية الداخلية أصبحت مختلفة خاصة في السرعة والتعامل مع وحدة PipLine و preprocessor الرياضي , و إدراج تعليمات جديدة كتعليمات الموجهة لل Multimedia و هي تقنيات 3DNow! أو تطوير تعليمات أكثر ثباتا و قوة من منافسها Intel كتقنيات ال Multimedia الأخرى: MMX و sse و sse2 و sse3.

بالنسبة للبرامج التنفيذية فهي ترا المعالج على أنه: Intel Compatible يعني لا تهتم لمصنعه ما دام يتوافق مع بنية X86.

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#7

علةى ما أذكر IBM اختارت معالج Intel بسبب ثمنه و كفائتك حيث كانت IBM تقوم بتصنيع معظم اجزاء الحاسب الأخرى...وحتى الأن تملك برائة الأختراع..

اقتباس
وشركة cyrix ( توقفت 1998) , وشركة VIA

ViA اشترت Cyrix و اطلقت معالجاتها التي بداءت باسم C3...

d4baa0.gif
#8

هل تقصد ان معالج AMD athalon يعتبر x86 compatible وبالتالي البرامج المبرمجة بالاسمبلي على انتل تعمل عليه؟

#9

البنية IA-32 أو Intel architecture 32 bits هي بنية المعالجات pentium و هي Pentium, Pentium Pro, Pentium 2, Pentium 3, Pentium 4, Pentium 4-M, Pentium M.

شركة amd, تعتمد على نفس البنية IA-32 التي وضعتها intel.

رغم أن هده البنية وضعت بدأً لتعتمد تعليمات 32Bits, إلا أنها عرفت زيادة في أواخر سنة 2004 لتعليمات إضافية ب 64Bits من طرف AMD سمتها ب AMD64, ووافقتها أيضا Intel وعرضت EM64T و سمتها IA-32e.

فكل المعالجات Athlon 64 و Athlon FX و Athlon X2, Sempron 64 و Turion و Opteron تقبل تعليمات 32bits وهي من عائلة IA-32e. وأضف إليها كذلك معالجات intel Pentium 4 و Pentium D وPentium Extreme Edition و Celeron D و Xeon. وقد بدأت intel بتسميتها أيض ب X64.

ف AMD x86-64 ما هي إلا إمتداد للبنية IA-32 ما تسميها x86-32 او IA-32e.

hammer_01.gif

في المقابل ظهرت بنية جديدة على غرار IA-32e تسمى ب IA-64 غير متوافقتين ولها تعليمات خاصة بها, طورتها كلا الشركتين Intel و Hewlett-Packard. لكنها لم تلقى نفس نجاح البنية x86-64,

المعالجين Itanium و Itanium 2 تنتني لهده البنية الجديدة.

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#10

هل معنى هذا ان البرامج و الانظمة التى كانت تعمل على معالجات ia-32 لن تعمل على معالجات ia-64

لى سؤال اخر لو تكرمتم

كيف استطاعت لغة السى تخطى عقبة المعالج والعمل على اى معالج

وشكرا

#11

أخي لا أعلم هل معالجات ia-64 تستطيع تنفيذ برامج ia-32, أظن أنها ستكون مدمجة فيها كما إستطاعت معالجات ia-32 تطبيق برامج ia-16.

لكن النقبة من ia-32 إلى ia-64 كانت نقلة نوعية وجذرية.

بالنسبة للغة البرمجة فهي في أول مراحلها تكون عبارة عن نصوص حرفية مكتوبة في محرر نصوص, في هذه المرحلة فهي مستقلة عن المعالج وليس لها أية علاقة به.

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

فشيفرة مكتوبة بلغة السي مثلا تضم سطر printf("Hello world"); هي كتابة نحوية للغة السي, وغير مرتبطة بالمعالج .

لكن عند ترجمتها إلى لغة الآلة بواسطة المصرف صتصبح مجموعة من التعليمات على حسب المعالج الذي تريد.

فالمصرفات للغة c مصرفات ترتبط بنوع المعالج الذي تصرف له.

فهناك مصرفات لمعالجات I386 وهناك مصرفات لمعالجات أخرى كمعالجات Motorola أو dec او sparc او غيرها...

والله أعلم

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#12

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

اصحيح ان العرب في هذه الحياة.......هذا بالاسم فقط

لالالالابالاحلام ....او..لاكمال العدد؟؟؟؟؟؟

هذا الموضوع مغلق.

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