الرئيسيةبحث

تعليمات المعالج بنتيوم32-64

فهرس

< Instructions

<> سنتحدث في هذا المشروع عن التعليمات التي تتعامل معها المعالجات Intel 64 and IA-32

وتقسم هذه التعليمات إلى عدة مجموعات رئيسية و كل مجموعة رئيسية يمكن أن تقسم إلى عدة مجموعات فرعية

• General purpose

• x87 FPU>

• x87 FPU and SIMD state management<

• Intel MMX technology

• SSE extensions

• SSE2 extensions

• SSE3 extensions>

• SSSE3 extensions

• System instructions

• IA-32e mode: 64-bit mode instructions

• VMX instructions

وهذا الجدول يعرض أنواع المعالجات التي تتعامل مع كل مجموعة من التعليمات <

<>تعليمات الأغراض العامة general purpose instructions :

تنفذ تعليمات الأغراض العامة عمليات تقل البيات, العمليات الحسابية والمنطقية, تطبيق عمليات على سلاسل من البيانات .

Intel 64 and IA-32 processors هذه العمليات يستخدمها المبرمجين بشكل كبير لكتابة برامجهم التي ستنفذها المعالجات .

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

(EAX, EBX, ECX, EDX, EDI, ESI, EBP, and ESP)

أو في مسجل الأعلام أو في مسجلات المقاطع (CS, DS, SS, ES, FS and GS)

تقسم تعليمات الأغراض العامة إلى عدة مجموعات فرعية ومنها :

• Data transfer

• Binary arithmetic

• Decimal arithmetic

• Logical

• Shift and rotate

Mov  : نقل البيانات من مسجل إلى مسجل ،م مسجل إلى حجرة ذاكرة ،قيمة فورية إلى مسجل أو حجرة ذاكرة

CMOVZ/ CMOVE  : نقل البيانات في حال التساوي أو علم الصفر قيمته 1

CMOVNZ/CMOVNE  : نقل البيانات في حال عدم التساوي أو علم الصفر قيمته 0

CMOVA/CMOVNBE  : ZF=0 AND CF=0 نقل البيانات في حال كان

CMOVAE/CMOVNB  : ZF=1 OR CF=0 نقل البيانات في حال كان

CMOVB/CMOVNAE : ZF=0 OR CF=1 نقل البيانات في حال كان

CMOVBE/CMOVNA : ZF=1 OR CF=1 نقل البيانات في حال كان

CMOVG/CMOVNLE  : ولكن مع الأعداد المؤشرةZF=0 AND CF=0 نقل البيانات في حال كان

CMOVGE/CMOVNL  : ولكن مع الأعداد المؤشرة ZF=1 OR CF=0 نقل البيانات في حال كان

CMOVL/CMOVNGE  : ولكن مع الأعداد المؤشرة ZF=0 OR CF=1 نقل البيانات في حال كان

CMOVLE/CMOVNG  : ولكن مع الأعداد المؤشرة ZF=1 OR CF=1 نقل البيانات في حال كان

CMOVC  : CF=1 نقل البيانات في حال كان

CMOVNC  : لا يساوي 1 CFنقل البيانات في حال كان

CMOVO  : OF=1 نقل البيانات في حال كان

CMOVNO  : لا يساوي 1 OFنقل البيانات في حال كان

CMOVNS  : SF=1 نقل البيانات في حال كان

PUSH  : دفع قيمة إلى قمة المكدس

POP  : سحب قيمة من قمة المكدس

PUSHA/PUSHAD : دفع مسجلات الأغراض العامة إلى المكدس

POPA/POPAD  : سحب مسجلات الأغراض العامة من قمة المكدس

Binary Arithmetic Instructions

ADD  : الجمع الصحيح

ADC  : الجمع الصحيح مع الحمل

SUB  : الطرح الصحيح

SBB  : الطرح الصحيح مع الاستعارة

MUL  : الضرب للأعداد العادية

IMUL  : الضرب للأعداد المؤشرة

DIV  : القسمة للأعداد العادية

IDIV  : القسمة للأعداد المؤشرة

INC  : زيادة قيمة مجل أو حجرة ذاكرة بمقدار 1

DEC  : انقاص قيمة مجل أو حجرة ذاكرة بمقدار 1

Decimal Arithmetic Instructions

DAA  : BCD تعليمة التصحيح بعد الجمع بشيفرة

DAS  : BCD تعليمة التصحيح بعد الطرح بشيفرة

Logical Instructions

AND  : تعليمة الضرب المنطقي

OR  : تعليمة الجمع المنطقي

XOR  : عدم التماثل

NOT  : النفي

Shift and Rotate Instructions

SAR  : الازاحة الرياضية لليمين

SHR  : الازاحة المنطقية لليمين

SAL  : الازاحة الرياضية لليسار

SHL  :الازاحة المنطقية لليسار

SHRD  :المضاعفة الازاحة المنطقية لليمين

SHLD  : المضاعفة الازاحة المنطقية لليسار

ROR  : الدوران لليمين

ROL  : الدوران لليسار

RCL  : الدوران لليسار من خلال مسجل الحمل

RCR  : الدوران لليمين من خلال مسجل الحمل

Control Transfer Instructions

JMP : القفز القصري

JE/JZ : ZF=1 القفز في حال

JNE/JNZ  : ZF=0 القفز في حال

JA/JNBE : ZF=0,CF=0 القفز في حال

JAE/JNB : ZF=1 OR CF=0 القفز في حال

JB/JNAE : ZF=0 ، CF=1 القفز في حال

JBE/JNA : ZF=1 OR CF=0 القفز في حال

JG/JNLE : ZF=0,CF=0 القفز في حال وذلك بالنسبة للأعداد المؤشرة

JGE/JNL : ZF=1 OR CF=0 القفز في حال وذلك بالنسبة للأعداد المؤشرة

JL/JNGE : ZF=0 ، CF=1 القفز في حال وذلك بالنسبة للأعداد المؤشرة

JLE/JNG  : ZF=0 OR CF=1 القفز في حال وذلك بالنسبة للأعداد المؤشرة

JC  : CF=1 القفز في حال

JNC  : CF=0 القفز في حال

JO  : OF=1 القفز في حال

JNO : OF=0 القفز في حال

JS  : SF=1 القفز في حال

JNS  : SF=0 القفز في حال

>المراجع

Intel-32 Book

ماهو المعالج انتل 32

معلومات عن المعالجات