ebreak

ebreak

تجميع RISC-V مرجع

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

الوصف

يوقف ebreak البرنامج. الاسم اختصار لـ environment break. وهو يحدد نقطة يتولى فيها مصحح الأخطاء التحكم، وتحاكي هذه المحاكاة توقف التنفيذ عند ذلك السطر. لا تأخذ هذه الصيغة أي معاملات.

ebreak

يتوقف المعالج هناك ولا تُنفَّذ الأسطر التي تليه. تحتفظ السجلات والذاكرة بقيمها، لذا يمكن فحص الحالة عند نقطة التوقف لاحقًا. يُنهي ecall مع الخدمة 10 البرنامج بشكل طبيعي، بينما يوقفه ebreak عند موضع مختار.

يصف دليل RISC-V الأمر ebreak بأنه يعيد التحكم إلى بيئة تصحيح الأخطاء، ويعرّفه مع ecall الذي يطلب خدمة من البيئة. وكلاهما يسبب فخًا دقيقًا مطلوبًا، أي نقلًا متعمدًا للتحكم إلى البيئة.

يضبط المثال t0 على 1 ويشغّل ebreak. لا يُنفَّذ الأمر li الذي يليه أبدًا، لذا يبقى t0 على 1.

مثال

li t0, 1
ebreak   # the program stops here
li t0, 2   # never reached