Hallo, noch eine Frage von mir ;-) Ich bin gerade ein wenig am Programmieren, und jetzt stellt sich mir die Gegebenheit, dass ich 2 Register vergleichen will, und wenn sie gleich sind, soll der in der nächsten Zeile stehende Befehl ausgeführt werden... Einen solchen Assembler Befehl gibt es aber nicht! (AT90S2313) Es gibt nur CPSE->Compare, Skip if Equal Was ich bräuchte wäre "Compare, Skip if NOT Equal". Ich überlege schon ne ganze Weile nach einem Workaround, aber das einzige was bis jetzt geklappt hat war mit den branch-Befehlen, aber dafür brauche ich dann ja wieder eine Sprungmarke, was das ganze unelegant macht. Wäre nett, wenn jemand ein paar Zeilen dazu schreiben würde... ciao Christian
Hallo Christian, > Es gibt nur CPSE->Compare, Skip if Equal > > Was ich bräuchte wäre "Compare, Skip if NOT Equal". gibts leider net. > Ich überlege schon ne ganze Weile nach einem Workaround, aber > das einzige was bis jetzt geklappt hat war mit den > branch-Befehlen, aber dafür brauche ich dann ja wieder eine > Sprungmarke, was das ganze unelegant macht. Du brauchst nicht unbedingt Sprungmarken um zu springen. Mit <b>brne PC+2</b> wird z.B. der nächste Befehl übersprungen, wenn der Vergleich negativ ausfällt. <b>PC</b> bedeutet "Program Counter", <b>PC+2</b> sagt dem Assembler, dass du 2 Adressen nach vorne springen möchtest. Am besten mal im AVR-Studio ausprobieren. MfG Andreas
Danke für die Antwort, dass mit dem PC+... ist um einiges elleganter als mit der Marke ;-) ciao Christian
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.