it looks like you are controlling the outputs of "3" and "4", but as soon as u tell your program what to set them to, you are restarting the program, and the 1st thing u do is set them both low. So they will only go high for a very very very small amount of time.

e.g. straight:

straight:
high 3
high 4
goto start

start:
LOW 3
LOW 4
...

they will only be high for as long as it take the program to goto start.