A C and assembly implementation of coroutines for AMD64 System V ABI
Coroutines can be used to implement async/await semantics and generators. Both are very widely used in higher level programming languages and even embedded devices. We constructed a tiny coroutine implementation in C, which we will build upon to implement the aforementioned higher level features.