It is strongly recommended that you do not use block assignment in your design. Once you use it ,you will find that the following debug will be very time-consuming
blocking statemnest are used to model combo logic and non blocking for modelling sequential logic.
If use it wrongly synthesised logic will still be correct, but there will be mismatch between functional simulation and post synthesis simultaion.
as a general use
blocking for combo and non blocking for sequential
there us no need to mix the statments . Don't mix