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

تحويل الكود الى بيناري

مغلق
بدأه Mohammed27 في 3 سبتمبر 2005 · 2 رد · 638 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني الاعزاء اريد معرفه كيف يتم تحويل كود مكتوب بلغه اسمبلي الى ملف بيناري ؟

الرجاء الرد ...

-------------------------------------------------------------------------------------------------------------------

محمد وليد - عرب 48 - Admirer4@Gmail.com

مهندس كهرباء والكترونيكا (B.Sc)- متخصص بقنوات الاتصال عن بعد , والدوائر الكهربائيه المعقده VLSI .

محترف برمجه(B.A) في لغه باسكال , سي , ...

#2

اخي الكريم، ذكرت في موضوع كنت قد كتبته منذ حوالي يومين (مقدمة الى لغة التجميع) بان تعليمات الاسمبلي معرفة في المعالج بشكل ثنائي حيث تتالف التعليمة من 16 بت ممثلة بالنظام الثنائي.. مثلا: 0000010100001010 حيث تمثل البتات الاكثر اهمية (most significant bits) وعددها 8 المتوضعة الى اقصى اليسار التعليمة المراد تنفيذها بينما تمثل البتات الاقل اهمية وعددها 8 المتوضعة الى اقصى اليمين معاملات هذه التعليمة فاما ان تمثل عنوان او مسجلات او قيمة ثابتة.. الخ

للمزيد يرجى مراجعة ذلك الموضوع.

Do as I say, not as I do

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

#3

اه.. اعتقد ان ذلك الموضوع لن يكفي لتوضيح سؤالك.. اوكيه, المعالج بيفهم بالثنائي اوكيه.

افرض عندك التعليمة

mov    dl, x

(اللي استخدمتها في المقال المذكور)

هناك جدول خاص بتعليمات الاسمبلي يوضح شفرة العمليات المقابل لها opcode (تجده في المرفقات)

فمثلا, بالنسبة لتعليمة MOV يتم فصل التعليمة مع الوجهة عن المصدر.. فتكون كانها:

mov    dl

كي يعرف المعالج قيمة الـ opcode المقابلة لها (بالنظام الست عشري) واللي حتكون: 0xB2h (طبعا في اكتر من قيمة للتعليمة MOV بيحددها نمط المعاملات اللي بتستخدمها) وبالتالي ان حولتها الى ثنائي حتكون: 10110010

طيب هي وصلنا للبتات الاكثر اهمية.. كيف بنوصل للبتات الاقل اهمية؟

البتات الاقل اهمية في مثالنا السابق هي قيمة متغيرة من نوع variable بيحددها عنوان يتم حفظها فيه وبالتالي للوصول اليها يتم استبدالها (يعني الـ x) بالعنوان المناسب عند التجميع واللي بيمثل الازاحة عن بداية مقطع البيانات الـ DS حسب توضع المعطيات (x) ويتم تحويل قيمة الازاحة للقيمة المقابلة بالثنائي.

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

تحياتي

Opcodes.zip

Do as I say, not as I do

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

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

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