From the readme at https://github.com/lantonov/asmFish/tree/fasmg
USE_BOOK=1 assemble option
OwnBook Lookup position in book if possible. Ponder moves are also selected from the book when possible
BookFile Loads polyglot book into engine.
BestBookMove Use only the best moves from the book (highest weight)
BookDepth Tricky setting works as follows:
BookDepth <= 0:
suppose the lines the book from the current position are
T0: h2h3(30) c5d4(10) e3d4(14) g4h5(10) g2g4(11)
d4c5(17) d6c5(17) b1c3(7)
the moves g2g4(11), g4h5(5) and b1c3(7) are leaves and don't lead
to a position in the book. Triming off these leaves three times,
T1: h2h3(30) c5d4(10) e3d4(14) g4h5(10)
T2: h2h3(30) c5d4(10) e3d4(14)
T3: h2h3(30) c5d4(10)
If BookDepth = 0, probe as if it were in T0 (unchanged)
If BookDepth =-1, probe as if it were in T1 (leaves off)
If BookDepth =-2, probe as if it were in T2 (trim twice)
If BookDepth =-3, probe as if it were in T3 (trim trice)
So with BookDepth <= -3, the move d4c5 is not considered.
With BookDepth <= -5, the move h2h3 is also not considered.
BookDepth >= 1:
Book is not probed if gameply >= BookDepth
The discussion about all these complex book settings is in this feature request https://github.com/lantonov/asmFish/issues/48