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

assembly under focus

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

بسم الله الرحمن الرحيم

من المهم ان نعرف انه هذه الغة هي من لغات المثوى الوطئ او (LLL)

LOW LEVEL LANGUAGE

المعالجات

او يمكن ان تسمى ال

processer

تحتوي على قسمين اساسين هما

1-biu(bus interface unit)

2-EU (EXUTION UNIT )

1- اي من الممكن ان الوحدة الاول هي الوحدة الموسلة عن جلب المعلومات

2- الوحدة الثانية هي الوحدة المسئولة عن تنفيذ الايعازات

اهم ايعازات الاسمبلي

1-NC N0 CARRY لايوجد محمل خارجي

2-CY CARRY YES يوجد محمل خارجي

3-PO PARATY ODD عدد الوحدات فردي

4-PE PARATY EVEN عدد الوحدات زرجي

5-NA NO AXULARY لايوجد محمل من البث الثالث الى البت الرابع اثناء عملية الجمع

6-AC AUXLARY CARRY يوجد محمل خارجي كما شرحنا اعلاه

7-NZ NO ZERO لايوجد صفر

8-ZR ZERO يوجد صفر

9-PL POSTIVE اشارة البت الاخير هو الاشارة الموجبة وهذه العملية تكون عندما يكون مقدار البت الاخير هو 0

10-NG NEGATIVE وذا يكون مقدار البت الاخير هو سالب وهذه العملية تكون اذا مقدار البت الاخير هو 1

11-NV NO OVER FLOW

هذه اهو الايعازات او من المكن ان تقولون انها المافاتيح التي بواسطتها من المكن الدخول الي عالم الاسمبلي العملاق

كما ذكرنا انا المعالج يتكون من جزئين هما

1-biu(bus interface unit)

2-EU (EXUTION UNIT )

و لكن هذين الجزئين بدورهما من اي شي يتكونوحتى اكون واضح اكثر شو هي الاجزاء الداخلية المكونة لهذه الاجزاء

اوكي خنا نشوف انه ال

BIU BUS INTERFACE UNIT

من اربعة اجزاء الا و هي

1-INSTRUCTION UNIT

2-AN ADDER

3- A CONTORL UNIT

4- A REGITER ARRAY وهذه بدورها تتكون من

SEGAMENT ARRY

INSTRUCTION POINTER (IP)

و لكن تجدر الااشرة الى انه الى ان ال ADDER

او ما يعرف باسم الجامع

يقوم بعمل

CONVERT THE (LOGICAL ADDERSSES) TO (PHYSICAL ADDERRSESE)

و هذا الجاكع ليش له القدرة على القايم بالعمليات الحسابية و المنطقية كما هو الحال في ALU

ARATHMATIC AND LOGIC UNIT

اما الان فما هو التشريح الداخلي ل

2-EU EXUTION UNIT وحدة التنفيذ

1-THE ARRAY OF GENERAL REGISTER

2- THE MAIN ALU

3- A FLAG REGISTER

4-A CONTROL UNIT

لكن مما تجدر الااشرة اليه هو ان تقسيم معالجات ال EU هو معقد و متطور اكثر من قرينتها

BIU

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

سواء كان منا اي اقصد كان هكر او لا

فانه قد يراود ذهنه لماذ الهارد ديسك

مقسم بهذه الطريقة

يعني ليش مكوةن من

1- بت

2- بايت

3- كيلو بايت

4- ميكا

5- كيكا

6- حديثا تيرا بايت و هي الف ميكا

يعني ليش ما كان الهارد ديسك عبارة عن وحدة متكاملة و غير نقسمة الى هذه الاجزاء الصغيرة و المجهرية

اذن اقله الجواب في هذه اللغة

من خلال هذه النقطيتين

1- الفائدة من كون لدينا مقاطع منفصل للذاكرة

هو انه البرنامج الواحد من الممكن ان يتعامل مع اكثر نوع من البيانات ولكن هذا يحدث من خلال شرط واحد

BY RELOADING THE RIEGSTER ((DS))

2- لكن من المكمن ان تكون الفائدة اكبر و الاعظم

