mirror of
https://github.com/stnolting/neorv32.git
synced 2025-04-24 14:17:51 -04:00
using csr pseudo-instruction for easier csr access
This commit is contained in:
parent
75d71a036c
commit
fd16f64704
1 changed files with 2 additions and 2 deletions
|
@ -64,7 +64,7 @@ inline uint32_t __attribute__ ((always_inline)) neorv32_cpu_csr_read(const int c
|
|||
|
||||
register uint32_t csr_data;
|
||||
|
||||
asm volatile ("csrrw %[result], %[input_i], zero" : [result] "=r" (csr_data) : [input_i] "i" (csr_id));
|
||||
asm volatile ("csrr %[result], %[input_i]" : [result] "=r" (csr_data) : [input_i] "i" (csr_id));
|
||||
|
||||
return csr_data;
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ inline void __attribute__ ((always_inline)) neorv32_cpu_csr_write(const int csr_
|
|||
|
||||
register uint32_t csr_data = data;
|
||||
|
||||
asm volatile ("csrrw zero, %[input_i], %[input_j]" : : [input_i] "i" (csr_id), [input_j] "r" (csr_data));
|
||||
asm volatile ("csrw %[input_i], %[input_j]" : : [input_i] "i" (csr_id), [input_j] "r" (csr_data));
|
||||
}
|
||||
|
||||
#endif // neorv32_cpu_h
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue