calculator/README.md

31 lines
945 B
Markdown
Raw Normal View History

2025-02-09 01:09:13 +00:00
Calculator
==========
Aims to be a calculator implemented in 32-bit RISC-V assembly, initially targeting the
inexpensive [CH32V003 RV32EC microcontroller][CH32V003]: 48Mhz 2KB SRAM, 16KB Flash.
Notes
-----
### Disassemble
riscv64-unknown-elf-objdump -D main.o
Resources
---------
* https://riscv-programming.org/book/riscv-book.html
* [CH32V003 Datasheet](https://www.wch-ic.com/downloads/CH32V003RM_PDF.html)
* [QingKeV2 Processor Manual](https://www.wch-ic.com/downloads/QingKeV2_Processor_Manual_PDF.html) — core used in the CH32V003
2025-02-09 01:21:38 +00:00
### Syscalls on RV32E
[Syscalls supported by rv32emu](https://github.com/sysprog21/rv32emu/blob/master/docs/syscall.md).
2025-02-09 01:21:38 +00:00
Consensus seems to be pass the syscall number in `t0`:
* https://github.com/riscvarchive/riscv-qemu/pull/61
* https://github.com/sysprog21/rv32emu/blob/1286b3c41eec541b68f3d25462722ba848bf4e51/src/syscall.c#L484
2025-02-09 01:09:13 +00:00
[CH32V003]: https://www.wch-ic.com/products/CH32V003.html