The timing was based Dr. Lu's post. I don't remember exactly how long would take the rotary phone to finish dialing zero. I think it is probably like 3 seconds, if that is the case, I would divide 3 seconds by 10, and each position will have 300mS, Then I will change the timing to:
dial_ph:
tsteq VAR1 0
set VAR1 10
set RAM1 0
dialing:
set op1 1
delay 100
set op1 0
delay 200
inc RAM1
tsteq RAM1 VAR1
RET
goto dialing
between each digit of the phone number, leave at least one second or two seconds.