When PLC sees END, it will move to execute next instruction which is START.
If you using CALLSUB, it is better to use matching RET. In this way, stack pointer can be maintained without problem. Because each time a CALLSUB called, a pointer is being saved, when RET called, it will pop up that address for RET. The space to store the original pointers has its own limitation. If you don't care about using RET, then it is better using GOTO, BZ, BNZ,