Gast
#136013
Hallo, ich habe folgendes kurze Problem finde, hoffe das mir jemand kurz auf die Sprünge helfen kann. Ich hole dazu mal kurz etwas weiter aus obwohl es ja ein sehr kurzer Code ist. Ich frage eine Pin(Taktleitung) ab ob er high ist, wenn ja wird die Datenleitung auch mit sbis abgefragt, wenn ja soll mir das HSB oder LSB eines Registers gesetzt werden. Danach geht das Programm wieder von vorne los und soll das 2te Bit des Registern je nach Zustand der Datenleitung auf 0 oder 1 setzen. Das ganze geschieht insg. 8 mal bis das Byte komplett ist danach wird das Register auf einen Port mit Leds ausgegeben. Die Verzweigungen im Programm funktionieren, ich suche nur nach dem Befehl ein Bit an die xte Stelle eines Bytes(Registers) zu setzten. Gibt es auch die Möglichkeit die Stelle hochzuzählen. Stelle mir das so vor. Speichere Bit nach R16 an die Stelle x X=X+1 IF X=8 GOTO Ausgabe Speichere Bit nach R16 an die Stelle x X=X+1 IF X=8 GOTO Ausgabe Ich sehe sonst nur die Lösung das so zu machen mit sbis abfragen, das dann zu einen SET Befehl gesprungen wird der mit das T-Flag setzt dieses wird dann an die passende Stelle gesetzt wobei ich die ja nicht hochzählen kann, oder gibts da irgendwie eine Variable wie in Basic so das ich die Bitstelle einfach inkrementieren kann. main: sbis Pinb,1 rjmp main set bld r16,0 ... set bld r16,1 ... set bld r16,2