PIC16C765

Gast #19918
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
Gast #19919
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren