I don't know much about this pic18 code.
You can use
movlw samples_x+8 ;sample_x (8) reached?
instead of
movlw b'10110111' ;sample_x (7) reached?
(I think you probably want to check for 8 not 7)
using W and F instead of 1 and 0 makes it easier to read.
Maybe it should be goto $+3 (if the next two instructions are single word instructions).
Thanks! Will revise the code in post #138 in a moment but I actually asked the question for the next code to be posted!