Forum: Mikrocontroller und Digitale Elektronik PIC16C765


von Bernd Kallfelz (Gast)


Lesenswert?

Hallo alle,
ich bin ein Neuling im Assemblergebiet. Fange gerade an ihn zu 
programmieren, für meine Techniker Schule.
Kennt jemand gute Links für mich? Ich suche einen Weg, eine IF- ELSE 
Verzweigung zu programmieren, finde allerdings keinen Weg. Ich hoffe, es 
kennt jemand einen Weg, und teilt ihn mir mit.
Danke im vorraus

Bernd

von thkaiser (Gast)


Lesenswert?

Ich kenne den PIC-Befehlssatz leider nicht, aber prinzipiell sieht das 
in Atmel-Assembler so aus:


cpi r16,'A'   ;Vergleiche Register 16 mit Ascii "A"
breq then

<hier den Else-Code rein>
rjmp endif

then:
<hier den Then-Code rein>

endif:

<weiterer Programmcode>

Man muß bei Assembler immer mit irgendwelchen Flags arbeiten, die bei 
arithmetischen oder logischen Operationen entsprechend gesetzt werden. 
Im obigen Beispiel wird intern eine Subtraktion ausgeführt (allerdings 
ohne den Registerinhalt zu verändern), die bei Gleichheit beider 
Parameter eine Null als Ergebnis hat. Dadurch wird das Zero-Flag 
gesetzt, das mit dem Befehl BREQ (springe, wenn Zero gesetzt oder Branch 
on Equal) abgefragt werden kann, um bedingt in einen anderen 
Programmteil zu springen. Welche Befehle diese Funktionen beim PIC 
durchführen, müßte in den Datenblättern stehen.

Hoffe, Dir damit geholfen zu haben.

von Stark Erhard (Gast)


Lesenswert?

Hallo,
schau auf "www.sprut.de" nach, da wird alles erklärt.

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.