home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / develop / as65 / demo / s1 / watchdog.asm < prev   
Assembly Source File  |  1995-02-27  |  2KB  |  77 lines

  1. ;**************************************************************************
  2. ;
  3. ; Filename : WATCHDOG.ASM
  4. ; -----------------------
  5. ;
  6. ; (c) 1990 by Thomas Lehmann
  7. ;
  8. ;
  9. ; Jackophone V5.00
  10. ;
  11. ;
  12. ; Software Watchdog
  13. ;
  14. ;
  15. ;**************************************************************************
  16.  
  17. MODUL_START    set    *    ; Größe des Moduls berechnen
  18.  
  19. ; =========================================================================
  20. ;
  21. ; Funktion    : Software Watchdog
  22. ;    : wird Zyklisch aufgerufen
  23. ;    : RESET wenn IRQ oder Main Prg. stehenbleibt
  24. ;
  25. ; Eingang    : --------
  26. ;
  27. ; Ausgang    : --------
  28. ;
  29. ; Register    : --------
  30. ;
  31. ; (c) by Thomas Lehmann Februar 1991
  32. ;
  33. ; =========================================================================
  34.  
  35.     ; =======================
  36.     ; Einsprung von Main Prg.
  37.     ; =======================
  38. watchdog_m;    pha
  39.     inc main_watch    ; Main Prg. läuft, fürs IRQ Prg.
  40.     lda irq_watch    ; läuft IRQ ?
  41.     bne watch_ok    ; ja
  42.  
  43.     dec main_wait    ; Zeit zum nachtriggern lassen
  44.     bne watch_end    ; Zeit noch nicht abgelaufen
  45.  
  46. ;    jmp init_stk    ; RESET, IRQ steht
  47.  
  48. watch_ok    stz main_wait
  49.     stz irq_watch    ; wird vom Main Prg. nachgetriggert
  50. watch_end;    pla
  51.     rts
  52.  
  53.  
  54.  
  55.     ; ======================
  56.     ; Einsprung von IRQ Prg.
  57.     ; ======================
  58. watchdog_i    inc irq_watch    ; IRQ läuft, fürs Main Prg.
  59.     lda main_watch    ; läuft Main Prg. ?
  60.     bne irq_w_ok    ; ja
  61.  
  62.     dec irq_wait    ; Zeit zum nachtriggern lassen
  63.     bne watch_end    ; Zeit noch nicht abgelaufen
  64.  
  65. ;    jmp init_stk    ; RESET, Main Prg. steht
  66.  
  67. irq_w_ok    stz irq_wait
  68.     stz main_watch    ; wird vom Main Prg. nachgetriggert
  69.     rts
  70.  
  71.  
  72. ; --------------------------------------------------------------------------
  73.  
  74. HLP    set    *
  75. _MAIN_WATCH    equ    HLP-MODUL_START        ; Größe des Moduls
  76.  
  77.