فهرس |
<> سنتحدث في هذا المشروع عن التعليمات التي تتعامل معها المعالجات 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
وهذا الجدول يعرض أنواع المعالجات التي تتعامل مع كل مجموعة من التعليمات <
تنفذ تعليمات الأغراض العامة عمليات تقل البيات, العمليات الحسابية والمنطقية, تطبيق عمليات على سلاسل من البيانات .
Intel 64 and IA-32 processors هذه العمليات يستخدمها المبرمجين بشكل كبير لكتابة برامجهم التي ستنفذها المعالجات .
تطبق هذه العمليات على بيانات موجودة في حجر الذاكرة أو في مسجلات الأغراض العامة
أو في مسجل الأعلام أو في مسجلات المقاطع (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 : عدم التماثل
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