DUART_ISR: MOVEM.L D0-D7/A0-A6,(SP)-
LEA.L #DUART_ADDR,A0
MOVE.B ISR(A0),D0
ANDI.B #RxRDYA,D0
BNE CheckTx
RxIRQ: MOVE.W RBA(A1),D1
MOVE.W D1,-(A7)
JSR ADD_TO_RX_QUEUE
ADDQ.W #1,SP
BRA EXIT_ISR
CheckTx: ANDI.B #TxRDYB,D0
BEQ EXIT_ISR
TST.B ANY_BYTES_TO_TX
BEQ DISABLE_TX_IRQS
LEA.L TX_BYTE_PTR,(A2)
MOVE.B (A2)+,TBA(A0)
DISABLE_TX_IRQS:
MOVE.B TxRDYA,IMR(A0)
EXIT_ISR: MOVEM.L (SP)+,D0-D7/A1-A6
RTS
Briefly explain how the window scheme provides both features (1) and (2) mentioned at the start of this question.