الفرق بين المراجعتين لصفحة: «أسمبلي/قائمة بأوامر أسمبلي لتصميم x86»

تم حذف المحتوى تمت إضافة المحتوى
ط روبوت: تغييرات تجميلية
سطر 1:
إن أجهزة الحاسوب المبنية بتصميم x8 6 فيها ثمانية خانات تخزين (Register) للإستخدام العام من قبل البرامج، 6 خانات تخزين لعناوين مناطق في الذاكرة ، وخانة تخزين واحدة للمعلومات (قيم تحمل إما 0 أو 1). وكذلك مؤشر للأوامر واحد.
 
== خانات الإستخدام العام ==
{|
|-
|
خانات الإستخدام العام الثمانية هي :
# EAX :Accumulator ، أي المجمع أو المراكم
# EDX:Data Register، يستخدم في عمليات الحساب وعمليات الإدخال والإخراج
# ECX:Counter Register، يستخدم كعداد
# EBX: Base Register يستخدم للتأشير على البيانات(الموجودة في الDS عند الإستخدام بتهيئة المناطق.)
# ESP:Stack Pointer، مؤشر المكدّس
# EBP:Stack Base Pointer، مؤشر قاعدة المكدّس
# ESI:Source Register، مؤشر يستخدم للإشارة إلى "المصدر" في بعض العمليات.
# EDI:Destination Register، يستخدم للإشارة إلى "الوجهة" في بعض العمليات.
|[[صورةملف:EAX Rgister.png|left|210px|خانة EAX وأقسامها]]
|}
كل من خانات التخزين هذه تتكون من 32 بت ، وتسمى بالممتدة (Extended)، وبذلك تحمل حرف E قبلها، وذلك بناء على ان التصميم السابق كان يحمل 16 بت ، وكانت خانات التخزين فيه تحمل ذات الأسماء ولكن بدون حرف E، ولا زالت تلك يمكن إستخدامها ، وتمثل النصف الدوني (أول 16 بت من ال32 بت الممكن إستخدامها) ، وتسمى AX, DX, CX, BX, SP, BP, SI, DI.
 
وكذلك ، فإن البتتات الثمانية العليا للنصف الدوني للخانات EAX, EDX, ECX, EBX ، والبتتات الثمانية الدنيا للنصف الدوني يمكن الوصول إليها بإسم AH, DH, CH, BH و AL, DL, CL, BL بالترتيب.
<p>
خانة التخزين اللتي تسع 8 بتات مثل AL,AH,DL,CL لها قدرة تخزينية تستوعب 8 بتات أي ما يعادل بايت واحد فقط أي أنك تستطيع ادخال رقم ستة عشري يبدأ من 0 وحتى 0FFH. (لاحظ أنه كل عددين ستاعشريين يعادل 1 بايت).<br />
خانة التخزين اللتي تتسع 16 بت مثل AX , BX , CX لها قدرة استيعابية بما يعادل 2 بايت يبدأ من 0 وحتى 0FFFFH.<br />
خانة التخزين الموسعه (32 بت) مثل EAX , EBX , ECX تستوعب حتى 4 بايت يبدأ من 0 وحتى 0FFFFFFFFH.<br />
 
== خانات عناوين المناطق ==
 
هناك 6 خانات لعناوين المناطق هي:
سطر 37:
معظم البرامج في أنظمة التشغيل الحديثة (كلينوكس ومايكروسوفت ويندوز) تستخدم شكل للتعامل مع الذاكرة تشير فيه كل خانات عناوين المناطق إلى ذات المكان في الذاكرة، وبالتالي مؤدية إلى عدم إستخدامها، ولكن FS و GS هما إستثناء لهذه القاعدة ، فهم يستخدمون لأجل البيانات المتعلقة بالThreads، ليكون لكل Thread بياناته الخاصة.
 
== خانة تخزين المعلومات ==
خانة تخزين المعلومات أو Flags Register هي خانة من 32 بت تستخدم لتخزين ومراقبة نتائج العمليات وحالة المعالج. يسمى كل بت منها راية بالإنجليزية Flag.
{| border="1"
سطر 97:
* ID : Identification Flag. Support for CPUID instruction if can be set.
 
== MOV ==
الأمر mov
يقوم بتقل المعلومات من وحدة تخزين (Register) أو منطقة ذاكرة أو قيمة ثابتة إلى مكان تخزين آخر.
سطر 117:
 
 
ووضع الحرف H بعد الرقم يعني أن الرقم بنظام العد الست عشري Hexadicimal ، أي أن كل خانة يمكن أن تحتوي على 16 عددا وليس على 10 فقط كما في النظام العشري ، وتستبدل القيم التي تعبر عن 10 و 11 و 12 و13 و 14 و15 في النظام العشري بخانة واحدة لكل منها كالترتيب الآتي A B C D E F ، فيكون العدد FFh على سبيل المثال هو عبارة عن 15 + 15×16 ، تماما كما أن العدد 99 هو عبارة عن 9 + 9×10
 
== أوامر أخرى ==
وتوجد هناك أوامر أخرى عديدة مثل : ADD , SUB , DEC , INC , ROR , ROL , SHL , SHR , XCHNG
 
[[تصنيف:أسمبلي]]