ASM Libs are libraries that are used by the compiler.
They contain machine language statements for various statements and functions.
A library can also be used to modify an existing function.
For example when you use a conversion routine num<>string with a byte variable only, the routine from the MCS.LIB has some overhead as it can also convert integers,word and longs.
You can specify the MCSBYTE.LIB or MCSBYTE.LBX library then to override the function from MCS.LIB.
When you write a user sub/function that calls a user lib and passed parameters, you must include some code to restore the frame protection.
In the bcd.lib you can find code like :
Out sreg,r3 ; restore I flag
The bcd.lib and bin2bcd.bas demonstrate how to write a user lib.