Where I can find an example how call from C code function write in assembler?
Review the ABI to understand parameter passing, but the simple case is that the first four 32-bit parameters arrive in R0..R3, and 32-bit values return in R0, and 64-bit ones in R0/R1
You only need to push LR if you call other routines. You can use R0..R3 as scratch, you need to push R4..R8 if used as they are expected to be preserved.