csrsزائف

csrs

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

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

الوصف

يقوم csrs بتعيين البتات في سجل التحكم. يحتفظ سجل التحكم والحالة، أو CSR، بحالة المعالج مثل عنوان معالج الفخاخ ومفاتيح المقاطعة (انظر csrrw). يقوم النموذج أدناه بتعيين كل بت في CSR يساوي 1 في rs ويترك البتات الأخرى دون تغيير.

csrs csr, rs

إنها تعليمة زائفة، اسم مقروء يعيد المُجمِّع كتابته إلى تعليمة حقيقية. تصبح التعليمة أدناه، حيث rd هو zero لذا يتم تجاهل القيمة القديمة.

csrrs zero, csr, rs

يتم تمكين المقاطعات باستدعاءين لـ csrs. الأول يعيّن البت 11 من mie، تمكين المقاطعة الخارجية. الثاني يعيّن البت 3 من mstatus، تمكين المقاطعة العام.

li t0, 0x800
csrs mie, t0
li t0, 8
csrs mstatus, t0

يجب تشغيل كلا المفتاحين قبل أن يتلقى المعالج مقاطعة. كما أن للزر سجل تمكين خاص به، موصوف في صفحة GPIO. انظر csrc لمسح البتات.

يسرد دليل RISC-V كلاً من csrs وcsrc كاختصارين لتعيين ومسح بتات CSR عندما لا تكون القيمة القديمة مطلوبة.

يوسّع إلى

csrrs zero, csr, rs

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

مثال

li t0, 8
csrs mstatus, t0   # sets bit 3 of mstatus