mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was soll das bedeuten?


Autor: Ron Napp (blitzgeist)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kann mir jemand erklären warum es hier einen Unterschied im disassembly 
listing gibt?

.
.
.

a = Eingang1 (zb Port A0)

b = Eingang2 (zb Port C2)

.
.
.

Das dazugehörige disassembly listing

.
.
.
a =  Eingang1; 
  5204    5080     MOVF 0xf80, W, ACCESS
  5206    0B01     ANDLW 0x1
  5208    0100     MOVLB 0
  520A    6FE0     MOVWF 0xe0, BANKED

b =  Eingang2;
  5216    5082     MOVF 0xf82, W, ACCESS
  5218    0B04     ANDLW 0x4
  521A    E001     BZ 0x521e
  521C    0E01     MOVLW 0x1
  521E    0100     MOVLB 0
  5220    6FE0     MOVWF 0xe0, BANKED

Ich verstehe da soweit alles, nur den Sinn und Zweck der zwei Zeilen 
nicht
 5218    0B04     ANDLW 0x4
 521A    E001     BZ 0x521e

Kann mir jemdand das erklären, was sich der Compiler dabei gedacht hat?
PIC18F2250, C18 Compiler.

lg,
blitzgeist

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Ergebnis in a bzw. b ist ein boolscher Wert, also 0 oder 1.

Wenn Du Bit 0 einliest enthält das wreg nach dem ANDLW 0x1 schon den 
richtigen Wert.

Bei dem zweiten Beispiel steht aber nach dem ANDLW 0x4 entweder 0 oder 4 
im wreg, bei 4 wird MOVLW 0x1 ausgeführt und bei 0 wird es übersprungen.
Als Folge enthält wreg dann auch wieder 0 oder 1.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.