Baud Rate 4800 para 9600

Recebi um projeto e o engenheiro sumiu,
Porem estou com problemas pois no momento utiliza baud rate 4800 para TX de um GPS e preciso alterar para 9600, abaixo segue como esta no momento, alguem pode me ajudar?
utiliza microcontrolador holtek
; 4800 bps ( tempo de bit 208us )
; delay de meio bit
recebe_serial_gps:
clr byte_gps_ok
clr buffer_gps
mov a, 45 ;38;40 ;
mov contador_delay_gps, a
msg_000:
nop
sdz contador_delay_gps
jmp msg_000
sz rx_gps
jmp fim_gps
; delay bit
mov a, 100 ;98;100 ;
mov contador_delay_gps, a
msg_001:
nop
sdz contador_delay_gps
jmp msg_001
; inicio da recepção
mov a, 8
mov n_bits_gps, a
leitura_bit:
clr c
sz rx_gps
set c
rrc buffer_gps
; delay bit
mov a, 100 ;98;100 ;
mov contador_delay_gps, a
msg_002:
nop
sdz contador_delay_gps
jmp msg_002
rs_01: sdz n_bits_gps
jmp leitura_bit
; verifica stop bit
clr n_bits_gps
vsb_00:
inc n_bits_gps
mov a, n_bits_gps
xor a, 40
sz z
jmp fim_gps ; erro pelo stop bit
snz rx_gps
jmp vsb_00
set byte_gps_ok
fim_gps:
ret
Porem estou com problemas pois no momento utiliza baud rate 4800 para TX de um GPS e preciso alterar para 9600, abaixo segue como esta no momento, alguem pode me ajudar?
utiliza microcontrolador holtek
; 4800 bps ( tempo de bit 208us )
; delay de meio bit
recebe_serial_gps:
clr byte_gps_ok
clr buffer_gps
mov a, 45 ;38;40 ;
mov contador_delay_gps, a
msg_000:
nop
sdz contador_delay_gps
jmp msg_000
sz rx_gps
jmp fim_gps
; delay bit
mov a, 100 ;98;100 ;
mov contador_delay_gps, a
msg_001:
nop
sdz contador_delay_gps
jmp msg_001
; inicio da recepção
mov a, 8
mov n_bits_gps, a
leitura_bit:
clr c
sz rx_gps
set c
rrc buffer_gps
; delay bit
mov a, 100 ;98;100 ;
mov contador_delay_gps, a
msg_002:
nop
sdz contador_delay_gps
jmp msg_002
rs_01: sdz n_bits_gps
jmp leitura_bit
; verifica stop bit
clr n_bits_gps
vsb_00:
inc n_bits_gps
mov a, n_bits_gps
xor a, 40
sz z
jmp fim_gps ; erro pelo stop bit
snz rx_gps
jmp vsb_00
set byte_gps_ok
fim_gps:
ret