امتداد اللافتة
تمديد الإشارة (يُختصر أحيانًا إلى "سداسي" ، خاصةً في أساليب التذكر ) هو عملية في الحساب الحاسوبي تتمثل في زيادة عدد بتات العدد الثنائي مع الحفاظ على إشارته (موجب/سالب) وقيمته. ويتم ذلك بإضافة أرقام إلى الجانب الأكثر أهمية من العدد، وفقًا لإجراء يعتمد على تمثيل العدد المُوَقَّع المُستخدم.
على سبيل المثال، إذا استُخدمت ستة بتات لتمثيل العدد " 00 1010" (العدد العشري الموجب 10)، وقامت عملية تمديد الإشارة بزيادة طول الكلمة إلى 16 بتًا، فإن التمثيل الجديد هو ببساطة " 0000 0000 0000 1010". وبالتالي، يتم الحفاظ على كل من القيمة وحقيقة أن القيمة كانت موجبة.
إذا استُخدمت عشرة بتات لتمثيل القيمة " 11 1111 0001" (العدد العشري السالب 15) باستخدام نظام المتمم الثنائي ، ثم تم تمديد الإشارة إلى 16 بتًا، فإن التمثيل الجديد هو " 1111 1111 1111 0001". وبالتالي، من خلال إضافة الآحاد إلى الجانب الأيسر، يتم الحفاظ على الإشارة السالبة وقيمة العدد الأصلي.
في مجموعة تعليمات Intel x86 ، على سبيل المثال، هناك طريقتان لإجراء تمديد الإشارة:
- باستخدام التعليمات
cbw،cwd،cwde، وcdq: تحويل البايت إلى كلمة، والكلمة إلى كلمة مزدوجة، والكلمة إلى كلمة مزدوجة موسعة، والكلمة المزدوجة إلى كلمة رباعية، على التوالي (في سياق x86، يحتوي البايت على 8 بتات، والكلمة على 16 بتًا، والكلمة المزدوجة والكلمة المزدوجة الموسعة على 32 بتًا، والكلمة الرباعية على 64 بتًا)؛ - باستخدام إحدى حركات الإشارة الممتدة، والتي يتم إنجازها بواسطة
movsxعائلة تعليمات "الحركة مع تمديد الإشارة".
امتداد صفري
مفهوم مشابه هو التمديد الصفري (يُختصر أحيانًا إلى zext ). في عملية النقل أو التحويل، يشير التمديد الصفري إلى ضبط البتات العليا للوجهة إلى الصفر، بدلاً من ضبطها على نسخة من البت الأكثر أهمية للمصدر. إذا كان مصدر العملية عددًا غير مُوَقَّع، فإن التمديد الصفري هو عادةً الطريقة الصحيحة لنقله إلى حقل أكبر مع الحفاظ على قيمته العددية، بينما يكون تمديد الإشارة صحيحًا للأعداد المُوَقَّعة.
في مجموعتي تعليمات x86 و x64، movzxتؤدي تعليمة "نقل مع امتداد صفري" هذه الوظيفة. على سبيل المثال، movzx ebx, alتنسخ بايتًا من alالمسجل إلى البايت ذي الترتيب الأدنى من المسجل، ebxثم تملأ البايتات المتبقية من ebxالمسجل بأصفار.
في معالجات x64، تقوم معظم التعليمات التي تكتب إلى كامل الـ 32 بت السفلى من أي من سجلات الأغراض العامة بتصفير النصف العلوي من سجل الوجهة. على سبيل المثال، mov eax, 1234ستقوم هذه التعليمة بمسح الـ 32 بت العليا من السجل rax[ a ] .
انظر أيضاً
- الإزاحة الحسابية والإزاحة المنطقية
مراجع
- مانو، موريس م.؛ كيم، تشارلز ر. (2004). أساسيات المنطق وتصميم الحاسوب (الطبعة الثالثة)، ص 453. بيرسون برنتيس هول. ISBN 0-13-140539-X.
ملحوظات
- الحساب الثنائي