هي من خلال هذا انه البرنامج عندما يخزن في الذاكرة فان هذا الخزن يعتمد على (LOGICAL ADDREESSES))

ولا يعتمد على ال

((PHYSICAL ADDRESSES))

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

((0000-FFFF))

وهو من الوضح مدى عملاق و كبير جدا

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

هو انه الملعومات شلون تجي الذاكرة و شلون بعد تتنفذ يعني شلون تتم هذه العملية انا اقول لكم انه هذه العملية انه تتم من خلا خمس نقاط الا وهي

1- THE BIU OUTPUTS THE CONTENTS OF THE (IP)

ON TO THE ADDRRES BUS AND THIS OPERTION CAUSINF THE WORD OR BYTE 2B SELECTED

ترجمه هذه العبارة

1- تقوم وحدة الBIU باخراج محتويات الملف ال IP و كما ذكرنا انه ال IP هو INSTURTION POINTER

على انه اساس فيزيائي

مسببا دورة جلب الايعازات

2-THE REGISTER IP IS INCREASED BY ONE 2 PREPARE 4 THE NEXT FETCH OPERATION

ترجمه هذه العبارة

2-ان السجل iP يزداد مقدار واحد من اجل التهيئ من اجل عملية جلب الايعازات التالية

3-ONCE THE INSIDE THE BIU THE INSTRUCTIOMIS PASSED THE {{{QUEU}}}

THIS IS {{FIFO}} WHICH IS MEAN FIRST IN FIRST OUT

THIS KIND OF THE STORAGE DATA IS CALLED

LIKENED PIPE LINE

ترجمة هذه العبارة

3- حاملا تدخل المعلومات او البيانات داخل و حدة ال BIU

تدخل هذه الملعومات بعد دخولها الى وحدة ال BIU الى مكان يدعى IQ و هذا مختصر ال INSTRUCTION Q

و هذه العملية تعمل على وفق مبدا

FIFO اي ان اول مقدار يدخل الى BIU

هو اول مقدار يخرج منها

4-ASSUMING THAT THE QUEUE IS INTIALY EMPTY THE EU AT ONCE DRAW THE INSTRUCTION

FROM THE Q AND BEGIN THE EXUCTION

ترجمة هذه العبارة

على فرض ان وحدة طابور على انه فارغ تماما فان وحدة التنفيذ المعروفة باسم ال - 4

EU

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

5-WHILE THE EU EXCUTE THE INSTRUCTION THE BIU PROCEED TO FETCH A NEW INSTUCTION DEPENDING ON THE EXUCTION TIME OF THE

FIRST INSTUCTION THE BIU MAY FILL THE Q WITH SEVERAL NEW INSTRUCTION

BEFORE THE EU IS READY TO DRAW IT`S NEXT INSTURCTION

ترجمة هذه العبارة

5- عندما تقوم و حدة التنفيذ بتنفيذ المعلومات تقوم و حدة ال BIU بالتقدم من اجل جلب معلومات جديد لو كن هذه العملية

تعتمد على و قت تنفيذ الايعاز رقم واحد

و لكن من الممكن ان تقوم و حدة ال BIU

بملأ الطابور بالايعازات الجديدة و لكن هذه الايعازات تكون في حالة STAND BY

اي انها لا تنفذ حامل اتدخل الطابور

****************************************

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

يعني اقص انها تمر في وقت ما تنفذ الاياعزات المطلوبة منها

مهما كانت نوع الايعازات و مهما كانت البيئة التي تنفذ الايعازات بموجبها اي بيئة ويندوز الفاشل او لينكس تمر اوقات الحاسبة بيها ما تعمل نهائيا

الجواب يكمن في اربعة حالات

ولكن انا اتمنى من كل من يقرا الموضوع ان يلاحظ ان هذه الحالات هي الحالات التي تكون الوحدات كل من

EU AND BIU هي المسئولة

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

يلا نبدي هذه الحالات هي

1- ONCE WE TRUN THE PC ON

COZ THE INSTURCTION Q WELL BE EMPTY SO THE EU WELL BE IN STAND BY MODE

WAITING FOR THE EU TO GET THE INSTRUCTION FROM THE BIU

ترجمة هذه العبارة

1- حالما يتم تشغيل الحاسبة لان طابور الايعازات يكون فارغ ل1ا يدخل في حالة انتظار و ينتظر و حدة BIU

من اجل ا ن تجلب الايعاز الاول

2- THE SECOND CONDITION BY WHICH THE EU WELL BE IN STAND BY IS WHEN THE INSTRUCTION AN SAVED DATA AND THESE DATA

NEVER ENTER THE IQ BEFORE BUT ONKY IT`S ADDREDD ARE IN THE EU SO THE EU

