Спасибо. Про __z88dk_callee и __z88dk_fastcall не разбирал.

Собственно, можно и так, только переделывать дофига. На самом деле, я знаю, что у меня там много не оптимального. Ну и фиг с ним пока что)

- - - Добавлено - - -

А в случае атрибута __z88dk_fastcall, компилятор вообще не будет использовать стек, только регистр L (или пару HL в случае двухбайтового аргумента).
А если аргументов 5 или 6 ? Тогда как?