Forum: Mikrocontroller und Digitale Elektronik Assebler Hilfe gebraucht


von Oliver (Gast)


Lesenswert?

Hallo zusammen,
Wie kann man das eleganter schreiben?:

sbi DDRC,0
sbi DDRC,1
sbi DDRC,2
cbi PortC,0
cbi PortC,1
cbi PortC,2
; Wichtig ist, das die anderen Portpins nicht beeinflusst werden. Mit ;
folgenden Befehlen würde ich ja die Andereen beeinflussen:
ldi temp,0b00000111
out DDRC,temp
clr temp
out PortC
; irgendwie muss ich glaub ich erst die Ports einlesen und dann...?

Oliver

von Volkmar (Gast)


Lesenswert?

Lange kein Assembler mehr gemacht, aber so sollte es gehen:
in temp,DDRC
ori temp,0b00000111
out DDRC,temp
in temp,PORTC
ori temp,0b00000111
out PORTC,temp

Volkmar

von Sebastian (Gast)


Lesenswert?

ja dann nimmst du cbr,sbr... or(i)m and(i)

in temp,DDRC
ori temp,0b00000111
out DDRC,temp

;in temp,DDRC
;sbr temp,0b00000111
;out DDRC,temp

in temp,PORTC
andi temp,0b11111000
out PORTC,temp

;in temp,PORTC
;cbr temp,0b00000111
;out PORTC,temp

irgendwie so

von Denis (Gast)


Lesenswert?

in diesem speziellen fall ist variante 2 genauso lang und v1 wesentlich
übersichtlicher

von Oliver (Gast)


Lesenswert?

besten Dank!
@Denis: hast recht, aber es betrifft noch mehrere Portpins, deshalb so
umständlich.
Oliver

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.