csrwiпсевдо

csrwi

псевдо
RISC-V Ассемблер Ссылка

lyszt.net охватывает csrwi и другие инструкции RISC-V более подробно.

Описание

csrwi записывает константу в управляющий регистр. Управляющий регистр состояния, или CSR, хранит состояние процессора, такое как адрес обработчика ловушек и переключатели прерываний (см. csrrw). Константа uimm — это число от 0 до 31, поскольку она хранится в 5 битах. Приведённая ниже форма записывает её в CSR и отбрасывает старое значение.

csrwi csr, uimm

Это псевдоинструкция — читаемое имя, которое ассемблер переписывает в реальную инструкцию. Она превращается в приведённую ниже инструкцию, где rd — это zero, поэтому старое значение не читается.

csrrwi zero, csr, uimm

Следующая строка записывает 0 в mie, что отключает все источники прерываний.

csrwi mie, 0

Значение больше 31 не помещается, поэтому большее значение сначала помещается в регистр и записывается с помощью csrw.

Разворачивается в

csrrwi zero, csr, uimm

Ассемблер заменяет эту псевдоинструкцию реальной инструкцией или инструкциями, перечисленными выше.

Пример

csrwi mie, 0   # mie = 0