csrrwi

csrrwi

Асемблер RISC-V Посилання

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