csrsiпсевдо

csrsi

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

lyszt.net охоплює csrsi та інші інструкції RISC-V більш детально.

Опис

csrsi встановлює біти в керуючому регістрі з константи. Регістр керування та стану, або CSR, зберігає стан процесора, як-от адресу обробника пасток і перемикачі переривань (див. csrrw). Константа uimm — це число від 0 до 31, тому що вона зберігається в 5 бітах. Наведена нижче форма встановлює кожен біт CSR, який дорівнює 1 в uimm, і залишає інші біти без змін.

csrsi csr, uimm

Це псевдоінструкція, читабельна назва, яку асемблер переписує в справжню інструкцію. Вона стає наведеною нижче інструкцією, де rd — це zero, тому старе значення відкидається.

csrrsi zero, csr, uimm

Наведений нижче рядок вмикає глобальне дозволення переривань. 8 — це двійкове 1000, тому він встановлює біт 3 регістра mstatus.

csrsi mstatus, 8

У такий спосіб можна встановити лише біти з 0 по 4, тому для біта 11 регістра mie потрібен csrs із регістром. Очищення бітів див. у csrci.

Розгортається до

csrrsi zero, csr, uimm

Асемблер замінює цю псевдоінструкцію реальною інструкцією або інструкціями, переліченими вище.

Приклад

csrsi mstatus, 8   # sets bit 3 of mstatus