Hallo kalledom!

Ich habe es jetzt so:
Code:
@RAM		movlw	0x9E		<- hier wird auf RC2 und RC3 als Eingänge umgeschaltet
		movwf	TRISC
		goto	$+2		<- hier wird 3xNOP abgewartet (3x0.1µs bei 40MHz PLL/4)		
		movf	PORTC,0
		andlw	0x0C
		btfss	_Z
		goto	@Out		<- hier wird zurück RC2 und RC3 auf Ausgänge umgeschaltet falls die beiden Taster H sind
		movlw	0x92		<- hier wird auf Ausgänge zurückgeschaltet falls die beiden Taster L sind und weiter gelaufen
		movwf	TRISC
		movff	DTmp6,STmp6	; aktives Display sichern
		movlw	2		; Display2
		movwf	DTmp6		; aktivieren
		lfsr	FSR2,0x060
		call	@2nd
		call	@Line
		call	@4th
		call	@Line
		movff	STmp6,DTmp6	; aktives Display wiederherstellen
@Out		movlw	0x92		<- bei diesem Wert arbeitet Display mit RC 2 und RC3 als Ausgänge
		movwf	TRISC
		return
und es funktioniert.

Vorher habe ich so erfolglos versucht:
Code:
@RAM		movf	TRISC,0
		iorlw	0x0C		<- hier wird auf RC2 und RC3 als Eingänge umgeschaltet
		movwf	TRISC
		movf	PORTC,0
		andlw	0x0C
		btfss	_Z
		goto	@Out		<- hier wird zurück RC2 und RC3 auf Ausgänge umgeschaltet falls die beiden Taster H sind
		call	@Out		<- hier wird auf Ausgänge zurückgeschaltet falls die beiden Taster L sind und weiter gelaufen
		movff	DTmp6,STmp6	; aktives Display sichern
		movlw	2		; Display2
		movwf	DTmp6		; aktivieren
		lfsr	FSR2,0x060
		call	@2nd
		call	@Line
		call	@4th
		call	@Line
		movff	STmp6,DTmp6	; aktives Display wiederherstellen
@Out		movf	TRISC,0
		andlw	0xF3
		movwf	TRISC
		return
Dort, wo jetzt goto $+2 (quasi 3xNOP) ist, habe ich vorher bis zu 10xNOP
probiert und hat´s nicht funktioniert. Für mich geht eindeutich die Änderung des TRIS Registers mit OR und AND nicht.

Vielleicht fällt Dir was ein ?. Ich habe damit kein Problem mehr.

Schöne Grüsse !