That's problem rise when lib used with compilers, as it require to preserve edi, edi, ebx or other as used.
I'm for such cases use text macro "preserve", that's follows clouse USES, after proc decares.
For return values for each type macro FRETxxx Val : REQ
So, if to count to use lib with differ thing programming - really need something to do

P. S.
This solution is not optimal for free push/pop's commands, but optimise for differ enviroments lib by unattentevly mistakes too hard, so unused USES registers, possible fall only as task for new option for UASM developrs
