Да. Вот заменил
.FUNC out1 ;Передать байт по I2C
; vwsov - out1 - vwdatx byte na I2C s NOACK
; vwsov2 - aout1 - vwdatx byte na I2C s ACK
; v lyubom sluchae chitaet otvet s C
; use dlitI2C - dlya sozdaniya neobhodimoy dlitelxnosti I2C
; vhod: a-peredavaemwe dannwe (i vwsov)
; vwhod: a-prinyatwe dannwe i c - sostoyanie ACK
; use_res r4 - chislo ciklov
setb c ;NOACK
sjmp rec1
aout1: clr c ;ACK
rec1: mov r4,#9h
rec13: rlc a
mov I2Csda,c
setb I2Cscl
call dlitI2C
mov c,I2Csda
call dlitI2C
clr I2Cscl
call dlitI2C
djnz r4,rec13
setb I2Csda
call dlitI2C
jmp <!kuda?>
.ENDF
вызовы call out1 заменил на jmp out1, тут понятно куда перейдём. Но таких вызовов у меня как минимум 7 шт. Как сделать возврат куда надо?