نحن مع غزة
الـرئـيـسـيـة الـمـنـتـدى سـؤال & اجـابـة الـتـبـرع بـالـدم الاسـتـضـافـة هـلال لـيـنـكـس الـقـرآن الـكـريـم Dz-SeC team


التسجيل في المنتدى غير متاح حاليا, اذا كنت ترغب في الحصول على عضوية ارجو مراسلتي على البريد الالكتروني "[email protected]"


مطلوب مشرفين على كامل اقسام المنتدى


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

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

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

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

   

[ مـنـتـدي لـــغــات الـــبرمجـــه | Programming Language ] قسم مختص بالبرمجة التفسيرية مثل : PHP, java, perl, Python, Bash, Shell script, JPython, AutoIt, Z shell, AWK, VB Script

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 16/05/2010, 08:43   المشاركة رقم: 1
المعلومات
الكاتب:
 حواء الهاكر  
اللقب:
عضــــو جديــــد
الصورة الرمزية
 
الصورة الرمزية حواء الهاكر

البيانات
التسجيل : May 2010
العضوية : 146
الاهتمامات : الجزائر
الإقامة : المطالعة
المواضيع : 33
الردود : 67
المجموع : 100
بمعدل : 0.02 يوميا
الاختراقات : []
مجتمعنا : []
الصنف : Not Hacker
آخر تواجد : 20/02/2011/16:08
سبب الغياب :
معدل التقييم: 17
نقاط التقييم: 10
حواء الهاكر is on a distinguished road
شكراً: 0
تم شكره 11 مرة في 11 مشاركة



الإتصالات
الحالة:
حواء الهاكر غير متواجد حالياً
وسائل الإتصال:

افتراضي لغة الأسمبلي



مدخل عام إلى لغة التجميع:
معالج أي حاسب لا يفهم أية لغة، لا الباسكال'Pascal' ولا السي'C' ولا الجافا'Java'، ولا حتى التجميع في حد ذاته، إنما يفهم شيئا واحدا، هو لغة الآلة. إنها قائمة من ثمانية أعداد تسمى البتات bits، وتكون مقدمة في النظام الست عشري، على شاكلة "B0h 12h". ومنه يمكننا القول أن التجميع هو إصدار يتوافق مع فهم البشر للغة الآلة.

المثال السابق يعطينا "mov al, 12h"، ومعناها نسخ القيمة 12h في السجل AL. ستفهم معنى ذلك بعد قراءتك لهذه السلسلة إن شاء الله!

كما يمكنك ملاحظته، إنها اللغة البرمجية الأكثر قربا إلى المعالج (إلا في حالة قدرتك على البرمجة بلغة الآلة نفسها).

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

ثانيا، يمكنك الوصول إلى مقاطعات الدوس (interruptions)، والتي تسمح بالوصول المباشر إلى العتاد، كالفأرة أو الشاشة أو حتى بطاقة الفيديو. لأن المترجم (compiler) لا يعمل إلا على ترجمة البرنامج المكتوب بلغة يفهمها الإنسان إلى لغة التجميع، وهذه العملية يمكن القيام بها يدويا بعد تدريب طويل في هذا الميدان. كما يتيح لنا التجميع إمكانية معرفة ما يتوفر عليه ملفنا الثنائي (ملف تنفيذي .exe أو .com في بيئة مايكروسفت).

بعض المتمرسين في البرمجة وخاصة القراصنة، لا يستخدمون إلا التجميع في برامجهم، والسبب هو إنجاز برامج سريعة وصغيرة، وفي نفس الوقت تحقيق مرادهم من خلال قرصنة البرامج أو ببرمجة ما يرفضه المترجم كالفيروسات'Virus'.

المختصون في البرمجة لا ينصحون أبدا بأن يقوم المبرمج بإنجاز برنامجه 100% بلغة التجميع، لأن الكود سيفقد مرونته وتكثر أخطاءه، مما يفقد السيطرة على برنامج يتكون من آلاف الأسطر، على اعتبار أن كل تعليمة تقع في سطر واحد. وإنما ينصح باستخدام التجميع لتحسين أداء بعض الدوال أو الإجراءات في لغة البرمجة التي تعتمدها (السي'C'، الباسكال'Pascal' ...)، والتي تحتاج لسرعة قصوى، سواء لدوال تطلب لمرات عديدة، أو تلك المسؤولة عن القيام بوظائف معينة، كرسم خط، أو نسخ قطاع كامل من الذاكرة...الخ.



معجم التجميع:
المصرف: هو برنامج يقوم بتحويل كود مصدري (ملف نصي، أما للتجميع، فالملف يكون ذو توسع .asm) إلى كود الآلة، يعني إنشاء ملف ثنائي (ملف ذو توسع -امتداد- .obj أو .exe أو .com).

