Ok then, I didnt post the code as I find it difficult to understand others assembler, but here goes.
The code looks at the ultrasonic module and if a target within range (tmro (with a prescale of 32 from a 4 mc's clk)<64) then gpio,1 goes hi for the period the condition exists, where as gpio,2 goes hi for 250 iterations of the 'main' routine, I'd rather not bother with gpio,2 and use gpio,1 only, if you look the 0.5 sec delay is remmed out.
This chip doesnt support interrupts, otherwise I'd be using them.