I am assuming that it "waited" to receive a digit of 9, then the array of 2 movement split the next 2 incoming bytes into the array.

That part worked if afterward I did a check on what digit was sent (in this case, a 1), and then if it was a 1, to turn the pin porta.1 high. This worked and turned an LED i had put there on. Buttttt, when I did the same thing with the following if then statements...it did not work:

Code:
;lets get moving!
checkdirection:
;forward and backwards
if direction = 0 then
goto checkturns 
if direction = 1 THEN 
goto forward
if direction = 2 then 
goto backward
endif
endif
endif

checkturns:
;forward and backwards
if turns = 0 then
goto start 

start_turn: 
if turns = 1 THEN 
goto turnleft
if turns = 2 then 
goto turnright
endif
endif
endif
goto start

;left and right turns
forward:
if turns = 0 then
goto forwardgo
if turns = 1 THEN 
goto forwardleft
if turns = 2 then
goto forwardright
endif
endif
endif

forwardgo:
high forwardl
high forwardr
pause 500
low forwardl
low forwardr

goto start
I am not sure why it would not work...