diff options
Diffstat (limited to 'c/inline/inline.c')
| -rw-r--r-- | c/inline/inline.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/c/inline/inline.c b/c/inline/inline.c new file mode 100644 index 0000000..c8db8e3 --- /dev/null +++ b/c/inline/inline.c @@ -0,0 +1,25 @@ +#include <stdint.h> +#include <stdbool.h> +#include "rvcontroller-ecalls.h" + +volatile char thischar; + +volatile uint32_t nonblocking_read() { + volatile uint32_t ret; + asm( + "li a7,132 \n\ + ecall \n\ + mv %0,a0 \n" + : "=r" (ret) + : + : "a0" + ); + return ret; +} + +void main() { + while (true) { + thischar = nonblocking_read(); + //printint(thischar); + } +} |
