                    00001           ;TPicSim2
                    00002           ;Programm zum Test des 16F84-Simulators.
                    00003           ;Es werden CALL, GOTO, RETLW, RETURN geprüft (kein RETFIE)
                    00004           ;(c) St. Lehmann
                    00005           ;Ersterstellung: 23.03.2016
                    00006           ;
                    00007           list c=132          ;Zeilenlänge im LST auf 132 Zeichen setzen
                    00008           
                    00009           ;Definition einiger Symbole
                    00010           ;zuerst Hardware-Register
                    00011           status   equ 03h
                    00012           ra       equ 05h
                    00013           rb       equ 06h
                    00014           
                    00015           ;für den Benutzer frei verwendbare Register
                    00016           count    equ 0ch
                    00017           
                    00018           ;Definition des Prozessors
                    00019           device 16F84
                    00020             
                    00021           ;Festlegen des Codebeginns
                    00022           org 0
                    00023  loop     
0000 3011           00024           movlw 11h           ;in W steht nun 11h, Statusreg. unverändert
0001 2006           00025           call up1            ;beim Call wird Rücksprungadresse auf Stack gelegt
0002 0000           00026           nop                 ;W = 36h, C=0, DC=0, Z=0
0003 2008           00027           call up2            ;in W steht der Rückgabewert
0004 0000           00028           nop                 ;W = 77h, DC=0, C=0, Z=0;
0005 2800           00029           goto loop
                    00030           
                    00031           ;UP1 zählt zu W den Wert 25h hinzu und kehrt mit RETURN zurück
0006 3E25           00032  up1      addlw 25h           ;W = 36h, DC=0, C=0, Z=0
0007 0008           00033           return
                    00034             
                    00035           ;UP2 kehrt mit der Konstanten 77h zurück
0008 3477           00036  up2      retlw 77h
                    00037           
                    00038  ende     
0009 2809           00039           goto ende           ;Endlosschleife, verhindert Nirwana
                    00040           
                    00041             
