Danke für eure Bemühungen. Ich habe die Lösung für den Assembler gefunden.
Alles, was über die Adresse 3f adressiert wird, geht nur über eine indirekte Adressierung z.B. über das Register Z.
Beispiel:
;Datenrichtungsregister definieren
ldi r16, 0x01 ;r16 mit 01 laden
ldi zh, high(ddrk) ;High-Adresse von ddrk nach zh
ldi zl, low(ddrk) ;Low-Adresse von ddrk nach zl
st z, r16 ;Das Datenrichtungsregister k (ddrk) Bit 0 wird aus Ausgang, Bit 1...7 auf Eingang gesetzt
;Ausgang einschalten
ldi r16, 0x01 ;r16 mit 01 laden
ldi zh, high(portk) ;High-Adresse von portk nach zh
ldi zl, low(ddrk) ;Low-Adresse von portk nach zl
st z, r16 ;Das Port k Bit 0 wird eingeschaltet
Gruß Gucky
Lesezeichen