Symphony Stdlib
This is a standard library for symphony. It is both intended as a practical toolkit to develop more complex software as well as a teaching resource.
If you just want to use the standard library [stdlib.asm] is your main header, include it after your code. You'll also need to include globals.asm in the first line of your main assembly file.
If you are using it as a learning resource have a look at the teaching folder.
If you are intersted in contributing have a look at [CONTRIBUTING.md]
ABI
Calling Convention
n.a. zr preserved: sp, r8 - r12 scratch: flags, r1 - r7 arguments: r1 - r7 (r1 = 1st argument, r6 = 6th arg/stack args, r7 = 7th arg/stack res) result: r1, r2 (r1 = low word, r2 = high word) return address: r13
Stack
grows downwards from top of memory arguments are passed in reverse order with the stack so: lowest address = 1st stack arg highest address = last stack arg
Types
String
Strings are stored in memory as null terminated sequences of bytes encoding ascii characters. They should be passed by reference.