SEND AN CODE 2 THE BIU 2 READ THESES DATA SO AFTER THE DATA

READING SO THE EU UNIT KEEP ON EXCUTING THE CURRENT DATA AND ALSO THE BIU KEEP ON FETCHING THE NEW INSTRUCTION

ترجمة هذه العبارة

2-تدخل و حدة ال EU في حالة انتظار وهذه الحالة تتم عندما يدخل ايعاز و هذا الايعاز لم يكن قد دخل الى وحدة التنفيذ من قبل و لكن عنوانه فقط موجود لذا تقوم و حدة التنفيذ

تقوم باخبار الBIU بهذا الامر كمن اجل ان توقم هذه الوحدة بعملية قرأة البيانات من العنوان المحدد في الايعاز

وبعد قرأة الايعاز تقوم الوحدة

باكمال تنفيذ الايعاز الحالي و كذلك تقوم الوحدة ال BIU بجلب الايعازات الجديدة

3- THE OTHER WAY BY WHICH THE BIU IN STANE BY MODE IS THIS UNIT WELL DELAY THE

THE INSTRUCTION FETCHING WHEN A LOND CODE ENTER WHICH LIKE THE

COZ THIS IS NEED ABOUT

83 PLUSE 2B EXUTED WHILW THE IQ IS FULL BY 12 PLUSE SO BY THIS WAYU CAN FIND THE DIFFERNT

ترجمة هذه العبارة

3- هون في الحالة ما تكون وحدة ال EU في حالة الانتظار بل على العكس تكون وحدة ال BIU في حالة الانتظار و كما لاحظنا ان هذه الحالة تكون عندما

يتم تنفيذ ايعاز كبير و طويل مثل ايعاز

((AAM)) ((ASSCI ADJUST AFTER MULTIPLICATION))

لان هذا الايعاز يحتاج الى حوالي

83 نبضة من اجل ان يتم تنفيذة بينما

ال IQ يكون ممتلأ عندما يصل الحجم فيه الى حوالي ال 12 نبضة

لذا سوف تقوم وحدة ال BIU بتاجيل جلب الايعازات

لحين اكمال تنفيذ هذا الايعاز

4- THIS CONDITION MAKE THE EU

AGIAN ENTER INTO THE STAND BY MODE BUT IN THIS CASE THE STAND BY MODE HAPPEND WHEN THE

EU EXUTE A SPECIAL CODE AND THIS CODE IS

