
        dseg
Idle_timer:     ds 1
        bseg
Bus_idle:       dbit 1
        cseg
        org     13h
intex1:
        clr     ET1
        clr     EX1
        reti
        org     1Bh
intt1:
        djnz    Idle_timer, it11
        clr     ET1
        setb    Bus_Idle        ;or AJMP to the handler
it11:   reti
        org     23h
intuart:
        jnb     RI, iu1
        clr     IE1
        jnb     RXD, skip_idle          ;work until 1+1/2 bit times delay
        mov     Idle_timer, #4 * 16     ;wait 4 bit times
        setb    ET1
        setb    EX1
skip_idle:
        clr     RI
        ; do something
        reti
iu1:    ; do something
        reti
