                    00001           ;TPicSim9
                    00002           ;Programm zum Test des 16F84-Simulators.
                    00003           ;Funktion: SLEEP-Befehl
                    00004           ;(c) St. Lehmann   Ersterstellung: 31.03.2016
                    00005           ;Definition einiger Symbole
                    00006           
                    00007           list c=132          ;Zeilenlänge im LST auf 132 Zeichen setzen
                    00008           
                    00009           status   equ       03h
                    00010           rb       equ       06h
                    00011           var      equ       0ch
                    00012           liste1   equ       10h
                    00013           liste2   equ       11h
                    00014           liste3   equ       12h
                    00015           liste4   equ       13h
                    00016           
                    00017           ;Definition des Prozessors
                    00018           device    16F84
                    00019             
                    00020           ;Festlegen des Codebeginns
                    00021           org       0
                    00022           ;wenn mit eingeschaltetem Watchdog-Timer der SLEEP-Befehl aktiviert wird,
                    00023           ;dann wird das Programm nach ca. 2,3ms weiter laufen.
                    00024           
                    00025           ;wenn der Watchdog-Timer ausgeschaltet ist, beendet ein RESET den SLEEP-Modus
                    00026           
                    00027           ;Auch ein Interrupt an RB0 oder RB4 bis RB7 beendet den SLEEP-Modus
                    00028  start      
0000 018C           00029           clrf      var                 ;
0001 0E03           00030           swapf     status,w
0002 0090           00031           movwf     liste1              ;T0=1 , PD=1
0003 0063           00032           sleep                         ;warte bis Watchdogtimer anspricht
0004 0E03           00033           swapf     status,w
0005 0091           00034           movwf     liste2              ;T0=1 , PD=0 bei Watchdog-Timeout
                    00035           ;T0=0 , PD=0 bei RESET oder Interrupt
                    00036             
                    00037             
                    00038  ende     
0006 2806           00039           goto      ende         
                    00040             
