csrs의사

csrs

의사
RISC-V 어셈블리 참조

lyszt.net은 csrs 및 기타 RISC-V 명령어를 더 자세히 다룹니다.

설명

csrs는 제어 레지스터의 비트를 설정합니다. 제어 및 상태 레지스터(CSR)는 트랩 핸들러 주소와 인터럽트 스위치 같은 프로세서 상태를 보관합니다(csrrw 참조). 아래 형식은 rs에서 1인 CSR의 모든 비트를 설정하고 나머지 비트는 변경하지 않습니다.

csrs csr, rs

이것은 의사 명령으로, 어셈블러가 실제 명령으로 다시 작성하는 읽기 쉬운 이름입니다. 아래 명령이 되며, rd가 zero이므로 이전 값은 버려집니다.

csrrs zero, csr, rs

인터럽트는 csrs를 두 번 호출하여 활성화됩니다. 첫 번째는 외부 인터럽트 활성화인 mie의 비트 11을 설정합니다. 두 번째는 전역 인터럽트 활성화인 mstatus의 비트 3을 설정합니다.

li t0, 0x800
csrs mie, t0
li t0, 8
csrs mstatus, t0

프로세서가 인터럽트를 받으려면 두 스위치가 모두 켜져 있어야 합니다. 버튼에도 자체 활성화 레지스터가 있으며, GPIO 페이지에 설명되어 있습니다. 비트 지우기는 csrc를 참조하세요.

RISC-V 매뉴얼은 이전 값이 필요하지 않을 때 CSR 비트를 설정하고 지우는 축약형으로 csrs와 csrc를 나열합니다.

확장 대상

csrrs zero, csr, rs

어셈블러는 이 의사 명령을 위에 나열된 실제 명령 또는 명령들로 대체합니다.

예시

li t0, 8
csrs mstatus, t0   # sets bit 3 of mstatus