freetimer.s 459 B

12345678910111213141516171819202122232425262728
  1. .xdef OSVFreeTimer
  2. .text
  3. OSVFreeTimer:
  4. moveq.l #2,%d1
  5. moveq.l #-1,%d2
  6. lea.l 0x600001,%a1
  7. subq.w #1,%d0
  8. cmp.w %d1,%d0
  9. bcc.s .L__timer_ffai
  10. muls.w #12,%d0
  11. move.l 0x74,%a0
  12. cmp.l #132133782,(%a0,-4)
  13. bne.s .L__timer_fok
  14. move.l %d2,-32(%a0,%d0.w)
  15. move.l (%a0,-32),%d0
  16. and.l (%a0,-20),%d0
  17. addq.l #1,%d0
  18. bne.s .L__timer_fok
  19. bclr.b %d1,(%a1)
  20. move.l (%a0,-8),0x74:w
  21. bset.b %d1,(%a1)
  22. .L__timer_fok:
  23. moveq #1,%d0
  24. rts
  25. .L__timer_ffai:
  26. clr.w %d0
  27. rts