Hallo ich weis meine Fragen sind simpel, aber ich komme nicht weiter und im Chat ist auch keiner. Ich erhöhe eine Speicherzelle immer um 1 mit INCFSZ 0x25,1 Wie kann ich abfragen, wenn in der Speicherzelle 99 steht. Geht das nur mit einer AND Verknüpfung oder so ? Ein paar Zeilen währen hilfreich. (Prinzip: IF 0x25 = 99 Then.......nur in Assembler halt) Vielen Dank!
Du solltest dazu schreiben, um welche Architektur es geht. Gibt es keinen Opcode für "cmp", "compare", "compare immediate" oder ähnliches?
> Gibt es keinen Opcode für "cmp", "compare", "compare immediate" > oder ähnliches? Bei den PICs nicht. Da geht's offenbar nur über Subtraktion oder XOR. Also: MOVLW 99, SUBFW/XORWF und das Z-Flag testen.
Hallo Mario wenn du eine Variable um 1 erhöhen willst verwende den Befehl INCF 0x25,1 abfrage ob = 99 ist dann movlw .99 ; Dez 99 xorwf 0x25,0 ; Z-Flag wird bei Gleichheit gesetzt btfsc STATUS,Z ; überspringe nächsten Befehl wenn ungleich goto ziel ; verzweige zur adresse zB.ziel wenn gleich nop ; hier geht dan Programmm weiter (nop ist nur ; ein Beispiel.) mfg Harald
Hallo @Harald Vielen Dank dafür !! Jetzt sieht die Welt schon wieder anders aus. Ich muss halt immer wieder Probieren ob es funktioniert, und wenn nicht, dann kann der Fehler ja sonnst wo liegen. Also besten Dank nochmals !!!
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.