bleزائف

ble

زائف
تجميع RISC-V مرجع

يغطي lyszt.net ble وتعليمات RISC-V الأخرى بمزيد من التفصيل.

الوصف

ble تفرّع عندما تكون قيمة واحدة أقل من أو تساوي أخرى. الاسم يرمز إلى branch if less than or equal. الصيغة أدناه تنتقل إلى التسمية عندما تكون rs1 على الأكثر rs2، باستخدام مقارنة موقّعة.

ble rs1, rs2, label

ble تعليمة زائفة تعتمد على تبديل المعاملات، كما تفعل bgt. السؤال عما إذا كان a أقل من أو يساوي b يطابق السؤال عما إذا كان b أكبر من أو يساوي a، لذا يعيد المجمّع كتابة ble على هيئة bge مع عكس المعاملات. لا حاجة إلى تعليمة آلة مخصصة. راجع bge للفرع الأساسي.

ble تناسب الحلقات والنطاقات التي تتضمن نقطة نهايتها. حلقة تعمل ما دام العداد على الأكثر n، مع تضمين n، تُقرأ بوضوح باستخدام ble. الحلقة نفسها مع blt الصارمة تحتاج إلى n زائد واحد. تُستخدم في فحوص النطاق إلى جانب الفروع الأخرى. تفرّع بعيدًا إذا كانت قيمة أقل من الحد الأدنى، وتفرّع بعيدًا إذا كانت أعلى من الحد الأقصى، وما يتبقى يكون قد اجتاز.

يذكر دليل RISC-V أن bgt وbgtu وble وbleu يمكن تركيبها بعكس المعاملات إلى blt وbltu وbge وbgeu.

القيم المتساوية تفرّع مع ble، مما يجعلها عكس bgt على المعاملات نفسها. لأي زوج، واحد منهما يفرّع. المقارنة موقّعة، لذا قد تكون القيم سالبة. blt وbge وbgt وble معًا تعطي جميع اتجاهات الترتيب الموقّعة الأربعة.

يوسّع إلى

bge rs2, rs1, label

يستبدل المُجمِّع هذه التعليمة الزائفة بالتعليمة الحقيقية أو التعليمات المذكورة أعلاه.

مثال

li t0, 2
li t1, 5
ble t0, t1, done   # 2 <= 5, so jump to 'done'