1. Kann das Zeroflag nach erfolgtem Branch weiterverwendet werden. Ich möchte damit Sprünge kaskadieren, die außerhalb der Reichweite für rel. jumps liegen. Bsp: tst a breq p21 ... tst a p21: breq p22 ... p22: 2. Das Manual ist für mich nicht eindeutig. Kann ich ein Output-Bit über ein in rx, pinb einlesen? Bsp: ldi r16,0x55 out portb, r16 nop in r17, pinb Ist r17 dann 0x55? Danke.
2. nein, in r17, PORTB ist dann 0x55 in r17, PINB ist exakt das was an Pegeln an den Eingängen anliegt. 1.) Ja kannst du kaskadieren, mache ich auch so. Allerdings ist es quasi ein "mieser Trick" weil es einen Source weniger gut wartbar macht. Dh. das was in einem Source steht sollte normalerweise explizit und aussagekräfting sein. Kaskadierst du solche Sprünge dann besteht die Gafahr das wenn du inerhalb dieser Kette was veränderst damit auch an andere Stelle das Verhalten unabsichtlich veränderst. Ist also ein Trick den man nur anwenden sollte wenn es auf jedes Byte FLASH Speicher ankommt. Gruß Hagen
vinculum wrote: > 1. Kann das Zeroflag nach erfolgtem Branch weiterverwendet werden. Ich > möchte damit Sprünge kaskadieren, die außerhalb der Reichweite für rel. > jumps liegen. Ja, kann man. Wieso auch nicht, der breq-Befehl ändert den Inhalt des SREG ja nicht... > 2. Das Manual ist für mich nicht eindeutig. Kann ich ein Output-Bit über > ein in rx, pinb einlesen? Ja, kannst Du. > Bsp: > ldi r16,0x55 > out portb, r16 > nop > in r17, pinb > > Ist r17 dann 0x55? Nicht unbedingt, denn eine externe Komponente könnte die Port-Pins mit mehr Kraft (sprich: Strom) auf GND ziehen. Aber prinzipiell geht das. Nur - wozu? :) Gruss, Torsten
Vielen Dank erstmal. <Nur - wozu?> Ein Software-Zähler steuert die Output-Pins 0-3 zyklisch an. Auf 4-7 liegen Inputs. Ich spare mir dann das Halten des Zählerstandes in einer Variablen. Beim asynchronen Einlesen sind input und Zählerstand gleich in einem byte vorhanden. So ähnlich wie eine Tastaturmatrix.
Hallo, wenn es lesbarer bleiben soll: Bsp: tst a brne p21 rjmp p22 p21: ... tst a brne p21a rjmp p22 p21a: ... p22: Gruß aus Berlin Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.