blez
زائفيغطي lyszt.net blez وتعليمات RISC-V الأخرى بمزيد من التفصيل.
الوصف
blez يتفرع عندما تكون القيمة في السجل صفرًا أو سالبة. يعني الاسم: تفرّع إذا كانت القيمة أقل من أو تساوي الصفر. الصيغة أدناه تقفز إلى الموضع المُعنون عندما يكون rs عند الصفر أو أقل، وإلا تنتقل إلى التعليمة التالية.
blez rs, label
يتعامل المُجمِّع معها كتعليمة شبهية ويعيد كتابتها إلى التعليمة أدناه، التي تسأل ما إذا كان zero أكبر من أو يساوي السجل.
bge zero, rs, label
تم تبديل المعاملات لأن RISC-V لا يملك تفرعًا من نوع أقل من أو يساوي، لذا يقوم bge بالمهمة، بالطريقة نفسها التي يُبنى بها ble. المقارنة مُوقَّعة. التفرع عند الصفر هو ما يميز blez عن bltz، وهو عكس bgtz، لذا لأي قيمة يتفرع واحد فقط من الاثنين. راجع bge للتفرع الأساسي.
يناسب blez فحص عدم بقاء أي شيء للقيام به. يمكن لحلقة تعالج عددًا من العناصر المتبقية أن تخرج بمجرد أن يصبح العدد صفرًا أو ينخفض دونه.
blez t0, done
السطر أعلاه يقفز إلى done عندما يكون t0 مساويًا لـ 0 أو سالبًا.
يوسّع إلى
bge zero, rs, label
يستبدل المُجمِّع هذه التعليمة الزائفة بالتعليمة الحقيقية أو التعليمات المذكورة أعلاه.
مثال
li t0, 0 blez t0, done # t0 <= 0, so jump to 'done'
