diff options
Diffstat (limited to 'c/rvcontroller-libraries/rvcontroller-ecalls.S')
| -rw-r--r-- | c/rvcontroller-libraries/rvcontroller-ecalls.S | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/c/rvcontroller-libraries/rvcontroller-ecalls.S b/c/rvcontroller-libraries/rvcontroller-ecalls.S new file mode 100644 index 0000000..454bcb6 --- /dev/null +++ b/c/rvcontroller-libraries/rvcontroller-ecalls.S @@ -0,0 +1,108 @@ +#RVController ecall C Library - Assembly Portion +#A product of Advanced Mesecons Devices, a Cheapie Systems company +#This is free and unencumbered software released into the public domain. +#See http://unlicense.org/ for more information + +printint: +# Number to print is already in a0 +li a7,1 # Write number +ecall +ret + +printstr: +# String address is already in a0 +li a7,4 +ecall +ret + +printchar: +# Character is already in a0 +li a7,11 +ecall +ret + +digiline_send: +# Channel pointer is already in a0, message pointer is already in a1 +li a7,129 +ecall +ret + +digiline_bufferlevel: +li a7,133 +ecall +# Result is already in a0 +ret + +digiline_receive: +# Arguments are already in a0-a3 +li a7,135 +ecall +ret + +rdtime: +rdtime a0 +ret + +rdcycle: +rdcycle a0 +ret + +digiline_clearbuffer: +li a7,134 +ecall +ret + +lightweight_mode: +andi a0,a0,1 +csrrs t0,0x800,x0 +bclri t0,t0,0 +or t0,t0,a0 +csrrw x0,0x800,t0 +ret + +readint: +li a7,5 +ecall +# Result is already in a0 +ret + +randomint: +li a7,128 +# Arguments are already in a0 and a1 +ecall +# Result is already in a0 +ret + +readstr: +li a7,8 +# Arguments are already in a0 and a1 +ecall +# Result is already in a0 +ret + +console_clearbuffer: +li a7,131 +ecall +ret + +console_readchar: +li a7,132 +ecall +# Result is already in a0 +ret + +.globl printint +.globl printstr +.globl printchar +.globl digiline_send +.globl digiline_bufferlevel +.globl digiline_receive +.globl rdtime +.globl rdcycle +.globl digiline_clearbuffer +.globl lightweight_mode +.globl readint +.globl randomint +.globl readstr +.globl console_clearbuffer +.globl console_readchar |
