هذا هو readme منظم لتجميع x86 ، هو مكتوب في أسهل لغة ممكنة مع أمثلة في العالم الحقيقي. ؟
| نوع Intel | أجزاء | اسم |
|---|---|---|
| - | 8 بت | بايت |
| 8086 | 16 بت | كلمة |
| I386 | 32 بت | DWORD |
| x86 | 64 بت | Qword |
dword = dword = (كلمة مزدوجة)
qword = qword = (كلمة رباعية)
على 32 بت CPUS CPUS كلمة 32 بت.


(نص أقدم من جامعة فرجينيا لعلوم الكمبيوتر (2006) ، أحد أفضل الأدلة لتجميع X86)
الحديثة (أي 3 86 وما بعدها) × 86 معالجات لديها ثمانية سجلات للأغراض العامة 32 بت ، كما هو موضح في الشكل 1. أسماء السجلات هي في الغالب تاريخية . على سبيل المثال ، اعتاد EAX أن يطلق عليه المتراكم لأنه تم استخدامه من قبل عدد من العمليات الحسابية ، وكان معروفًا بـ ECX باسم العداد لأنه تم استخدامه لعقد مؤشر حلقة. في حين أن معظم السجلات فقدت أغراضها الخاصة في مجموعة التعليمات الحديثة ، حسب الاتفاقية ، يتم تخصيص اثنين لأغراض خاصة - مؤشر المكدس (ESP) ومؤشر القاعدة (EBP).
بالنسبة لسجلات EAX و EBX و ECX و EDX ، يمكن استخدام الأقسام الفرعية. على سبيل المثال ، يمكن التعامل مع أقل 2 بايت من EAX كسجل 16 بت يسمى AX . يمكن استخدام البايت الأقل أهمية من الفأس كسجل واحد 8 بت يسمى AL ، في حين يمكن استخدام البايت الأكثر أهمية من الفأس كسجل واحد 8 بت يسمى AH . هذه الأسماء تشير إلى نفس السجل المادي. عندما يتم وضع كمية ثنائية البايت في DX ، يؤثر التحديث على قيمة DH و DL و EDX . هذه المسجلين الفرعيين هي أساسا من الإصدارات الأقدم ، 16 بت من مجموعة التعليمات. ومع ذلك ، فهي مريحة في بعض الأحيان عند التعامل مع البيانات التي تكون أصغر من 32 بت (مثل أحرف ASCII 1 بايت) .
عند الإشارة إلى السجلات في لغة التجميع ، فإن الأسماء ليست حساسة للحالة . على سبيل المثال ، تشير أسماء EAX و EAX إلى نفس السجل .


في سجلات X86 لها " E " أمام اسمها.
مثال: E AX ، E BX ، E CX ، E DX ، E BP
معلومات إضافية:
في X64 لديك " R " بدلاً من ذلك.
مثال: R AX ، R BX ، R CX ، R DX ، R BP
لديك أيضًا نقطة عائمة مزدوجة الانتقال من XMM0 إلى XMM15 .

مجموعة الغش الكاملة X86 ، 20 صفحة.

