csrrwi
lyszt.net охоплює csrrwi та інші інструкції RISC-V більш детально.
Опис
csrrwi — це csrrw з константою замість регістра-джерела. Літера i означає immediate (безпосереднє значення), тобто константу, записану в інструкції. Константа uimm — це число від 0 до 31, оскільки вона зберігається в 5 бітах. Старе значення CSR потрапляє в rd, а uimm записується в CSR.
csrrwi rd, csr, uimm
Наступний рядок записує 0 в mie, що вимикає всі джерела переривань, і залишає попереднє mie в t1.
csrrwi t1, mie, 0
Значення, більше за 31, не вміщується, тому більше значення спочатку потрапляє в регістр і записується за допомогою csrrw. Коли rd — це zero, CSR не читається, що є скороченою формою csrwi. Див. csrrw, щоб дізнатися, що таке CSR.
Посібник RISC-V каже, що безпосередні форми приймають 5-бітне беззнакове значення, яке розширюється нулями, тобто доповнюється нулями зліва до повної ширини регістра.
Приклад
csrrwi t1, mie, 0 # mie = 0, t1 = old mie
