experimental/outlet_deadline.s

Download file

Release 2026-11-04-r2 · SHA256 62b6db7c52423faba1df32efec257e027a7923306f7a65548afe7587d83a2423 · Click a line number for a direct link.

1| A newly accepted, live keeper-outlet request gets at most four native ticks2| to reach the existing keeper decision before its possession timeout wins.3| Called ONLY when publishing a previously empty ASK, including adapter IRQ.4| A0=validated AI keeper. Preserve all registers/CCR; only +48 may change.5    .text6    .globl _start7_start:8    move.w %sr,-(%sp)9    move.l %d0,-(%sp)10    tst.w 0x34(%a0)11    bne.s done12    btst #3,0x62(%a0)13    bne.s done14    move.b 0xFFFFC2EA,%d015    andi.b #0x11,%d016    bne.s done17    tst.w 0xFFFFD41218    bne.s done19    btst #0,0xFFFFC2FA20    bne.s done21    btst #2,0xFFFFC2F222    bne.s done23    tst.w 0xFFFFF06424    beq.s done25    move.w 0x52(%a0),%d026    cmp.w 0xFFFFB7AA,%d027    bne.s done28    cmp.w 0xFFFFF066,%d029    bne.s done30    | Negative means the native timeout event is already queued, even if its31    | visible whistle flag is not set yet. Preserve that committed timeout.32    tst.w 0x48(%a0)33    bmi.s done34    cmpi.w #4,0x48(%a0)35    bge.s done36    move.w #4,0x48(%a0)37done:38    move.l (%sp)+,%d039    move.w (%sp)+,%sr40    rts41