PIC16C765

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

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.