Hi,
15Jahre , sind ne ganze Menge 
Ich hab mal das ganze noch mit Unterprogranmm gemacht
Code:
w_temp EQU 0x70 ; context saving
status_temp EQU 0x71 ; context saving
INTSERV movwf w_temp ; W register retten
movf STATUS,w ; status register nach W register
movwf status_temp ; STATUS register retten
IntEnd movf status_temp,w ; STATUS register
movwf STATUS ; wieder herstellen
swapf w_temp,f
swapf w_temp,w ; W register wieder herstellen
;*****************************************************************
;Programm
;*****************************************************************
movlw 3
movwf 0x20 ; Speicherzelle wird die Zahl3 geladen
anf
btfsc PORTA, 0 ; Taster abfragen - Taster gedrückt -> zur Zählschleife
goto anf
;**************************************************************
call z_schleife ; Unterprogrammm aufrufen
;***************************************************************
t_los
btfss PORTA, 0 ;Taster abfragen - Taster los -> zum Counter
goto t_los
;***************************************************************
call z_schleife
;****************************************************************
decfsz 0x20, 1 ; Counter = 3
goto anf
bsf PORTB, 0
loop
goto loop
;************************Unterprogramm****************************
;20000 Takte
z_schleife
movlw d'100'
movwf 0x21
S2
movlw d'200'
movwf 0x22
S22
decfsz 0x22, 1
goto S22
decfsz 0x21, 1
goto S2
return
;******************************************************************
end
Ich glaube das würde auch ohne den Code am Anfang funktionieren, obwohl ich gar nicht weiss wie das benutzen kann^^ Code funktioniert aber habs getestet.
Kann mir jemand eklräen was man dabei beachten muss, robotcheck hat
was von W-Register retten geschrieben, was hat es damit auf sich ? Bei sprut konnt eich nix dazu finden sowie hier im Wiki, oder bin ich blind=? 
Mfg
Mfg
Lesezeichen