الست عشري (Hexadecimal): في نظام العد المتداول بين الناس، نستعمل الأرقام العربية، والمحصورة بين 0 والـ 9، إذن ما مجموعه 10 أرقام، والرقم الأكبر هو 9 (10-1). نقول إذن عن هذا النظام أنه نظام عشري decimal. فالعدد 451 يمكننا تفكيكه على شكل:

( 4×100) + (5×10) + (1×1)= 4×10 2 + 5×10 1 + 1×10 0.

النظام الست عشري'
Hexadecimal' ينتهي عند 16، والسبب الذي دفع إلى ذلك هو تمثيل النظام الثنائي بأقل عدد ممكن من الأرقام. فكما نعلم جميعا، فالنظام الثنائي يتكون من رقمين فقط، وهما الـ 0 والـ 1، ولتكوين أي رقم آخر، فإننا نكتب متوالية من الأصفار والوحدات على شاكلة 01101001 وهذا الرقم يمثل 105 في نظام عدنا الذي نستعمله يوميا، ولكن لتمثيل أعداد كبيرة نحتاج إلى أصفار ووحدات كثيرة، مما يسبب العديد من الأخطاء ويضيع الوقت، ويعقد الفهم، لهذا جاء دور النظام الست عشري ليحل الإشكال، ويعوض كل أربعة أرقام ثنائية برقم ست عشري واحد.



النظام الست عشري يبدأ من الـ 0 وينتهي عند الـ 15، ولكن الأرقام الستة الأخيرة (من 10 إلى 15) تتكون من وحدتين، وهذا ما سيخلط الأمور، لهذا تم تعويضها بحروف،

ملاحظة: يشار للرقم في النظام الست عشري بعدة رموز:

ففي لغة السي'C' نشير إلى الرقم بالسابقة 0x، أما في لغة الباسكال'Pascal'، فيسبق الرقم رمز الدولار، وفي لغة التجميع يشار إلى الرقم أنه ست عشري من خلال اللاحقة h

Ox14 في لغة السي = $14 في لغة الباسكال = 14h في لغة التجميع.

ملاحظة: لغويا، العدد هو الكتابة الحرفية للرقم، والرقم هو الكتابة الرمزية للعدد.

البايت (Byte): البايت هو متوالية من ثمانية بتات (8 bits)، فإذا كان البايت مرمّزا (signed) فإنه يمكنه أخذ قيمة محصورة بين –128 و +127 (128= 2 8-1 = 2 7 ، و127= 2 (8-1)-1)، إذن تحتل القيم المحصورة 7 بتات فقط، والبت الأخير يستخدم للإشارة (السلب أو الإيجاب)، إما إذا كان البايت غير مرمّز فإنه بإمكانه أخذ قيمة محصورة بين 0 و 255، أي 256 حالة = (2^8).

الكلمة (Word): بما أن البايت يشغل 8 بتات، فإن الكلمة تشغل 16 بتا، وبالتالي يمكن القول أن الكلمة تحوي 2 بايت.

إذا كانت الكلمة مرمزة، فإنها قادرة على احتواء قيمة محصورة بين –32768 أي (2 15)، و 32767 أي (2 15 - 1)، أما إذا كانت غير مرمزة، فالقيمة المحتواة تكون محصورة بين 0 و65535 (2 16 -1).

الكلمة المضاعفة (Double Word أو DWord): وتشغل الكلمة من هذا النوع قيم ذات 4 بايت. إذن إذا كانت مرمزة، فإنها تكون بين –2147483648 أي (2 31)، و +2147483647 (2 31 –1)، أما إذا كانت غير مرمزة، فبإمكانها حصر قيمة تتراوح بين 0 و 4294967295.

السجل (Register): هو فراغ ذاكري موجود بصفة فيزيائية في قلب المعالج (Processor)، والذي تحفظ فيه القيم أثناء معالجتها. في البداية كانت السجلات تعمل على ثمانية بتات (بايت واحد)، وكانت تسمى آنذاك ?L (حيث يمكن للرمز " ?" أن يكون A أو B أو C أو D)، ثم تطورت السجلات إلى 16 بت (كلمة)، وصارت مسماة بـ ?X، الشيء العجيب في هذا، هو أننا لو قمنا بتغيير قيمة ?L فإننا نكون بذلك قد غيرنا الجزء المنخفض من السجل ?X. بمعنى آخر، ?X مكون من بايت ومن ?L (ويقال أيضا من جزء مرتفع وجزء منخفض). ثم بعد وصول معالجات 386، تم الانتقال إلى سجلات 32 بت، وصارت بالتالي تسمى بـ E ?X، وهنا إذا ما قمنا بتغيير قيمة ?L أو ?X فإننا نكون بذلك قد قمنا بتغيير الجزء E ?X.




