Forum: Mikrocontroller und Digitale Elektronik PIC Assembler zwei Werte vergleichen!


von Even Longer (Gast)


Lesenswert?

Hallo zusammen,

hab mal eine Frage..
Momentan programmiere ich den PIC16F870 mit Assembler!
Ich möchte überprüfen ob ein Wert kleiner als 5 ist. Doch irgendwie 
finde ich keine dazu geeignete Befehle.
Kann mir da jemand helfen?

Gruss und Dankeschön

Even

von Stefan (Gast)


Lesenswert?

- Den Wert von 5 subtrahieren
- negative Flag überprüfen
- ggf. verzweigen

von Severino R. (severino)


Lesenswert?

Du musst den Wert (in W) von 5 abziehen:
SUBLW 5
Wenn W grösser als 5 war, gibt es einen Übertrag. Dadurch wird das 
Carry-Flag gesetzt (C-Flag). Dieses kannst Du nun auswerten:
BTFSC STATUS, C

von Even Longer (Gast)


Lesenswert?

danke schon mal..
doch bin mir momentan gerade unsicher, wenn ich den wert der 
speicherzelle f in das register W lade, ist der Wert dann in der 
speicherzelle f noch enthalten oder nur noch in W?

von Eduard (Gast)


Lesenswert?

Der Befehl ist in beiden Speicherzellen enthalten!

von Severino R. (severino)


Lesenswert?

Even Longer wrote:
> danke schon mal..
> doch bin mir momentan gerade unsicher, wenn ich den wert der
> speicherzelle f in das register W lade, ist der Wert dann in der
> speicherzelle f noch enthalten oder nur noch in W?

Er ist in f noch enthalten.

Aber das Resultat der Subtraktion SUBLW steht dann in W und überschreibt 
somit den alten Wert. Was aber kein Problem sein sollte, wenn Du den 
alten Wert ja noch in f hast.

von Even Longer (Gast)


Lesenswert?

ah ok, stimmt. danke, hatte kleines blackout..=)

von Even Longer (Gast)


Lesenswert?

noch kurz eine andere Frage, hat jemand einen Generator um 
Flussdiagramme zu erstellen?=)

von Severino R. (severino)


Lesenswert?

Even Longer wrote:
> noch kurz eine andere Frage, hat jemand einen Generator um
> Flussdiagramme zu erstellen?=)

Und was hat diese Frage nun mit dem Thread zu tun?

Willst Du nicht einen neuen Thread starten mit einem passenden Betreff, 
ev. in "PC Hard- & Software"?

Vielleicht kannst Du auch dazu schreiben, ob Du Flussdiagramme zeichnen 
willst oder ob sie aus einem Source-Code (welche Sprache?) generiert 
werden sollen.

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.