---][JMP][---

COZ THIS CODE WHEN ENTER THE EU

IT`S WELL BE MOVE A RANDOM MOVE AND JUMP 2 A DIFFRIENT SO ALL THE INSTRUCTION

WHICH ENTER THE IQ WELL

SO WRONG SO THE BIU WELL WITHDRAW THE ALL INFORMATION WHICH THIS OPREATION MAKE THE EU ENTER INTO STAND BY MODE

ترجمة هذه العبارة

4- هذه الحالة تجعل حالة ال EU تدخل في حالة الانتظار و لكن هذه الحالة مختلفة تتم هذه الحالة عندما يتم تنفيذ ايعاز مختلف الا و هو

ايعاز ال JMP

حيث انه حامل ا يدخل الى ال IQ

سوف يتنقل الى مواقع مختلفة في الذاكرة

مما يجعل كل المعلومات التي تدخل ال IQ انها ايعازات خاطئة لذا سوف تقوم وحدة ال BIU بتفريغ حالة ال IQ مما يجعل وحدة ال EU ان تدخل في حالة الانتظا ر

و هكذا انتهت هذه الشروط الاربعة

و لكن عندى ملاحظة مهمة على هذه النقاط الاربعة انه و حدة ال BIU تدخل مرة و احدة في حالة الانتاظر بينما و حدة التنفيذ تدخل 3 مرات في حالات انتظار و ارجو من الجميع ان يتم الانتباه الى هذه النقاط

#2

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

« Everything looks different from another cracker point of view »

« There are 11 types of people, those who understand binary, those who don't, well I'm the rest »

« ?Do you speak Binary »

me W4R3ZD00D/

#3

هل هذا النص مترجم باستخدام برامج الترجمة؟ لان اسلوب الكتابة غريب.

عموما بغض النظر عما اذا كنت قد ترجمته باستخدام برنامج ام لا ، شكرا لك على هذه الاضافات.

#4
اقتباس
هل هذا النص مترجم باستخدام برامج الترجمة؟ لان اسلوب الكتابة غريب.

عموما بغض النظر عما اذا كنت قد ترجمته باستخدام برنامج ام لا ، شكرا لك على هذه الاضافات.

لا allko هذا النص مو مترجم هذا النص الي اعملته بنفسي و انا ما عندي موضوع من المواضيع مترجمها

واتمنى انك لو تقرا الموضوع بشكل زين راح تعرف انه هذا الموضوع مو مترجم

تحياتي

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

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

واسلوب طرح الايعازات

سلاااام

#5

ما دفع allko باعتقادي الى ذكر هذا مثل هذه العبارة

اقتباس
من المهم ان نعرف انه هذه الغة هي من لغات المثوى الوطئ او (LLL)

المثوى الوطئ؟ اعذرني لكني لم اسمع بحياتي مثل هذا المصطلح، ان اردت ان تقوم بكتابة شئ ما يجب ان تراعي المصطلحات القياسية المستخدمة.

الكل يقول LLL هي "لغات منخفضة المستوى"، كي لا يحدث سوء فهم بمعنى "منخفضة المستوى" التزم بـ Low Level Language وقدم شرح لو اردت ذكر المصطلح عن معنى منخفضة المستوى.

فيما يخص نقطة التقديم، حاول ان يكون الشرح واضحاـ استخدم بعض الالوان ولا تكثر منها، الازرق الداكن مثلا للعناوين، الخط المائل للمصطلحات، افصل بين الافكار الرئيسية، عندما قرات التالي اول مرة

اقتباس
LOW LEVEL LANGUAGE

المعالجات

او يمكن ان تسمى ال

processer

تحتوي على قسمين اساسين هما

اعتقدت انك تقول بان LLL والاسمبلي هي نفسها المعالجات وتسمى ايضا processor!!!

فيما يخص هذا السطر:

اقتباس
هذه اهو الايعازات او من المكن ان تقولون انها المافاتيح التي بواسطتها من المكن الدخول الي عالم الاسمبلي العملاق

نعم مسألة الاشارات او كما اسميتها الايعازات الموجودة في الاعلام "الرايات :P" او Flags مهمة، لكن ان تكون هي المفاتيح حاشى وكلا! المفتاح هو فهم تركيب الحاسب وتخاطب الاجهزة الملحقة، هذه هي الاساسيات التي لا يمكن البدء بالاسمبلي بدونها، اما مسالة قيم الاعلام فهي تدخل مع بقية حالات النقل الشرطي conditional jump كما ويمكن وصفها مع بقية المسجلات.

الان فيما يخص بقية الموضوع، كلمة واحدة، اشرح اكثر عن IP مثلا لو اردت التكلم عنه، لا يمكنك فقط ذكر انه الـ Instruction Pointer وانه يدل الى التعليمة الحالية ويخبر المعالج او الـ fetch queue بما يجب ان يقوم بجلبه بعد التعليمة الحالية...

وبالتوفيق

تم تعديل هذه المشاركة بواسطة Xacker في 29 مايو 2006 في 11:09

« Everything looks different from another cracker point of view »

« There are 11 types of people, those who understand binary, those who don't, well I'm the rest »

« ?Do you speak Binary »

me W4R3ZD00D/

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

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