السجلات القاعدية هي السجلات AX، BX، CX و DX، وهي سجلات ذات 16 بت (= 2 بايت)، وأجزاءها المنخفضة (Low) هي AL، BL، CL و DL أما أجزاءها المرتفعة (High) فهي AH، BH، CH و DH.

إذا كان AX معدوما (null)، فهذا يعني أن AL =0 و AH =0 أيضا. وإذا ما قمنا بغيير قيمة AX فإننا نغير قيمتي AH و AL معا، أما لو قمنا بتغيير قيمة AL فهذا يعني أن قيمة AX تغيرت أما قيمة AH فمازالت كما هي. (الرسم السابق يوضح الصورة أكثر).

لنلاحظ هذا المثال:


ah = 10
=> ax = al + ah*256 = 15 + 10*256 = 2575

لمزيد من التفاصيل راجع قائمة السجلات في الدروس التالية.

القطاع والفرع (Segment & Offset): العناوين الذاكرية (مواقع البايتات على صفائح الذاكرة) معرفة بسجّلين، القطاع (الجزء المرتفع من العنوان)، وبالفرع (الجزء المنخفض من العنوان). نشير أن العنوان يحدد بـ [Segment :[Offset (حيث أن النقطتين ":" هما الفاصل، في حين يعتبر المجالان "]" و "[" غير إجباريين). مثال: [DS :[DI

مع وصول الـ 386، تطورت الفروع إلى 32 بت، من أجل الوصول إلى أقصى الذاكرة (16 ميغا بايت)، وظهرت بذلك الفروع بالسابقة E، مثل (ESI, EDI, ESP, EBP)، هذا بالنسبة لسجلات 32 بت، ونفس الشيء كان مع سجلات 16 بت، حيث كانت الفروع SI, DI, SP, SB. لمزيد من التفاصيل، راجع قائمة السجلات في الدروس القادمة.

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

بعض المقاطعات يتم طلبها بوثيرة ثابتة: المقاطعة 1Ch مثلا والتي هي عدّاد يزيد في القيمة 18.6 مرة/ثانية (أي يضيف 1 للقيمة المعنية). البعض الآخر يتم طلبه فقط في حالة ما إذا أردناها: المقاطعة 09h الخاصة بلوحة المفاتيح، يتم طلبها في كل مرة يقوم المستخدم بالضغط على زر ما أو عند تحريره.

المكدس (Stack): في المكدس نقوم بإضافة القيم بفضل التعليمة PUSH، ونقوم بحذفها من خلال التعليمة POP. في قمّة المكدس نجد قيمة السجلE]BP]. ويمكننا بذلك معرفة ما هو موجود في الطابق X من خلال التعليمة "[mov AX, [Bp-4"، ولكن ليس لحذف هذه القيمة، لأننا لو قمنا بحذف قيمة من وسط المكدس، فإن هذه الأخيرة تتقهقر، وهذا ما يؤدي إلى توقف الحاسب عن العمل.

الراية (Flag): الرايات هي بتات موجودة بداخل المعالج.


01101001 = 1001 و 0110 = 9 و 6 = 69 في النظام الست عشري. al = 15



آخر مواضيع » حواء الهاكر


التعديل الأخير تم بواسطة illuminat ; 18/01/2011 الساعة 19:38 سبب آخر: تعديل الأسماء التقنية.
عرض البوم صور حواء الهاكر   رد مع اقتباس
قديم 29/07/2010, 16:04   المشاركة رقم: 2
المعلومات
الكاتب:
  MdMn HaCk3r  
اللقب:
.: المدير السابق للمنتدى :.

الإتصالات
الحالة:
MdMn HaCk3r غير متواجد حالياً
وسائل الإتصال:

****ً جزيلاً

عرض البوم صور MdMn HaCk3r   رد مع اقتباس
قديم 17/08/2010, 08:51   المشاركة رقم: 3
المعلومات
الكاتب:
 حواء الهاكر  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
حواء الهاكر غير متواجد حالياً
وسائل الإتصال:

**** على المرور الطيب

عرض البوم صور حواء الهاكر   رد مع اقتباس
قديم 13/09/2010, 14:33   المشاركة رقم: 4
المعلومات
الكاتب:
 FAI  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
FAI غير متواجد حالياً
وسائل الإتصال:

merci bcp .....

عرض البوم صور FAI   رد مع اقتباس
قديم 16/11/2010, 08:38   المشاركة رقم: 5
المعلومات
الكاتب:
 حواء الهاكر  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
حواء الهاكر غير متواجد حالياً
وسائل الإتصال:

شرفني مرورك الطيب

عرض البوم صور حواء الهاكر   رد مع اقتباس
قديم 16/11/2010, 19:17   المشاركة رقم: 6
المعلومات
الكاتب:
 ApOcalYpse  
اللقب:

الإتصالات
الحالة:
ApOcalYpse غير متواجد حالياً
وسائل الإتصال:

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

عرض البوم صور ApOcalYpse   رد مع اقتباس
قديم 17/11/2010, 08:26   المشاركة رقم: 7
المعلومات
الكاتب:
 حواء الهاكر  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
حواء الهاكر غير متواجد حالياً
وسائل الإتصال:

شرفني مرورك الطيب اخي
و****لك

عرض البوم صور حواء الهاكر   رد مع اقتباس
قديم 15/12/2010, 22:21   المشاركة رقم: 8
المعلومات
الكاتب:
 X-P  
اللقب:
.: مراقب عام :.

الإتصالات
الحالة:
X-P غير متواجد حالياً
وسائل الإتصال:

بارك الله فيك واصل

عرض البوم صور X-P   رد مع اقتباس
قديم 08/01/2011, 10:20   المشاركة رقم: 9
المعلومات
الكاتب:
 حواء الهاكر  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
حواء الهاكر غير متواجد حالياً
وسائل الإتصال:

شرفني مرورك الطيب اخي

عرض البوم صور حواء الهاكر   رد مع اقتباس
قديم 16/01/2011, 18:18   المشاركة رقم: 10
المعلومات
الكاتب:
 ALGHeArT  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
ALGHeArT غير متواجد حالياً
وسائل الإتصال:

مشكور على الموضوع بارك الله فيك أخي

عرض البوم صور ALGHeArT   رد مع اقتباس
قديم 18/01/2011, 09:53   المشاركة رقم: 11
المعلومات
الكاتب:
 حواء الهاكر  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
حواء الهاكر غير متواجد حالياً
وسائل الإتصال:

شرفني مرورك الطيب اخي

عرض البوم صور حواء الهاكر   رد مع اقتباس
قديم 18/01/2011, 19:27   المشاركة رقم: 12
المعلومات
الكاتب:
  illuminat  
اللقب:
عضو مميز

الإتصالات
الحالة:
illuminat غير متواجد حالياً
وسائل الإتصال:

مشكورة أختي, أحسن محتوى قريتو بالعربية. والمهم أنو يشمل الكتير من قاعدة ال Assembleur .

و قيل من يتمكن من ال Assembleur بإمكانه التمكن على أي لغة أخرى للبرمجة.

وهدا ما سأفعله السيطرة على البرمجة بال Assembleur.

تقبلي مروري

عرض البوم صور illuminat   رد مع اقتباس
قديم 19/01/2011, 09:27   المشاركة رقم: 13
المعلومات
الكاتب:
 حواء الهاكر  
اللقب:
عضــــو جديــــد

الإتصالات
الحالة:
حواء الهاكر غير متواجد حالياً
وسائل الإتصال:

شرفني مرورك الطيب اخي

عرض البوم صور حواء الهاكر   رد مع اقتباس
قديم 02/10/2011, 23:34   المشاركة رقم: 14
المعلومات
الكاتب:
 S4wDz  
اللقب:
[{ عضو مميز }]

الإتصالات
الحالة:
S4wDz غير متواجد حالياً
وسائل الإتصال:

يعطيك الصحة

عرض البوم صور S4wDz   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


حالياً الأعضاء النشيطين الذين يشاهدون هذا الموضوع : 1 (0 عضو و 1 ضيف)
 

(أظهر الكل الأعضاء الذين قاموا بمشاهدة هذا الموضوع : 46
adelmessa , Aghilas-06 , ALGHeArT , ALOORD-XD , AnGeL25dZ , Anis Gladiator , ApOcalYpse , boubeDZ , Cmtr-Dz , الصقر الحر 1 , Devil-_-H@CKER , Dz_V!rUs , eXc3lLenCe , ExPLo!T_Dz , FAI , fo_007_fo , GhOsT SkIkDa , ghost-dz , hack2411dz , hacker dz , hamza dz , hellboy , Hidden Pain , Igor000rogI , illuminat , حواء الهاكر , kerneleisa , khalil19000 , luop1980 , m0az , Mafia Boy , MdMn HaCk3r , mosta_spu , Mr_nD9 , سني هكر , S4wDz , sad4lak , Smail002 , Sploit-Dzx , T-xor , tead , vigital , VuRiS_Dz , WOLF_DZ , X-P , yasMouh

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

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

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

الساعة معتمدة بتوقيت جرينتش +1 . الساعة الآن : 05:31.
Copy Right Des 2010 - 2014 To is|sec Organization, Des By  yasMouh 
Powered By vBulletin Special Edition, Secured By Dz-SeC team
Support by Dz-SeC team




RSS RSS 2.0 XML MAP HTML



 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115