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.