csrrci
lyszt.net охоплює csrrci та інші інструкції RISC-V більш детально.
Опис
csrrci — це csrrc з константною маскою замість регістра. Літера i означає immediate (безпосереднє значення), тобто константу, записану в інструкції. Константа uimm — це число від 0 до 31, оскільки вона зберігається в 5 бітах. Старе значення CSR записується в rd, потім кожен біт, що дорівнює 1 в uimm, скидається в 0 у CSR.
csrrci rd, csr, uimm
Наступний рядок скидає біт 3 mstatus, що вимикає глобальний дозвіл переривань, і залишає попереднє значення в t1. Число 8 — це двійкове 1000.
csrrci t1, mstatus, 8
У такий спосіб можна скидати лише біти з 0 по 4. Коли uimm дорівнює 0, CSR читається, але не записується. Коли rd — це zero, старе значення відкидається, що є скороченням csrci. Див. csrrc для регістрової форми.
Приклад
csrrci t1, mstatus, 8 # clears bit 3 of mstatus, t1 = old mstatus
