A stack.

It started as a software data stack. Because I need it. It has become a hardware control stack.

Similar projects worth following
C's standard ABI is ridiculous.

Work in progress.

This project describes a part of an ABI that looks like old-school Pascal, except that a hardware stack (or something emulating it) is much safer and faster. It does not need to change most high-level source code but compilers, libraries, linkers, processors etc. must account for:

  • a software-defined data stack (to store the function's frame containing local variables)
  • a hardware control-only stack (for call/return, looping or try/throw/catch for example).

The software data stack is a very old trick so nothing to say about it. The hardware stack however pulls a few tricks from its sleeves.


Implementations considered for #YGREC32 and #F-CPU.

Stay tuned.

  • First article

    Yann Guidon / YGDES05/08/2024 at 00:52 0 comments

    A first article is now available in the French new stands in May-June 2024:

    It's only the first part of a trilogy that explains many of the practical shortcomings of the C-style ABI that makes our lives so miserable. Beware of the C hacks...

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates