Возможно, что и с прерыванием не порядок. Глянул листинг - особого криминала не увидел.
Код
\ 00000000 93FA ST -Y, R31
\ 00000002 93EA ST -Y, R30
\ 00000004 932A ST -Y, R18
\ 00000006 931A ST -Y, R17
\ 00000008 930A ST -Y, R16
\ 0000000A B72F IN R18, 0x3F
\ 0000000C E6E0 LDI R30, 96
\ 0000000E E0F0 LDI R31, 0
\ 00000010 .... RCALL ?Subroutine25
\ ??CrossCallReturnLabel_101:
\ 00000012 5F0F SUBI R16, 255
\ 00000014 4F1F SBCI R17, 255
\ 00000016 .... RCALL ?Subroutine22
\ ??CrossCallReturnLabel_84:
\ 00000018 BF2F OUT 0x3F, R18
\ 0000001A 9109 LD R16, Y+
\ 0000001C 9119 LD R17, Y+
\ 0000001E 9129 LD R18, Y+
\ 00000020 91E9 LD R30, Y+
\ 00000022 91F9 LD R31, Y+
\ 00000024 9518 RETI
\ 00000026 REQUIRE Tictime
\ In segment CODE, align 2, keep-with-next
\ ?Subroutine22:
\ 00000000 8300 ST Z, R16
\ 00000002 8311 STD Z+1, R17
\ 00000004 9508 RET
\ In segment CODE, align 2, keep-with-next
\ ?Subroutine25:
\ 00000000 8100 LD R16, Z
\ 00000002 8111 LDD R17, Z+1
\ 00000004 9508 RET