Hallo,

eine kleine Routine, macht nichts anderes als über einen Adressbus 8 Pins abfragen ("Eingabeport") und dann an einem Ausgabebus ausgeben. Funktioniert einwandfrei - nur nicht, wenn das Anwählen des Eingabeports als Subroutine programmiert ist.

a) So läufts auf Atiny 2313 und Atmega8:

ldi Adresse, 1
out Adressbus,Adresse
START:
in Temp, Datenbus_in
out Magnetbus,Temp
rjmp START


b) So läufts auf Atiny 2313, aber nicht auf Atmega8:

rcall Tastatur
START:
in Temp, Datenbus_in
out Magnetbus,Temp
rjmp START
Tastatur:
ldi Adresse, 1
out Adressbus,Adresse
ret

Ich habe keine Ahnung, wo ich ansetzen muß. Bitte Hilfe!